changeset 20:636dad238b63 NGINX_0_1_10

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.
author Igor Sysoev <http://sysoev.ru>
date Fri, 26 Nov 2004 00:00:00 +0300
parents dfbfd82a5623
children 4eeb9cfef970
files CHANGES CHANGES.ru src/core/nginx.h src/core/ngx_config.h src/http/ngx_http_parse.c src/os/unix/ngx_linux_config.h
diffstat 6 files changed, 30 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- 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
 
--- 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
 
--- 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"
--- a/src/core/ngx_config.h
+++ b/src/core/ngx_config.h
@@ -11,13 +11,6 @@
 #include <ngx_auto_headers.h>
 
 
-#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_ */
--- 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
--- a/src/os/unix/ngx_linux_config.h
+++ b/src/os/unix/ngx_linux_config.h
@@ -61,7 +61,7 @@
 #include <sys/sendfile.h>
 #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