comparison src/http/ngx_http_request.c @ 589:01f2313e34f1 NGINX_0_8_40

nginx 0.8.40 *) Security: now nginx/Windows ignores default file stream name. Thanks to Jose Antonio Vazquez Gonzalez. *) Feature: the ngx_http_uwsgi_module. Thanks to Roberto De Ioris. *) Feature: a "fastcgi_param" directive with value starting with "HTTP_" overrides a client request header line. *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request header lines were passed to FastCGI-server while caching. *) Bugfix: listen unix domain socket could not be changed during reconfiguration. Thanks to Maxim Dounin.
author Igor Sysoev <http://sysoev.ru>
date Mon, 07 Jun 2010 00:00:00 +0400
parents 7fa8dc2315bd
children bc110f60c0de
comparison
equal deleted inserted replaced
588:6ad548c0b830 589:01f2313e34f1
786 { 786 {
787 u_char *p; 787 u_char *p;
788 788
789 p = r->uri.data + r->uri.len - 1; 789 p = r->uri.data + r->uri.len - 1;
790 790
791 if (*p == '.' || *p == ' ') { 791 while (p > r->uri.data) {
792 792
793 while (--p > r->uri.data && (*p == '.' || *p == ' ')) { 793 if (*p == ' ') {
794 /* void */ 794 p--;
795 continue;
795 } 796 }
796 797
798 if (*p == '.') {
799 p--;
800 continue;
801 }
802
803 if (ngx_strncasecmp(p - 6, (u_char *) "::$data", 7) == 0) {
804 p -= 7;
805 continue;
806 }
807
808 break;
809 }
810
811 if (p != r->uri.data + r->uri.len - 1) {
797 r->uri.len = p + 1 - r->uri.data; 812 r->uri.len = p + 1 - r->uri.data;
798
799 ngx_http_set_exten(r); 813 ngx_http_set_exten(r);
800 } 814 }
815
801 } 816 }
802 #endif 817 #endif
803 818
804 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, 819 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0,
805 "http request line: \"%V\"", &r->request_line); 820 "http request line: \"%V\"", &r->request_line);