server_name "" support
Igor Sysoev
13 years ago
3093 | 3093 |
|
3094 | 3094 |
ch = value[1].data[0];
|
3095 | 3095 |
|
3096 | |
if (cscf->server_name.data == NULL && value[1].len) {
|
3097 | |
name = value[1];
|
3098 | |
|
3099 | |
if (ch == '.') {
|
3100 | |
name.len--;
|
3101 | |
name.data++;
|
3102 | |
}
|
3103 | |
|
3104 | |
cscf->server_name.len = name.len;
|
3105 | |
cscf->server_name.data = ngx_pstrdup(cf->pool, &name);
|
3106 | |
if (cscf->server_name.data == NULL) {
|
|
3096 |
if (cscf->server_name.data == NULL) {
|
|
3097 |
if (value[1].len) {
|
|
3098 |
name = value[1];
|
|
3099 |
|
|
3100 |
if (ch == '.') {
|
|
3101 |
name.len--;
|
|
3102 |
name.data++;
|
|
3103 |
}
|
|
3104 |
|
|
3105 |
cscf->server_name.len = name.len;
|
|
3106 |
cscf->server_name.data = ngx_pstrdup(cf->pool, &name);
|
|
3107 |
if (cscf->server_name.data == NULL) {
|
|
3108 |
return NGX_CONF_ERROR;
|
|
3109 |
}
|
|
3110 |
|
|
3111 |
} else {
|
|
3112 |
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
|
3113 |
"the first server name must not be empty");
|
3107 | 3114 |
return NGX_CONF_ERROR;
|
3108 | 3115 |
}
|
3109 | 3116 |
}
|
|
3112 | 3119 |
|
3113 | 3120 |
ch = value[i].data[0];
|
3114 | 3121 |
|
3115 | |
if (value[i].len == 0
|
3116 | |
|| (ch == '*' && (value[i].len < 3 || value[i].data[1] != '.'))
|
|
3122 |
if ((ch == '*' && (value[i].len < 3 || value[i].data[1] != '.'))
|
3117 | 3123 |
|| (ch == '.' && value[i].len < 2))
|
3118 | 3124 |
{
|
3119 | 3125 |
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
570 | 570 |
int
|
571 | 571 |
ngx_http_ssl_servername(ngx_ssl_conn_t *ssl_conn, int *ad, void *arg)
|
572 | 572 |
{
|
|
573 |
size_t len;
|
573 | 574 |
const char *servername;
|
574 | 575 |
ngx_connection_t *c;
|
575 | 576 |
ngx_http_request_t *r;
|
|
586 | 587 |
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0,
|
587 | 588 |
"SSL server name: \"%s\"", servername);
|
588 | 589 |
|
|
590 |
len = ngx_strlen(servername);
|
|
591 |
|
|
592 |
if (len == 0) {
|
|
593 |
return SSL_TLSEXT_ERR_NOACK;
|
|
594 |
}
|
|
595 |
|
589 | 596 |
r = c->data;
|
590 | 597 |
|
591 | |
if (ngx_http_find_virtual_server(r, (u_char *) servername,
|
592 | |
ngx_strlen(servername))
|
593 | |
!= NGX_OK)
|
594 | |
{
|
|
598 |
if (ngx_http_find_virtual_server(r, (u_char *) servername, len) != NGX_OK) {
|
595 | 599 |
return SSL_TLSEXT_ERR_NOACK;
|
596 | 600 |
}
|
597 | 601 |
|
|
1558 | 1562 |
ngx_http_core_srv_conf_t *cscf;
|
1559 | 1563 |
u_char buf[32];
|
1560 | 1564 |
|
1561 | |
if (len == 0 || r->virtual_names == NULL) {
|
|
1565 |
if (r->virtual_names == NULL) {
|
1562 | 1566 |
return NGX_DECLINED;
|
1563 | 1567 |
}
|
1564 | 1568 |
|