nginx-0.1.6-RELEASE import

*) Bugfix: some location directive combinations with the regular
       expressions caused the wrong configuration choose.
This commit is contained in:
Igor Sysoev 2004-11-11 20:58:09 +00:00
parent 656f663caa
commit 2a3f490805
3 changed files with 27 additions and 8 deletions

View File

@ -6,6 +6,22 @@
title="nginx"> title="nginx">
<changes ver="0.1.6" date="11.11.2004">
<change type="bugfix">
<para lang="ru">
ÐÒÉ ÎÅËÏÔÏÒÙÈ ËÏÍÂÉÎÁÃÉÑÈ ÄÉÒÅËÔÉ× location c ÒÅÇÕÌÑÒÎÙÍÉ ×ÙÒÁÖÅÎÉÑÍÉ
ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ËÏÎÆÉÇÕÒÁÃÉÑ ÎÅ ÉÚ ÔÏÇÏ location.
</para>
<para lang="en">
some location directive combiations with the regular expressions caused
the wrong configuration choose.
</para>
</change>
</changes>
<changes ver="0.1.5" date="11.11.2004"> <changes ver="0.1.5" date="11.11.2004">
<change type="bugfix"> <change type="bugfix">
@ -22,11 +38,11 @@ alerts.
<change type="bugfix"> <change type="bugfix">
<para lang="ru"> <para lang="ru">
× ÒÅÖÉÍÅ ÐÒÏËÓÉ ÂÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ sendfile ÎÁ Solaris ×ÏÚÎÉËÁÌÁ × ÒÅÖÉÍÅ ÐÒÏËÓÉ ÂÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ sendfile ÎÁ Solaris ×ÏÚÎÉËÁÌÁ
ÏÛÉÂËÁ "writev() failed (22: Invalid argument)". îÁ ÄÒÕÇÉÈ ÐÌÁÔÆÏÒÍÁÈ, ÏÛÉÂËÁ "writev() failed <nobr>(22: Invalid argument)".</nobr>
ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ sendfile, ÐÒÏÃÅÓÓ ÚÁÃÉËÌÉ×ÁÌÓÑ. îÁ ÄÒÕÇÉÈ ÐÌÁÔÆÏÒÍÁÈ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ sendfile, ÐÒÏÃÅÓÓ ÚÁÃÉËÌÉ×ÁÌÓÑ.
</para> </para>
<para lang="en"> <para lang="en">
there were the "writev() failed (22: Invalid argument)" errors on there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on
Solaris in proxy mode without sendfile. On other platforms that do not Solaris in proxy mode without sendfile. On other platforms that do not
support sendfile at all the process got caught in an endless loop. support sendfile at all the process got caught in an endless loop.
</para> </para>

View File

@ -8,7 +8,7 @@
#define _NGINX_H_INCLUDED_ #define _NGINX_H_INCLUDED_
#define NGINX_VER "nginx/0.1.5" #define NGINX_VER "nginx/0.1.6"
#define NGINX_VAR "NGINX" #define NGINX_VAR "NGINX"
#define NGX_NEWPID_EXT ".newbin" #define NGX_NEWPID_EXT ".newbin"

View File

@ -992,6 +992,11 @@ static int ngx_cmp_locations(const void *one, const void *two)
return 1; return 1;
} }
if (!first->regex && second->regex) {
/* shift the regex matches to the end */
return -1;
}
if (first->regex || second->regex) { if (first->regex || second->regex) {
/* do not sort the regex matches */ /* do not sort the regex matches */
return 0; return 0;
@ -1061,8 +1066,7 @@ static char *ngx_location_block(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
if (cf->args->nelts == 3) { if (cf->args->nelts == 3) {
if (value[1].len == 1 && value[1].data[0] == '=') { if (value[1].len == 1 && value[1].data[0] == '=') {
clcf->name.len = value[2].len; clcf->name = value[2];
clcf->name.data = value[2].data;
clcf->exact_match = 1; clcf->exact_match = 1;
} else if ((value[1].len == 1 && value[1].data[0] == '~') } else if ((value[1].len == 1 && value[1].data[0] == '~')
@ -1098,8 +1102,7 @@ static char *ngx_location_block(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
} }
} else { } else {
clcf->name.len = value[1].len; clcf->name = value[1];
clcf->name.data = value[1].data;
} }
pclcf = pctx->loc_conf[ngx_http_core_module.ctx_index]; pclcf = pctx->loc_conf[ngx_http_core_module.ctx_index];