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">
<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">
<change type="bugfix">
@ -22,11 +38,11 @@ alerts.
<change type="bugfix">
<para lang="ru">
× ÒÅÖÉÍÅ ÐÒÏËÓÉ ÂÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ sendfile ÎÁ Solaris ×ÏÚÎÉËÁÌÁ
ÏÛÉÂËÁ "writev() failed (22: Invalid argument)". îÁ ÄÒÕÇÉÈ ÐÌÁÔÆÏÒÍÁÈ,
ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ sendfile, ÐÒÏÃÅÓÓ ÚÁÃÉËÌÉ×ÁÌÓÑ.
ÏÛÉÂËÁ "writev() failed <nobr>(22: Invalid argument)".</nobr>
îÁ ÄÒÕÇÉÈ ÐÌÁÔÆÏÒÍÁÈ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ sendfile, ÐÒÏÃÅÓÓ ÚÁÃÉËÌÉ×ÁÌÓÑ.
</para>
<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
support sendfile at all the process got caught in an endless loop.
</para>

View File

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

View File

@ -992,6 +992,11 @@ static int ngx_cmp_locations(const void *one, const void *two)
return 1;
}
if (!first->regex && second->regex) {
/* shift the regex matches to the end */
return -1;
}
if (first->regex || second->regex) {
/* do not sort the regex matches */
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 (value[1].len == 1 && value[1].data[0] == '=') {
clcf->name.len = value[2].len;
clcf->name.data = value[2].data;
clcf->name = value[2];
clcf->exact_match = 1;
} 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 {
clcf->name.len = value[1].len;
clcf->name.data = value[1].data;
clcf->name = value[1];
}
pclcf = pctx->loc_conf[ngx_http_core_module.ctx_index];