summaryrefslogtreecommitdiffhomepage
path: root/src/os/unix/ngx_files.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2012-12-10Merge of r4920, r4939: ngx_write_chain_to_file() fixes.Maxim Dounin1-0/+4
*) Core: added debug logging of writev() in ngx_write_chain_to_file(). *) Core: fixed ngx_write_chain_to_file() with IOV_MAX reached. Catched by dav_chunked.t on Solaris. In released versions this might potentially result in corruption of complex protocol responses if they were written to disk and there were more distinct buffers than IOV_MAX in a single write.
2012-09-24Merge of r4785, r4795, r4811, r4812, r4816, r4822: coverity.Maxim Dounin1-1/+1
*) Resolver: fixed possible memory leak in ngx_resolver_create(). *) Explicitly ignore returned value from unlink() in ngx_open_tempfile(). *) Explicitly ignore returned value from close() in ngx_event_core_init_conf(). *) Added three missing checks for NULL after ngx_array_push() calls. *) Crypt: fixed handling of corrupted SSHA entries in password file. *) Mark logically dead code with corresponding comment. Found by / prodded by Coverity.
2012-08-06Merge of r4738: struct flock initialization.Maxim Dounin1-9/+3
Made sure to initialize the entire "struct flock" allocated on stack.
2012-01-18Copyright updated.Maxim Konovalov1-0/+1
2011-11-18FreeBSD 10-current has recently gotten POSIX_FADV_* macros.Maxim Konovalov1-1/+1
A fix for the broken build applied. Patch from Igor Sysoev.
2011-10-21Fixed another return in unix ngx_write_chain_to_file().Maxim Dounin1-2/+9
Previous patch missed special case for one iovec, it needs total bytes written to be returned as well.
2011-10-20Fixed unix ngx_write_chain_to_file() to return total bytes written.Maxim Dounin1-2/+5
Previously result of last iteration's writev() was returned. This was unnoticed as return value was only used if chain contained only one or two buffers.
2011-02-11set current atime while setting mtimeIgor Sysoev1-1/+1
patch by Andrei Nigmatulin
2010-06-30fix ngx_write_file() bufIgor Sysoev1-2/+2
2010-06-29ngx_create_file_mapping()Igor Sysoev1-0/+52
2009-11-15fix posix_fadvise() error handlingIgor Sysoev1-0/+20
2009-11-05export aio presence knowledge to prevent using "aio sendfile",Igor Sysoev1-0/+7
if aio does not present
2009-10-14*) reset cached dirent.d_type after stat()Igor Sysoev1-2/+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-25uniform ngx_directio_on/off() interface with other file functionsIgor Sysoev1-2/+2
2009-09-25handle short pwrite() to log an error cause: ENOSPC, EDQUOT, or EFBIGIgor Sysoev1-29/+33
2009-09-24log file name for read/write errorsIgor Sysoev1-11/+19
2009-03-30ngx_fs_bsize()Igor Sysoev1-0/+47
2009-03-06XFS on Linux does not set dirent.d_type,Igor Sysoev1-5/+3
therefore fallback to stat() if dirent.d_type is not set, this fixes slash after directory name in ngx_http_autoindex_module; the issue has been introduced in r2235
2008-09-12disable directio for unaligned reads in LinuxIgor Sysoev1-1/+16
2008-09-05*) autoconfigure struct dirent capabilitiesIgor Sysoev1-0/+21
*) move src/os/.../ngx_types.h's content into src/os/.../ngx_files.h and delete src/os/.../ngx_types.h
2008-08-26fix build on Linux and Solaris introduced in r2200Igor Sysoev1-1/+9
2008-08-22fix building on FreeBSD prior to 4.8, it has no GLOB_NOMATCHIgor Sysoev1-1/+5
2008-07-30directioIgor Sysoev1-0/+19
2008-04-29ignore glob no match errorIgor Sysoev1-1/+9
2007-01-18rename mode to accessIgor Sysoev1-2/+3
2006-10-02fix building on Linux and SolarisIgor Sysoev1-2/+2
2006-10-02glob support in includeIgor Sysoev1-0/+34
2006-08-30nginx-0.4.0-RELEASE importrelease-0.4.0Igor Sysoev1-0/+18
*) 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.
2006-04-14nginx-0.3.38-RELEASE importrelease-0.3.38Igor Sysoev1-2/+2
*) 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-02-08nginx-0.3.27-RELEASE importrelease-0.3.27Igor Sysoev1-31/+30
*) Change: the "variables_hash_max_size" and "variables_hash_bucket_size" directives. *) Feature: the $body_bytes_sent variable can be used not only in the "log_format" directive. *) Feature: the $ssl_protocol and $ssl_cipher variables. *) Feature: the cache line size detection for widespread CPUs at start time. *) Feature: now the "accept_mutex" directive is supported using fcntl(2) on platforms different from i386, amd64, sparc64, and ppc. *) Feature: the "lock_file" directive and the --with-lock-path=PATH autoconfiguration directive. *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive then the requests with the body was not transferred.
2005-11-15nginx-0.3.10-RELEASE importrelease-0.3.10Igor Sysoev1-1/+1
*) 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-8/+71
*) 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-2/+2
*) 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.
2004-11-25nginx-0.1.9-RELEASE importrelease-0.1.9Igor Sysoev1-2/+2
*) Bugfix: the proxied request was sent without arguments if the request contains "//", "/./", "/../" or "%XX". *) Bugfix: the large compressed responses may be transferred not completely. *) Bugfix: the files bigger than 2G was not transferred on Linux that does not support sendfile64(). *) Bugfix: while the build configuration on Linux the --with-poll_module parameter was required; the bug had appeared in 0.1.8.
2004-11-20nginx-0.1.8-RELEASE importrelease-0.1.8Igor Sysoev1-2/+2
*) Bugfix: in the ngx_http_autoindex_module if the long file names were in the listing. *) Feature: the "^~" modifier in the location directive. *) Feature: the proxy_max_temp_file_size directive.
2004-11-11nginx-0.1.5-RELEASE importrelease-0.1.5Igor Sysoev1-46/+64
*) Bugfix: on Solaris and Linux there may be too many "recvmsg() returned not enough data" alerts. *) Bugfix: there were the "writev() failed (22: Invalid argument)" errors on Solaris in proxy mode without sendfile. On other platforms that do not support sendfile at all the process got caught in an endless loop. *) Bugfix: segmentation fault on Solaris in proxy mode and using sendfile. *) Bugfix: segmentation fault on Solaris. *) Bugfix: on-line upgrade did not work on Linux. *) Bugfix: the ngx_http_autoindex_module module did not escape the spaces, the quotes, and the percent signs in the directory listing. *) Change: the decrease of the copy operations. *) Feature: the userid_p3p directive.
2004-10-25nginx-0.1.3-RELEASE importrelease-0.1.3Igor Sysoev1-3/+3
*) Feature: the ngx_http_autoindex_module and the autoindex directive. *) Feature: the proxy_set_x_url directive. *) Bugfix: proxy module may get caught in an endless loop when sendfile is not used.
2004-10-21nginx-0.1.2-RELEASE importrelease-0.1.2Igor Sysoev1-56/+0
*) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure. *) Feature: the server_name directive supports *.domain.tld. *) Bugfix: the portability improvements. *) Bugfix: if configuration file was set in command line, the reconfiguration was impossible; the bug had appeared in 0.1.1. *) Bugfix: proxy module may get caught in an endless loop when sendfile is not used. *) Bugfix: with sendfile the response was not recoded according to the charset module directives; the bug had appeared in 0.1.1. *) Bugfix: very seldom bug in the kqueue processing. *) Bugfix: the gzip module compressed the proxied responses that was already compressed.
2004-09-29nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyrightIgor Sysoev1-1/+1
2004-09-28nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused filesIgor Sysoev1-0/+5
2004-06-01nginx-0.0.3-2004-06-01-10:04:46 importIgor Sysoev1-1/+1
2004-05-28nginx-0.0.3-2004-05-28-19:49:23 import; rename ngx_hunk_t to ngx_buf_tIgor Sysoev1-9/+9
2004-04-01nginx-0.0.3-2004-04-01-20:20:53 importIgor Sysoev1-0/+14
2004-03-16nginx-0.0.2-2004-03-16-10:10:12 importIgor Sysoev1-6/+7
2004-03-04nginx-0.0.2-2004-03-04-10:04:55 importIgor Sysoev1-4/+0
2004-02-11nginx-0.0.2-2004-02-11-20:08:49 importIgor Sysoev1-3/+4
2003-11-26nginx-0.0.1-2003-11-26-18:42:18 importIgor Sysoev1-1/+1
2003-11-21nginx-0.0.1-2003-11-21-09:30:49 importIgor Sysoev1-1/+2
2003-11-19nginx-0.0.1-2003-11-19-19:26:41 importIgor Sysoev1-7/+7
2003-11-18nginx-0.0.1-2003-11-19-00:34:08 importIgor Sysoev1-2/+13