summaryrefslogtreecommitdiffhomepage
path: root/src/core/ngx_file.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2010-05-14ngx_str_set() and ngx_str_null()Igor Sysoev1-2/+1
2010-03-30do not set file time in ngx_copy_file() if the time is -1,Igor Sysoev1-4/+6
this fixes an issue when file is moved across devices
2009-12-17fix Win32 error message when an temporary file replaces an existent file:Igor Sysoev1-0/+4
return at once if ngx_win32_rename_file() was not failed and do not try to delete already the renamed temporary file
2009-12-15fix Win32 error messages when an temporary file replaces an existent file:Igor Sysoev1-11/+1
*) 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-14ignore EACCES errors for top level directories in ngx_create_full_path()Igor Sysoev1-2/+11
2009-10-14do not create Win32 drive letter in ngx_create_full_path()Igor Sysoev1-1/+7
2009-08-21*) share temporary number between workersIgor Sysoev1-14/+9
*) randomize collision offset
2009-08-20test EXDEV after path creationIgor Sysoev1-1/+0
2009-08-20fix copy failure logging and stale files removal, introduced in r3025Igor Sysoev1-8/+17
2009-08-20fix copy destination name length, introduced in r3025Igor Sysoev1-2/+2
2009-08-13fix building on 64-bit platforms, introduced in r3025Igor Sysoev1-2/+2
2009-08-12allow cross device temporary files atomic copying:Igor Sysoev1-4/+170
*) ngx_copy_file() *) delete ngx_ext_rename_file_t.log_rename_error and .rename_error fields
2009-08-11NGX_ENOPATHIgor Sysoev1-15/+3
2009-08-10cache loader processIgor Sysoev1-1/+3
2009-05-28Win32 returns ERROR_PATH_NOT_FOUND instead of ERROR_FILE_NOT_FOUNDIgor Sysoev1-2/+8
2009-04-29uniform ngx_file_info() interface with ngx_fd_info()Igor Sysoev1-1/+3
2009-03-30introduce cache manager instead of cache cleanerIgor Sysoev1-2/+2
2009-03-23a prelimiary proxy cache supportIgor Sysoev1-1/+44
2009-02-24small optimization: " == NGX_ERROR" > " != NGX_OK"Igor Sysoev1-1/+1
2008-12-10use ngx_ext_rename_file() for single file MOVEIgor Sysoev1-7/+11
2008-06-17*) back out r2040Igor Sysoev1-1/+1
*) refactor ngx_palloc() *) introduce ngx_pnalloc() *) additional pool blocks have smaller header
2008-03-03C++ compatibilityIgor Sysoev1-1/+1
2008-01-03transform ngx_create_path_and_rename_file() to ngx_ext_rename_file()Igor Sysoev1-11/+19
2007-12-18comment ngx_walk_tree()Igor Sysoev1-0/+18
2007-12-17ngx_create_hashed_filename() does not need ngx_file_tIgor Sysoev1-16/+15
2007-12-17create the only cleanupIgor Sysoev1-5/+5
2007-12-10move condition declarations inside blocks where they are usedIgor Sysoev1-4/+3
2007-12-07ngx_create_path_and_rename_file()Igor Sysoev1-0/+83
2007-07-29--sysconfdir=DIRIgor Sysoev1-1/+1
2007-07-19fix potential double free(),Igor Sysoev1-2/+5
found by Coverity's Scan
2007-07-13proxy_store and fastcgi_store were changed,Igor Sysoev1-7/+3
proxy_store_access and fastcgi_store_access were added
2007-07-12proxy_store and fastcgi_storeIgor Sysoev1-0/+66
2007-01-29allocate less memory on 64-bit platformsIgor Sysoev1-1/+1
2007-01-29shorten temporary names on 64-bit platformsIgor Sysoev1-4/+4
2007-01-25undo "client_body_in_file_only any"Igor Sysoev1-3/+3
and introduce "client_body_in_file_only clean" introduce ngx_pool_delete_file() to not break a possible third-party ngx_pool_cleanup_file() usage that may lead to an removal of the useful files delete unnecessary ngx_http_finalize_request_body()
2007-01-18add size, access, and mtime to ngx_walk_tree()Igor Sysoev1-3/+13
2007-01-18rename mode to accessIgor Sysoev1-3/+3
2007-01-03style fix: remove trailing spacesIgor Sysoev1-1/+1
2006-12-25ngx_walk_tree()Igor Sysoev1-0/+165
2006-10-23APOPIgor Sysoev1-3/+3
2006-08-04nginx-0.3.56-RELEASE importrelease-0.3.56Igor Sysoev1-4/+4
*) Feature: the "dav_access" directive. *) Feature: the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x" operators. *) Bugfix: a segmentation fault occurred if a request returned a redirect and some sent to client header lines were logged in the access log.
2006-07-28nginx-0.3.55-RELEASE importrelease-0.3.55Igor Sysoev1-5/+2
*) Feature: the "stub" parameter in the "include" SSI command. *) Feature: the "block" SSI command. *) Feature: the unicode2nginx script was added to contrib. *) Bugfix: if a "root" was specified by variable only, then the root was relative to a server prefix. *) Bugfix: if the request contained "//" or "/./" and escaped symbols after them, then the proxied request was sent unescaped. *) Bugfix: the $r->headers_in("Cookie") of the ngx_http_perl_module now returns all "Cookie" header lines. *) Bugfix: a segmentation fault occurred if "client_body_in_file_only on" was used and nginx switched to a next upstream. *) Bugfix: on some condition while reconfiguration character codes inside the "charset_map" may be treated invalid; the bug had appeared in 0.3.50.
2006-07-03nginx-0.3.52-RELEASE importrelease-0.3.52Igor Sysoev1-0/+4
*) Change: the ngx_http_index_module behavior for the "POST /" requests is reverted to the 0.3.40 version state: the module now does not return the 405 error. *) Bugfix: the worker process may got caught in an endless loop if the limit rate was used; the bug had appeared in 0.3.37. *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even if the recoding was not needed; the bug had appeared in 0.3.50. *) Bugfix: if a code response of the PUT request was 409, then a temporary file was not removed.
2006-04-19nginx-0.3.40-RELEASE importrelease-0.3.40Igor Sysoev1-2/+35
*) Feature: the ngx_http_dav_module supports the MKCOL method. *) Feature: the "create_full_put_path" directive. *) Feature: the "$limit_rate" variable.
2006-04-14nginx-0.3.38-RELEASE importrelease-0.3.38Igor Sysoev1-7/+3
*) Feature: the ngx_http_dav_module. *) Change: the ngx_http_perl_module optimizations. Thanks to Sergey Skvortsov. *) Feature: the ngx_http_perl_module supports the $r->request_body_file method. *) Feature: the "client_body_in_file_only" directive. *) Workaround: now on disk overflow nginx tries to write access logs once a second only. Thanks to Anton Yuzhaninov and Maxim Dounin. *) Bugfix: now the "limit_rate" directive more precisely limits rate if rate is more than 100 Kbyte/s. Thanks to ForJest. *) Bugfix: now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and password to pass authorization server. Thanks to Maxim Dounin.
2006-04-05nginx-0.3.36-RELEASE importrelease-0.3.36Igor Sysoev1-1/+6
*) Feature: the ngx_http_addition_filter_module. *) Feature: the "proxy_pass" and "fastcgi_pass" directives may be used inside the "if" block. *) Feature: the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives. *) Feature: the "$request_completion" variable. *) Feature: the ngx_http_perl_module supports the $r->request_method and $r->remote_addr. *) Feature: the ngx_http_ssi_module supports the "elif" command. *) Bugfix: the "\/" string in the expression of the "if" command of the ngx_http_ssi_module was treated incorrectly. *) Bugfix: in the regular expressions in the "if" command of the ngx_http_ssi_module. *) Bugfix: if the relative path was specified in the "client_body_temp_path", "proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives, then the directory was used relatively to a current path but not to a server prefix.
2005-10-19nginx-0.3.3-RELEASE importrelease-0.3.3Igor Sysoev1-13/+12
*) Change: the "bl" and "af" parameters of the "listen" directive was renamed to the "backlog" and "accept_filter". *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen" directive. *) Change: the "$msec" log parameter does not require now the additional the gettimeofday() system call. *) Feature: the -t switch now tests the "listen" directives. *) Bugfix: if the invalid address was specified in the "listen" directive, then after the -HUP signal nginx left an open socket in the CLOSED state. *) Bugfix: the mime type may be incorrectly set to default value for index file with variable in the name; the bug had appeared in 0.3.0. *) Feature: the "timer_resolution" directive. *) Feature: the millisecond "$upstream_response_time" log parameter. *) Bugfix: a temporary file with client request body now is removed just after the response header was transferred to a client. *) Bugfix: OpenSSL 0.9.6 compatibility. *) Bugfix: the SSL certificate and key file paths could not be relative. *) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in the ngx_imap_ssl_module. *) Bugfix: the "ssl_protocols" directive allowed to specify the single protocol only.
2005-10-12nginx-0.3.2-RELEASE importrelease-0.3.2Igor Sysoev1-1/+1
*) 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-05-23nginx-0.1.33-RELEASE importrelease-0.1.33Igor Sysoev1-6/+8
*) Bugfix: nginx could not be built with the --without-pcre parameter; the bug had appeared in 0.1.29. *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one level cause the bus fault on start up. *) Bugfix: the HTTP protocol was specified in the HTTPS redirects. *) Bugfix: if the "rewrite" directive used the captures inside the "if" directive, then the 500 error code was returned.
2005-05-12nginx-0.1.29-RELEASE importrelease-0.1.29Igor Sysoev1-2/+18
*) Feature: the ngx_http_ssi_module supports "include virtual" command. *) Feature: the ngx_http_ssi_module supports the condition command like 'if expr="$NAME"' and "else" and "endif" commands. Only one nested level is supported. *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables and "config timefmt" command. *) Feature: the "ssi_ignore_recycled_buffers" directive. *) Bugfix: the "echo" command did not show the default value for the empty QUERY_STRING variable. *) Change: the ngx_http_proxy_module was rewritten. *) Feature: the "proxy_redirect", "proxy_pass_request_headers", "proxy_pass_request_body", and "proxy_method" directives. *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was canceled and must be replaced with the proxy_set_header directive. *) Change: the "proxy_preserve_host" is canceled and must be replaced with the "proxy_set_header Host $host" and the "proxy_redirect off" directives, the "proxy_set_header Host $host:$proxy_port" directive and the appropriate proxy_redirect directives. *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced with the "proxy_set_header X-Real-IP $remote_addr" directive. *) Change: the "proxy_add_x_forwarded_for" is canceled and must be replaced with the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for" directive. *) Change: the "proxy_set_x_url" is canceled and must be replaced with the "proxy_set_header X-URL http://$host:$server_port$request_uri" directive. *) Feature: the "fastcgi_param" directive. *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive are canceled and must be replaced with the fastcgi_param directives. *) Feature: the "index" directive can use the variables. *) Feature: the "index" directive can be used at http and server levels. *) Change: the last index only in the "index" directive can be absolute. *) Feature: the "rewrite" directive can use the variables. *) Feature: the "internal" directive. *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables. *) Change: nginx now passes the invalid lines in a client request headers or a backend response header. *) Bugfix: if the backend did not transfer response for a long time and the "send_timeout" was less than "proxy_read_timeout", then nginx returned the 408 response. *) Bugfix: the segmentation fault was occurred if the backend sent an invalid line in response header; the bug had appeared in 0.1.26. *) Bugfix: the segmentation fault may occurred in FastCGI fault tolerance configuration. *) Bugfix: the "expires" directive did not remove the previous "Expires" and "Cache-Control" headers. *) Bugfix: nginx did not take into account trailing dot in "Host" header line. *) Bugfix: the ngx_http_auth_module did not work under Linux. *) Bugfix: the rewrite directive worked incorrectly, if the arguments were in a request. *) Bugfix: nginx could not be built on MacOS X.