# HG changeset patch # User Igor Sysoev # Date 1101416400 -10800 # Node ID 636dad238b63a73c098447612ecc5c2a1bfbd207 # Parent dfbfd82a562358e0cb65a443eb6a5fe771aefb0b nginx 0.1.10 *) Bugfix: if the request without arguments contains "//", "/./", "/../" or "%XX" then the lost character in the request line was lost; bug appeared in 0.1.9. *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did not work. diff --git a/CHANGES b/CHANGES --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,13 @@ + +Changes with nginx 0.1.10 26 Nov 2004 + + *) Bugfix: if the request without arguments contains "//", "/./", "/../" + or "%XX" then the lost character in the request line was lost; bug + appeared in 0.1.9. + + *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did not + work. + Changes with nginx 0.1.9 25 Nov 2004 diff --git a/CHANGES.ru b/CHANGES.ru --- a/CHANGES.ru +++ b/CHANGES.ru @@ -1,3 +1,13 @@ + +Изменения в nginx 0.1.10 26.11.2004 + + *) Исправление: если в запросе без аргументов есть "//", "/./", "/../" + или "%XX", то терялся последний символ в строке запроса; ошибка + появилась в 0.1.9. + + *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux + не работало. + Изменения в nginx 0.1.9 25.11.2004 diff --git a/src/core/nginx.h b/src/core/nginx.h --- a/src/core/nginx.h +++ b/src/core/nginx.h @@ -8,7 +8,7 @@ #define _NGINX_H_INCLUDED_ -#define NGINX_VER "nginx/0.1.9" +#define NGINX_VER "nginx/0.1.10" #define NGINX_VAR "NGINX" #define NGX_NEWPID_EXT ".newbin" diff --git a/src/core/ngx_config.h b/src/core/ngx_config.h --- a/src/core/ngx_config.h +++ b/src/core/ngx_config.h @@ -11,13 +11,6 @@ #include -#if ((__GNU__ == 2) && (__GNUC_MINOR__ < 8)) -#define NGX_MAX_UINT32_VALUE 0xffffffffLL -#else -#define NGX_MAX_UINT32_VALUE 0xffffffff -#endif - - #if defined __DragonFly__ && !defined __FreeBSD__ #define __FreeBSD__ 4 #define __FreeBSD_version 480101 @@ -135,4 +128,11 @@ typedef long ngx_flag_t; */ +#if ((__GNU__ == 2) && (__GNUC_MINOR__ < 8)) +#define NGX_MAX_UINT32_VALUE 0xffffffffLL +#else +#define NGX_MAX_UINT32_VALUE 0xffffffff +#endif + + #endif /* _NGX_CONFIG_H_INCLUDED_ */ diff --git a/src/http/ngx_http_parse.c b/src/http/ngx_http_parse.c --- a/src/http/ngx_http_parse.c +++ b/src/http/ngx_http_parse.c @@ -686,7 +686,7 @@ ngx_int_t ngx_http_parse_complex_uri(ngx ch = *p++; - while (p < r->uri_end && r->args_start == NULL) { + while (p <= r->uri_end && r->args_start == NULL) { /* * we use "ch = *p++" inside the cycle but this operation is safe diff --git a/src/os/unix/ngx_linux_config.h b/src/os/unix/ngx_linux_config.h --- a/src/os/unix/ngx_linux_config.h +++ b/src/os/unix/ngx_linux_config.h @@ -61,7 +61,7 @@ #include #else extern ssize_t sendfile(int s, int fd, int32_t *offset, size_t size); -#define NGX_SENDFILE_LIMIT (NGX_MAX_UINT32_VALUE + 1) +#define NGX_SENDFILE_LIMIT 0x80000000 #endif