summaryrefslogtreecommitdiffhomepage
path: root/src/os/win32/ngx_files.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2020-06-22Cache: introduced min_free cache clearing.Maxim Dounin1-0/+13
Clearing cache based on free space left on a file system is expected to allow better disk utilization in some cases, notably when disk space might be also used for something other than nginx cache (including nginx own temporary files) and while loading cache (when cache size might be inaccurate for a while, effectively disabling max_size cache clearing). Based on a patch by Adam Bambuch.
2018-12-24Win32: removed NGX_DIR_MASK concept.Maxim Dounin1-3/+18
Previous interface of ngx_open_dir() assumed that passed directory name has a room for NGX_DIR_MASK at the end (NGX_DIR_MASK_LEN bytes). While all direct users of ngx_dir_open() followed this interface, this also implied similar requirements for indirect uses - in particular, via ngx_walk_tree(). Currently none of ngx_walk_tree() uses provides appropriate space, and fixing this does not look like a right way to go. Instead, ngx_dir_open() interface was changed to not require any additional space and use appropriate allocations instead.
2017-08-09Style.Sergey Kandaurov1-0/+1
2014-08-03Style: use ngx_free() instead of free().Tatsuhiko Kubo1-1/+1
2014-07-05Win32: ngx_open_dir() and ngx_close_dir() fixes.Maxim Dounin1-0/+13
The ngx_open_dir() function changed to restore name passed to it. This fixes removing destination directory in dav module, as caught by dav.t. The ngx_close_dir() function introduced to properly convert errors, as FindClose() returns 0 on error.
2014-01-04Win32: support for UTF-16 surrogate pairs (ticket #457).Maxim Dounin1-2/+21
2013-10-31Win32: plugged memory leak.Maxim Dounin1-0/+2
2012-06-25Style.Maxim Dounin1-1/+1
2012-06-05Win32: disallowed access to various non-canonical name variants.Maxim Dounin1-33/+164
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.
2012-03-28Fixed win32 build after realpath changes in r4559.Maxim Dounin1-2/+2
2012-01-18Copyright updated.Maxim Konovalov1-0/+1
2011-08-22Fix buffer overrun under Windows.Maxim Dounin1-1/+2
2010-06-29ngx_create_file_mapping()Igor Sysoev1-0/+92
2010-06-14do not free() stack allocated bufferIgor Sysoev1-1/+0
2010-03-03compare long file names in case-insensitive mode,Igor Sysoev1-1/+1
the bug had been introduced in r3418
2010-01-28disable Win32 short file namesIgor Sysoev1-14/+50
2009-12-15fix Win32 error messages when an temporary file replaces an existent file:Igor Sysoev1-12/+6
*) do not rename an already renamed file *) now ngx_win32_rename_file() returns error code *) do not log failure inside ngx_win32_rename_file()
2009-10-14*) reset cached dirent.d_type after stat()Igor Sysoev1-1/+1
this fixes slash after link to a directory in ngx_http_autoindex_module; *) use cached dirent.d_type as hint on all systems the issues has been introduced in r2235
2009-09-30read_aheadIgor Sysoev1-0/+7
2009-09-25uniform ngx_directio_on/off() interface with other file functionsIgor Sysoev1-2/+2
2009-09-24test incomplete WriteFile()Igor Sysoev1-0/+7
2009-09-24log file name for read/write errorsIgor Sysoev1-2/+4
2009-09-24delete Win95 codeIgor Sysoev1-90/+12
2009-09-16win32 ngx_file_info() utf8 supportIgor Sysoev1-4/+16
2009-09-16preserve errno while ngx_free()Igor Sysoev1-3/+6
2009-07-13handle Win32 ReadFile() EOF state in Unix wayIgor Sysoev1-1/+7
2009-05-29fix logging in ngx_win32_rename_file()Igor Sysoev1-3/+7
2009-05-29add trailing zero to a file nameIgor Sysoev1-1/+1
2009-04-29uniform ngx_file_info() interface with ngx_fd_info()Igor Sysoev1-2/+2
2009-04-28introduce ngx_write_console() to support OEM code pagesIgor Sysoev1-0/+15
2009-04-08delete win32 ngx_file_append_mode() as we use reliableIgor Sysoev1-25/+0
FILE_APPEND_DATA|SYNCHRONIZE flags
2009-03-30win32 ngx_open_file() supports utf8 names and NGX_FILE_APPENDIgor Sysoev1-0/+111
2009-03-30ngx_fs_bsize()Igor Sysoev1-0/+20
2009-01-21use GetFileAttributesEx() instead of GetFileAttributes()Igor Sysoev1-21/+2
2009-01-21fix r1981 on win32Igor Sysoev1-3/+8
2008-09-27$realpath_rootIgor Sysoev1-0/+8
2008-09-12disable directio for unaligned reads in LinuxIgor Sysoev1-1/+7
2008-09-05*) autoconfigure struct dirent capabilitiesIgor Sysoev1-0/+1
*) move src/os/.../ngx_types.h's content into src/os/.../ngx_files.h and delete src/os/.../ngx_types.h
2008-08-04fix building by bcc broken in r2130Igor Sysoev1-0/+7
2008-04-29ignore glob no match errorIgor Sysoev1-0/+14
2007-12-07use malloc() in ngx_win32_rename_file, set crit level instead of errorIgor Sysoev1-5/+7
2007-11-11fix win32 ngx_read_fd() and ngx_write_fd()Igor Sysoev1-0/+26
2007-11-11fix win32 globIgor Sysoev1-5/+45
2007-01-18style fixIgor Sysoev1-2/+1
2007-01-18axe Win9X codeIgor Sysoev1-8/+3
2006-10-02glob support in includeIgor Sysoev1-2/+60
2006-08-30nginx-0.4.0-RELEASE importrelease-0.4.0Igor Sysoev1-3/+24
*) Change in internal API: the HTTP modules initialization was moved from the init module phase to the HTTP postconfiguration phase. *) Change: now the request body is not read beforehand for the ngx_http_perl_module: it's required to start the reading using the $r->has_request_body method. *) Feature: the ngx_http_perl_module supports the DECLINED return code. *) Feature: the ngx_http_dav_module supports the incoming "Date" header line for the PUT method. *) Feature: the "ssi" directive is available inside the "if" block. *) Bugfix: a segmentation fault occurred if there was an "index" directive with variables and the first index name was without variables; the bug had appeared in 0.1.29.
2005-11-15nginx-0.3.10-RELEASE importrelease-0.3.10Igor Sysoev1-4/+4
*) Change: the "valid_referers" directive and the "$invalid_referer" variable were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module. *) Change: the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent". *) Feature: the "$sent_http_..." variables. *) Feature: the "if" directive supports the "=" and "!=" operations. *) Feature: the "proxy_pass" directive supports the HTTPS protocol. *) Feature: the "proxy_set_body" directive. *) Feature: the "post_action" directive. *) Feature: the ngx_http_empty_gif_module. *) Feature: the "worker_cpu_affinity" directive for Linux. *) Bugfix: the "rewrite" directive did not unescape URI part in redirect, now it is unescaped except the %00-%25 and %7F-%FF characters. *) Bugfix: nginx could not be built by the icc 9.0 compiler. *) Bugfix: if the SSI was enabled for zero size static file, then the chunked response was encoded incorrectly.
2005-10-12nginx-0.3.2-RELEASE importrelease-0.3.2Igor Sysoev1-11/+19
*) Feature: the Sun Studio 10 C compiler support. *) Feature: the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout" directives.
2005-03-19nginx-0.1.25-RELEASE importrelease-0.1.25Igor Sysoev1-1/+16
*) Bugfix: nginx did run on Linux parisc. *) Feature: nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn value is too big. *) Bugfix: if a request was internally redirected by the ngx_http_index_module module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules, then the index file was not closed after request completion. *) Feature: the "proxy_pass" can be used in location with regular expression. *) Feature: the ngx_http_rewrite_filter_module module supports the condition like "if ($HTTP_USER_AGENT ~ MSIE)". *) Bugfix: nginx started too slow if the large number of addresses and text values were used in the "geo" directive. *) Change: a variable name must be declared as "$name" in the "geo" directive. The previous variant without "$" is still supported, but will be removed soon. *) Feature: the "%{VARIABLE}v" logging parameter. *) Feature: the "set $name value" directive. *) Bugfix: gcc 4.0 compatibility. *) Feature: the --with-openssl-opt=OPTIONS autoconfiguration directive.