mirror of
https://github.com/nginx/nginx.git
synced 2025-06-29 18:50:39 +08:00
fix server_name regex named captures given by "?P<...>"
This commit is contained in:
parent
9f34ebe231
commit
a1b92a9659
@ -3507,16 +3507,16 @@ ngx_http_core_server_name(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
|||||||
sn->server = cscf;
|
sn->server = cscf;
|
||||||
sn->name = value[i];
|
sn->name = value[i];
|
||||||
|
|
||||||
ngx_strlow(sn->name.data, sn->name.data, sn->name.len);
|
|
||||||
|
|
||||||
if (value[i].data[0] != '~') {
|
if (value[i].data[0] != '~') {
|
||||||
|
ngx_strlow(sn->name.data, sn->name.data, sn->name.len);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (NGX_PCRE)
|
#if (NGX_PCRE)
|
||||||
{
|
{
|
||||||
ngx_regex_compile_t rc;
|
u_char *p;
|
||||||
u_char errstr[NGX_MAX_CONF_ERRSTR];
|
ngx_regex_compile_t rc;
|
||||||
|
u_char errstr[NGX_MAX_CONF_ERRSTR];
|
||||||
|
|
||||||
if (value[i].len == 1) {
|
if (value[i].len == 1) {
|
||||||
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
||||||
@ -3533,6 +3533,13 @@ ngx_http_core_server_name(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
|||||||
rc.err.len = NGX_MAX_CONF_ERRSTR;
|
rc.err.len = NGX_MAX_CONF_ERRSTR;
|
||||||
rc.err.data = errstr;
|
rc.err.data = errstr;
|
||||||
|
|
||||||
|
for (p = value[i].data; p < value[i].data + value[i].len; p++) {
|
||||||
|
if (*p >= 'A' && *p <= 'Z') {
|
||||||
|
rc.options = NGX_REGEX_CASELESS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sn->regex = ngx_http_regex_compile(cf, &rc);
|
sn->regex = ngx_http_regex_compile(cf, &rc);
|
||||||
if (sn->regex == NULL) {
|
if (sn->regex == NULL) {
|
||||||
return NGX_CONF_ERROR;
|
return NGX_CONF_ERROR;
|
||||||
|
Loading…
Reference in New Issue
Block a user