Welcome! Log In Create A New Profile

Advanced

[nginx] svn commit: r4675 - trunk/src/http

Anonymous User
June 05, 2012 09:38AM
Author: mdounin
Date: 2012-06-05 13:37:29 +0000 (Tue, 05 Jun 2012)
New Revision: 4675
URL: http://trac.nginx.org/nginx/changeset/4675/nginx

Log:
Win32: normalization of trailing dot inside uri.

Windows treats "/directory./" identical to "/directory/". Do the same
when working on Windows. Note that the behaviour is different from one
with last path component (where multiple spaces and dots are ignored by
Windows).


Modified:
trunk/src/http/ngx_http_parse.c

Modified: trunk/src/http/ngx_http_parse.c
===================================================================
--- trunk/src/http/ngx_http_parse.c 2012-06-05 13:36:09 UTC (rev 4674)
+++ trunk/src/http/ngx_http_parse.c 2012-06-05 13:37:29 UTC (rev 4675)
@@ -543,6 +543,13 @@

switch (ch) {
case '/':
+#if (NGX_WIN32)
+ if (r->uri_ext == p) {
+ r->complex_uri = 1;
+ state = sw_uri;
+ break;
+ }
+#endif
r->uri_ext = NULL;
state = sw_after_slash_in_uri;
break;
@@ -1117,6 +1124,12 @@
switch(ch) {
#if (NGX_WIN32)
case '\\':
+ if (u - 2 >= r->uri.data
+ && *(u - 1) == '.' && *(u - 2) != '.')
+ {
+ u--;
+ }
+
r->uri_ext = NULL;

if (p == r->uri_start + r->uri.len) {
@@ -1134,6 +1147,13 @@
break;
#endif
case '/':
+#if (NGX_WIN32)
+ if (u - 2 >= r->uri.data
+ && *(u - 1) == '.' && *(u - 2) != '.')
+ {
+ u--;
+ }
+#endif
r->uri_ext = NULL;
state = sw_slash;
*u++ = ch;

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] svn commit: r4675 - trunk/src/http

Anonymous User 793 June 05, 2012 09:38AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 254
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready