]> git.kaiwu.me - nginx.git/commit
Merge of r4674, r4675, r4676: win32 fixes.
authorMaxim Dounin <mdounin@mdounin.ru>
Tue, 5 Jun 2012 13:52:37 +0000 (13:52 +0000)
committerMaxim Dounin <mdounin@mdounin.ru>
Tue, 5 Jun 2012 13:52:37 +0000 (13:52 +0000)
commitb683a855ae3129c4374a13f4f0d3570e5d6a0ddb
treee65edfc703855ca82cd347e383fb6c9cf30b8d9d
parent4624fd5d195753c21a4859925925c9523e8b981c
Merge of r4674, r4675, r4676: win32 fixes.

*) Win32: disallowed access to various non-canonical name variants.

   This includes trailings dots and spaces, NTFS streams (and short names, as
   previously checked).  The checks are now also done in ngx_file_info(), thus
   allowing to use the "try_files" directive to protect external scripts.

*) 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).

*) Win32: uris with ":$" are now rejected.

   There are too many problems with special NTFS streams, notably "::$data",
   "::$index_allocation" and ":$i30:$index_allocation".

   For now we don't reject all URIs with ":" like Apache does as there are no
   good reasons seen yet, and there are multiple programs using it in URLs
   (e.g. MediaWiki).
src/http/ngx_http_parse.c
src/http/ngx_http_request.c
src/os/win32/ngx_files.c