Ruslan Ermilov
62b937b333
Fixed directives inheritance.
2012-04-11 09:56:30 +00:00
Maxim Dounin
b9c226abe0
Access module: fixed inheritance of allow/deny ipv6 rules.
...
Previous (incorrect) behaviour was to inherit ipv6 rules separately from
ipv4 ones. Now all rules are either inherited (if there are no rules
defined at current level) or not (if there are any rules defined).
2012-04-10 13:25:53 +00:00
Igor Sysoev
3ef52765c8
Fixed debug logging.
2012-04-10 11:28:59 +00:00
Igor Sysoev
654a56e06a
Fixed previous commit.
2012-04-10 11:27:43 +00:00
Igor Sysoev
cbc51bb295
Fixed mp4 module seek.
2012-04-10 11:21:47 +00:00
Maxim Dounin
baa239c487
Fixed signed integer overflows in timer code (ticket #145 ).
...
Integer overflow is undefined behaviour in C and this indeed caused
problems on Solaris/SPARC (at least in some cases). Fix is to
subtract unsigned integers instead, and then cast result to a signed
one, which is implementation-defined behaviour and used to work.
Strictly speaking, we should compare (unsigned) result with the maximum
value of the corresponding signed integer type instead, this will be
defined behaviour. This will require much more changes though, and
considered to be overkill for now.
2012-04-06 23:46:09 +00:00
Andrey Belov
bd6d421816
Comment fixed.
2012-04-05 19:49:34 +00:00
Maxim Konovalov
13d5d85861
Style: the function type should be on a line by itself
...
preceding the function. No functional changes.
2012-04-05 15:32:43 +00:00
Ruslan Ermilov
bffbbeb73f
In ngx_ptocidr(), check that the supplied prefix length is within
...
the allowed range.
2012-04-03 08:22:00 +00:00
Ruslan Ermilov
47a04aaa27
Fixed spelling in multiline C comments.
2012-04-03 07:37:31 +00:00
Maxim Dounin
7744472c8e
Win32: improved ngx_mutex_init() stub (ticket #138 ).
...
This allows to run nginx with "master_process off" under Windows.
2012-04-02 21:31:45 +00:00
Maxim Dounin
9063bc8713
Win32: fixed memory allocation for shmem name (ticket #134 ).
2012-04-02 21:30:58 +00:00
Maxim Dounin
a5d4f66ad6
Upstream: reject upstreams without normal servers.
...
Such upstreams cause CPU hog later in the code as number of peers isn't
expected to be 0. Currently this may happen either if there are only backup
servers defined in an upstream block, or if server with ipv6 address used
in an upstream block.
2012-04-02 21:29:35 +00:00
Maxim Dounin
525e1f75e4
Version bump.
2012-04-02 21:28:31 +00:00
Ruslan Ermilov
b4ab3ddf9d
Corrected spelling of error message (ticket #136 ).
2012-03-29 19:47:27 +00:00
Maxim Dounin
889ad51f17
Fixed win32 build after realpath changes in r4559.
2012-03-28 13:04:39 +00:00
Ruslan Ermilov
feda353cb3
Replaced ngx_http_realip_from_t with ngx_in_cidr_t.
2012-03-28 09:29:09 +00:00
Ruslan Ermilov
52fcfd042e
Fixed calculation of range boundaries.
2012-03-28 06:50:23 +00:00
Maxim Dounin
5d5c866bee
Xslt: parser options now set with xmlCtxtUseOptions().
...
Note that "ctxt->loadsubset = 1" previously used isn't really correct as
ctxt->loadsubset is a bitfield now. The use of xmlCtxtUseOptions() with
XML_PARSE_DTDLOAD is believed to be a better way to do the same thing.
Patch by Laurence Rowe.
2012-03-28 01:56:49 +00:00
Maxim Dounin
36aef0c383
Fixed unconditional MAX_PATH usage (ticket #22 ).
...
POSIX doesn't require it to be defined, and Debian GNU/Hurd doesn't define
it. Note that if there is no MAX_PATH defined we have to use realpath()
with NULL argument and free() the result.
2012-03-27 16:42:34 +00:00
Maxim Dounin
7b2b17a6b3
Added explicit include of time.h.
...
Most of the systems have it included due to namespace pollution, but
relying on this is a bad idea. Explicit include is required for at least
Debian GNU/Hurd.
2012-03-27 16:37:43 +00:00
Maxim Dounin
e34ff16f67
Resolver: added missing sanity checking when creating name queries.
...
Found by Veracode.
2012-03-22 11:57:18 +00:00
Maxim Dounin
8e6728ef13
Win32: added missing call to srand().
...
Found by Veracode.
2012-03-22 10:45:08 +00:00
Maxim Dounin
1aa5fbb1a8
Added xslt_param and xslt_string_param directives.
...
Based on patch by Samuel Behan.
2012-03-22 10:44:00 +00:00
Maxim Dounin
3333c6c7c8
Fixed off-by-one in xslt parameter parsing.
...
The problem was introduced in 0.7.44 (r2589) during conversion to complex
values. Previously string.len included space for terminating NUL, but
with complex values it doesn't.
2012-03-22 10:43:33 +00:00
Maxim Dounin
ae11f08cad
Restricted keepalive_disable safari to OS X only.
...
The problem doesn't affect non-Apple systems for sure, and many pretend
to be Safari now.
Prodded by Piotr Sikora.
2012-03-22 10:42:27 +00:00
Maxim Dounin
dc863179a3
Removed safari from keepalive_disable default.
...
The bug in question is likely already fixed (though unfortunately we have
no information available as Apple's bugtracker isn't open), and the
workaround seems to be too pessimistic for modern versions of Safari
as well as other webkit-based browsers pretending to be Safari.
2012-03-22 10:41:29 +00:00
Ruslan Ermilov
fbd32d4d19
worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.
2012-03-21 13:58:51 +00:00
Ruslan Ermilov
d4b1e5f58b
If we inserted "Last-Modified" in r->headers_out.headers, don't
...
forget to set the r->headers_out.last_modified pointer to it.
2012-03-21 07:35:43 +00:00
Ruslan Ermilov
89467caf43
Minor ngx_http_headers_filter_module.c code cleanup.
...
- Removed "hash" element from ngx_http_header_val_t which was always 1.
- Replaced NGX_HTTP_EXPIRES_* with ngx_http_expires_t enum type.
- Added prototype for ngx_http_add_header()
- Simplified ngx_http_set_last_modified().
2012-03-21 06:19:11 +00:00
Maxim Konovalov
acf6c79ac7
For the sake of case/switch code readability, 'fall through'
...
comments added.
2012-03-19 14:57:29 +00:00
Ruslan Ermilov
926ded6f4c
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
...
$tcpinfo_rcv_space variables. Supported on Linux and FreeBSD.
2012-03-16 19:15:33 +00:00
Ruslan Ermilov
5d1d368cf4
Local variable "ngx_http_next_filter" renamed to "ngx_http_next_body_filter"
...
for consistency with other modules.
2012-03-15 20:08:58 +00:00
Ruslan Ermilov
849e3b09ae
The "error_log" directive specified in the "http", "server", and
...
"location" sections now understands the special "stderr" parameter.
It was already treated specially when specified in the main section.
2012-03-15 20:04:50 +00:00
Ruslan Ermilov
091f6ffce6
Slight optimization in ngx_http_get_variable_index().
2012-03-15 19:41:35 +00:00
Ruslan Ermilov
06733ae8cf
- New variable: $connection_requests.
...
- While here, fixed format specifier for $connection.
2012-03-15 19:37:32 +00:00
Maxim Dounin
d694ff7798
Version bump.
2012-03-15 17:43:54 +00:00
Maxim Dounin
d1ed97b18b
Headers with null character are now rejected.
...
Headers with NUL character aren't allowed by HTTP standard and may cause
various security problems. They are now unconditionally rejected.
2012-03-15 11:27:57 +00:00
Maxim Dounin
eb526b7d7d
Fixed incorrect ngx_cpystrn() usage in ngx_http_*_process_header().
...
This resulted in a disclosure of previously freed memory if upstream
server returned specially crafted response, potentially exposing
sensitive information.
Reported by Matthew Daley.
2012-03-15 11:27:12 +00:00
Maxim Dounin
030e235ec7
Fixed ssi and perl interaction.
...
Embedded perl module assumes there is a space for terminating NUL character,
make sure to provide it in all situations by allocating one extra byte for
value buffer. Default ssi_value_length is reduced accordingly to
preserve 256 byte allocations.
While here, fixed another one byte value buffer overrun possible in
ssi_quoted_symbol_state.
Reported by Matthew Daley.
2012-03-15 11:23:07 +00:00
Maxim Dounin
205394e6f9
Uwsgi: merged r->http_version fixes from scgi module.
...
Fixed incorrect use of r->http_version (r4372). Removed duplicate function
declaration (r4373). Removed error if there is no Status header (r4374).
2012-03-15 11:21:54 +00:00
Maxim Dounin
ee187436af
Whitespace fixes.
2012-03-05 18:09:06 +00:00
Maxim Dounin
382499aa1f
Version bump.
2012-03-05 18:06:15 +00:00
Maxim Dounin
a95c85e78a
Raised simultaneous subrequest limit from 50 to 200.
...
It wasn't enforced for a long time, and there are reports that people
use up to 100 simultaneous subrequests now. As this is a safety limit
to prevent loops, it's raised accordingly.
2012-02-28 14:54:23 +00:00
Maxim Dounin
db402276e1
Added msleep() on reload to allow new processes to start.
...
This is expected to ensure smoother operation on reload (and with less
chance of listen queue overflows).
Prodded by Igor Sysoev.
2012-02-28 11:40:18 +00:00
Ruslan Ermilov
b74f8ffce4
Fixed spelling in single-line comments.
2012-02-28 11:31:05 +00:00
Maxim Dounin
c66a1e7a17
Workaround for fs_size on ZFS (ticket #46 ).
...
ZFS reports incorrect st_blocks until file settles on disk, and this
may take a while (i.e. just after creation of a file the st_blocks value
is incorrect). As a workaround we now use st_blocks only if
st_blocks * 512 > st_size, this should fix ZFS problems while still
preserving accuracy for other filesystems.
The problem had appeared in r3900 (1.0.1).
2012-02-28 11:09:02 +00:00
Maxim Dounin
7ca6c1ff78
Fix of rbtree lookup on hash collisions.
...
Previous code incorrectly assumed that nodes with identical keys are linked
together. This might not be true after tree rebalance.
Patch by Lanshun Zhou.
2012-02-27 22:15:39 +00:00
Maxim Dounin
53d9677de4
Fixed null pointer dereference in resolver (ticket #91 ).
...
The cycle->new_log.file may not be set before config parsing finished if
there are no error_log directive defined at global level. Fix is to
copy it after config parsing.
Patch by Roman Arutyunyan.
2012-02-27 16:57:02 +00:00
Valentin Bartenev
5c95f88503
Disable symlinks: added the "from=" parameter to the "disable_symlinks"
...
directive.
2012-02-27 16:54:10 +00:00
Valentin Bartenev
0e05ca0404
Disable symlinks: initialization of the "disable_symlinks" field in
...
ngx_open_file_info_t moved to a separate function.
This is preparation for the "from=" parameter implementation of the
"disable_symlinks" directive.
2012-02-27 16:51:28 +00:00
Valentin Bartenev
346791187f
Disable symlinks: added the "from" parameter support to the open file cache.
2012-02-27 16:46:57 +00:00
Ruslan Ermilov
1c57fb8790
Added support for the 307 Temporary Redirect.
2012-02-27 11:43:40 +00:00
Ruslan Ermilov
09422e632f
Renamed constants and fixed off-by-one error in "msie_padding on" handling.
2012-02-22 16:23:29 +00:00
Maxim Dounin
b5d0d7a232
Event pipe: fixed buffer loss in p->length case.
...
With previous code raw buffer might be lost if p->input_filter() was called
on a buffer without any data and used ngx_event_pipe_add_free_buf() to
return it to the free list. This eventually might cause "all buffers busy"
problem, resulting in segmentation fault due to null pointer dereference in
ngx_event_pipe_write_chain_to_temp_file().
In ngx_event_pipe_add_free_buf() the buffer was added to the list start
due to pos == last, and then "p->free_raw_bufs = cl->next" in
ngx_event_pipe_read_upstream() dropped both chain links to the buffer
from the p->free_raw_bufs list.
Fix is to move "p->free_raw_bufs = cl->next" before calling the
p->input_filter().
2012-02-22 11:28:53 +00:00
Valentin Bartenev
86c5513ecb
Disable symlinks: use O_SEARCH|O_DIRECTORY to open path components.
2012-02-21 15:10:13 +00:00
Valentin Bartenev
15b3173c5e
Disable symlinks: don't allow creating or truncating a file via a symlink in
...
the last path component if "if_not_owner" parameter is used.
To prevent race condition we have to open a file before checking its owner and
there's no way to change access flags for already opened file descriptor, so
we disable symlinks for the last path component at all if flags allow creating
or truncating the file.
2012-02-21 15:04:41 +00:00
Valentin Bartenev
8c27e6429a
Disable symlinks: cleanups once again.
...
In collaboration with Ruslan Ermilov.
2012-02-21 15:01:25 +00:00
Maxim Dounin
7ba66f42a0
Disable symlinks: added explicit cast of AT_FDCWD (ticket #111 ).
...
Solaris has AT_FDCWD defined to unsigned value, and comparison of a file
descriptor with it causes warnings in modern versions of gcc. Explicitly
cast AT_FDCWD to ngx_fd_t to resolve these warnings.
2012-02-20 19:14:35 +00:00
Maxim Dounin
6bb86e3d58
Disable symlinks: error handling cleanup again.
2012-02-20 19:14:07 +00:00
Maxim Dounin
3c00e341ea
Version bump.
2012-02-20 19:12:48 +00:00
Maxim Dounin
32b000bad7
Disable symlinks: fixed edge cases of path handling.
...
This includes non-absolute pathnames, multiple slashes and trailing
slashes. In collaboration with Valentin Bartenev.
2012-02-15 12:18:55 +00:00
Maxim Dounin
04015a48ca
Disable symlinks: cleanup error handling.
...
Notably this fixes NGX_INVALID_FILE/NGX_FILE_ERROR mess, and adds
logging of close() errors. In collaboration with Valentin Bartenev.
2012-02-15 12:17:24 +00:00
Andrey Belov
8ce8f6667f
Support for disable_symlinks in various modules.
2012-02-13 16:32:21 +00:00
Andrey Belov
bd1e719bf9
Added disable_symlinks directive.
...
To completely disable symlinks (disable_symlinks on)
we use openat(O_NOFOLLOW) for each path component
to avoid races.
To allow symlinks with the same owner (disable_symlinks if_not_owner),
use openat() (followed by fstat()) and fstatat(AT_SYMLINK_NOFOLLOW),
and then compare uids between fstat() and fstatat().
As there is a race between openat() and fstatat() we don't
know if openat() in fact opened symlink or not. Therefore,
we have to compare uids even if fstatat() reports the opened
component isn't a symlink (as we don't know whether it was
symlink during openat() or not).
Default value is off, i.e. symlinks are allowed.
2012-02-13 16:29:04 +00:00
Andrey Belov
32c8df44d5
Changed ngx_open_and_stat_file() to use ngx_str_t.
...
No functional changes.
2012-02-13 16:16:45 +00:00
Andrey Belov
71205c3fbc
Added openat()/fstatat().
2012-02-13 16:13:21 +00:00
Maxim Dounin
9f38b20db5
Time parsing cleanup.
...
Nuke NGX_PARSE_LARGE_TIME, it's not used since 0.6.30. The only error
ngx_parse_time() can currently return is NGX_ERROR, check it explicitly
and make sure to cast it to appropriate type (either time_t or ngx_msec_t)
to avoid signedness warnings on platforms with unsigned time_t (notably QNX).
2012-02-13 15:41:11 +00:00
Maxim Dounin
8cb7134f49
Fixed build with embedded perl and --with-openssl.
2012-02-13 15:38:48 +00:00
Maxim Dounin
7dff998495
Core: protection from cycles with named locations and post_action.
...
Now redirects to named locations are counted against normal uri changes
limit, and post_action respects this limit as well. As a result at least
the following (bad) configurations no longer trigger infinite cycles:
1. Post action which recursively triggers post action:
location / {
post_action /index.html;
}
2. Post action pointing to nonexistent named location:
location / {
post_action @nonexistent;
}
3. Recursive error page for 500 (Internal Server Error) pointing to
a nonexistent named location:
location / {
recursive_error_pages on;
error_page 500 @nonexistent;
return 500;
}
2012-02-13 15:35:48 +00:00
Maxim Dounin
1b0ad6ee72
Core: protection from subrequest loops.
...
Without the protection, subrequest loop results in r->count overflow and
SIGSEGV. Protection was broken in 0.7.25.
Note that this also limits number of parallel subrequests. This
wasn't exactly the case before 0.7.25 as local subrequests were
completed directly.
See here for details:
http://nginx.org/pipermail/nginx-ru/2010-February/032184.html
2012-02-13 15:33:08 +00:00
Maxim Dounin
947fc03ca3
Variables: honor no_cacheable for not_found variables.
...
Variables with the "not_found" flag set follow the same rules as ones with
the "valid" flag set. Make sure ngx_http_get_flushed_variable() will flush
non-cacheable variables with the "not_found" flag set.
This fixes at least one known problem with $args not available in a subrequest
(with args) when there were no args in the main request and $args variable was
queried in the main request (reported by Laurence Rowe aka elro on irc).
Also this eliminates unneeded call to ngx_http_get_indexed_variable() in
cacheable case (as it will return cached value anyway).
2012-02-13 15:31:07 +00:00
Maxim Dounin
01c133cda4
Fix for proxy_store leaving temporary files for subrequests.
...
Temporary files might not be removed if the "proxy_store" or "fastcgi_store"
directives were used for subrequests (e.g. ssi includes) and client closed
connection prematurely.
Non-active subrequests are finalized out of the control of the upstream
module when client closes a connection. As a result, the code to remove
unfinished temporary files in ngx_http_upstream_process_request() wasn't
executed.
Fix is to move relevant code into ngx_http_upstream_finalize_request() which
is called in all cases, either directly or via the cleanup handler.
2012-02-13 15:28:19 +00:00
Maxim Dounin
71ce7a13ed
Gzip filter: handling of empty flush buffers.
...
Empty flush buffers are legitimate and may happen e.g. due to $r->flush()
calls in embedded perl. If there are no data buffered in zlib, deflate()
will return Z_BUF_ERROR (i.e. no progress possible) without adding anything
to output. Don't treat Z_BUF_ERROR as fatal and correctly send empty flush
buffer if we have no data in output at all.
See this thread for details:
http://mailman.nginx.org/pipermail/nginx/2010-November/023693.html
2012-02-13 15:23:43 +00:00
Maxim Dounin
37c6228d43
Removed r->cache/r->cached dependencies in range filter.
...
This is a layering violation, use correct offset calculations instead.
2012-02-13 15:20:49 +00:00
Valentin Bartenev
a113cb3543
Proxy: added the "proxy_cookie_path" directive.
2012-02-13 11:08:05 +00:00
Valentin Bartenev
e9df2d6f46
Proxy: added the "proxy_cookie_domain" directive.
2012-02-13 11:04:45 +00:00
Valentin Bartenev
b3e3b2e75a
Upstream: added callback hook for the "Set-Cookie" header.
...
No functional changes.
2012-02-13 11:01:58 +00:00
Valentin Bartenev
85551e58fe
Proxy: generic regex related code from the "proxy_redirect" directive moved
...
to a separate function.
No functional changes.
2012-02-13 11:00:08 +00:00
Valentin Bartenev
7c611aa186
Proxy: generic rewrite code from the "proxy_redirect" handlers moved to a
...
separate function with trivial optimization.
No functional changes.
2012-02-13 10:56:09 +00:00
Valentin Bartenev
582dac116d
Proxy: renamed some "proxy_redirect" related declarations to a more general and
...
reusable.
No functional changes.
2012-02-13 10:42:44 +00:00
Maxim Dounin
060b92451b
Upstream: fixed "too big header" check.
...
If header filter postponed processing of a header by returning NGX_AGAIN
and not moved u->buffer->pos, previous check incorrectly assumed there
is additional space and did another recv() with zero-size buffer. This
resulted in "upstream prematurely closed connection" error instead
of correct "upstream sent too big header" one.
Patch by Feibo Li.
2012-02-10 14:31:04 +00:00
Valentin Bartenev
891b43db32
Added ngx_ncpu detection for most *nix platforms.
...
This inaccurate detection by using sysconf(_SC_NPROCESSORS_ONLN) can improve
usage of the mutex lock optimization on multicore systems.
2012-02-10 11:24:19 +00:00
Valentin Bartenev
9e8708cbd6
Limit conn: returned to the old behavior of using the first actual limit on
...
the way.
It was unintentionally changed in r4272, so that it could only limit the first
location where the processing of the request has reached PREACCESS phase.
2012-02-10 10:48:58 +00:00
Valentin Bartenev
e35ff2a08c
Fixed module name in comment. It was forgotten in r4281.
2012-02-10 09:56:37 +00:00
Maxim Dounin
0f3d6715e7
Version bump.
2012-02-09 16:18:02 +00:00
Maxim Dounin
11cc9dac44
Limit req: unbreak compilation with MSVC.
2012-01-30 13:19:25 +00:00
Valentin Bartenev
fbf7a0a48a
Fixed memory leak on HUP signal when PCRE JIT was used.
...
The PCRE JIT compiler uses mmap to allocate memory for its executable codes, so
we have to explicitly call the pcre_free_study() function to free this memory.
2012-01-30 12:53:57 +00:00
Valentin Bartenev
3feafa765f
Fixed proxy_redirect off inheritance.
...
Example configuration to reproduce:
server {
proxy_redirect off;
location / {
proxy_pass http://localhost:8000 ;
proxy_redirect http://localhost:8000/ /;
location ~ \.php$ {
proxy_pass http://localhost:8000 ;
# proxy_redirect must be inherited from the level above,
# but instead it was switched off here
}
}
}
2012-01-30 11:22:56 +00:00
Maxim Dounin
4a23bc5705
Fixed error handling in ngx_event_connect_peer().
...
Previously if ngx_add_event() failed a connection was freed two times (once
in the ngx_event_connect_peer(), and again by a caller) as pc->connection was
left set. Fix is to always use ngx_close_connection() to close connection
properly and set pc->connection to NULL on errors.
Patch by Piotr Sikora.
2012-01-30 11:12:52 +00:00
Valentin Bartenev
b06200f3dc
Limit req: support for multiple "limit_req" limits.
2012-01-30 10:17:56 +00:00
Valentin Bartenev
73d0b6a721
Limit req: number of cleanup calls reduced.
...
Doing a cleanup before every lookup seems to be too aggressive. It can lead to
premature removal of the nodes still usable, which increases the amount of work
under a mutex lock and therefore decreases performance.
In order to improve cleanup behavior, cleanup function call has been moved right
before the allocation of a new node.
2012-01-30 10:01:39 +00:00
Valentin Bartenev
8dab3b5a39
Limit req: allocation and initialization of a new node moved to the lookup
...
function.
No functional changes.
2012-01-30 09:41:49 +00:00
Valentin Bartenev
5f5205ba87
Limit req: improved error handling when parsing "zone" parameter of
...
"limit_req_zone" directive; minimum size of zone is increased.
Previously an unsigned variable was used to keep the return value of
ngx_parse_size() function, which led to an incorrect zone size if NGX_ERROR
was returned.
The new code has been taken from the "limit_conn_zone" directive.
2012-01-30 09:26:08 +00:00
Valentin Bartenev
d4dbf6ad59
Limit req: error messages fixed.
2012-01-30 09:02:29 +00:00
Maxim Dounin
b3e461e63c
Fixed AIO error handling on FreeBSD.
...
The aio_return() must be called regardless of the error returned by
aio_error(). Not calling it resulted in various problems up to segmentation
faults (as AIO events are level-triggered and were reported again and again).
Additionally, in "aio sendfile" case r->blocked was incremented in case of
error returned from ngx_file_aio_read(), thus causing request hangs.
2012-01-30 07:39:47 +00:00
Maxim Dounin
90a7a8f5d9
Removed ENGINE_load_builtin_engines() call.
...
It's already called by OPENSSL_config(). Calling it again causes some
openssl engines (notably GOST) to corrupt memory, as they don't expect
to be created more than once.
2012-01-30 07:38:27 +00:00
Valentin Bartenev
94992aa62e
Fixed grammar in PCRE JIT error log message.
2012-01-24 10:20:42 +00:00
Maxim Konovalov
f8d59e33f3
Copyright updated.
2012-01-18 15:07:43 +00:00
Maxim Konovalov
8e1ef760da
Version bump.
2012-01-18 15:04:17 +00:00
Maxim Konovalov
4fb388107b
Version bump.
2012-01-18 14:33:17 +00:00
Valentin Bartenev
363a0c53e7
Fixed division by zero exception in ngx_hash_init().
...
The ngx_hash_init() function did not expect call with zero elements count,
which caused FPE error on configs with an empty "types" block in http context
and "types_hash_max_size" > 10000.
Example configuration to reproduce:
events { }
http {
types_hash_max_size 10001;
types {}
server {}
}
2012-01-16 12:42:07 +00:00
Maxim Dounin
b904676b5e
Fixed sched_setaffinity(2) to correctly pass size.
...
Second argument (cpusetsize) is size in bytes, not in bits. Previously
used constant 32 resulted in reading of uninitialized memory and caused
EINVAL to be returned on some Linux kernels.
2012-01-16 11:13:48 +00:00
Maxim Dounin
9572920af0
Fixed handling of mp4 above 2G and 32bit offsets (ticket #84 ).
2012-01-16 11:03:27 +00:00
Maxim Dounin
2c55914a9f
Fixed proxy_cache_use_stale in "no live upstreams" case.
2012-01-16 11:01:52 +00:00
Maxim Dounin
4efcbce328
Added support for TLSv1.1, TLSv1.2 in ssl_protocols directive.
...
Support for TLSv1.1 and TLSv1.2 protocols was introduced in OpenSSL 1.0.1
(-beta1 was recently released). This change makes it possible to disable
these protocols and/or enable them without other protocols.
2012-01-11 11:15:00 +00:00
Maxim Dounin
f2ef9db230
Fixed limit_req burst/nodelay inheritance (ticket #76 ).
...
The problem was introduced in r4381 (1.1.12).
2012-01-11 11:09:05 +00:00
Valentin Bartenev
b8ef9d9255
Fixed: proxy_redirect with regex might broke Refresh header.
...
The problem was localized in ngx_http_proxy_rewrite_redirect_regex() handler
function which did not take into account prefix when overwriting header value.
2012-01-10 15:09:45 +00:00
Ruslan Ermilov
d55ce18c95
Changed ngx_log_debugN() macros to verify the number of arguments
...
when built with debugging.
2012-01-10 07:28:32 +00:00
Maxim Dounin
11f09dd07d
Version bump.
2011-12-27 11:56:48 +00:00
Valentin Bartenev
bc5191c7bc
Added support for regex study and PCRE JIT (ticket #41 ) optimizations on
...
configuration phase.
2011-12-26 13:10:36 +00:00
Maxim Dounin
947bdfa7fe
Fixed build without debug.
2011-12-26 11:33:11 +00:00
Maxim Dounin
da8a43dee9
Cache lock support for fastcgi, scgi, uwsgi.
2011-12-26 11:16:19 +00:00
Maxim Dounin
822fe46934
Cache locks initial implementation.
...
New directives: proxy_cache_lock on/off, proxy_cache_lock_timeout. With
proxy_cache_lock set to on, only one request will be allowed to go to
upstream for a particular cache item. Others will wait for a response
to appear in cache (or cache lock released) up to proxy_cache_lock_timeout.
Waiting requests will recheck if they have cached response ready (or are
allowed to run) every 500ms.
Note: we intentionally don't intercept NGX_DECLINED possibly returned by
ngx_http_file_cache_read(). This needs more work (possibly safe, but needs
further investigation). Anyway, it's exceptional situation.
Note: probably there should be a way to disable caching of responses
if there is already one request fetching resource to cache (without waiting
at all). Two possible ways include another cache lock option ("no_cache")
or using proxy_no_cache with some supplied variable.
Note: probably there should be a way to lock updating requests as well. For
now "proxy_cache_use_stale updating" is available.
2011-12-26 11:15:23 +00:00
Maxim Dounin
0c88994a03
Fixed interaction of limit_rate and sendfile_max_chunk.
...
It's possible that configured limit_rate will permit more bytes per
single operation than sendfile_max_chunk. To protect disk from takeover
by a single client it is necessary to apply sendfile_max_chunk as a limit
regardless of configured limit_rate.
See here for report (in Russian):
http://mailman.nginx.org/pipermail/nginx-ru/2010-March/032806.html
2011-12-26 10:51:24 +00:00
Maxim Dounin
41a77d183c
Fixed throughput problems with large limit_rate.
...
Previous attempt to fix this was in r1658 (0.6.18), though that one wasn't
enough (it was a noop).
2011-12-26 10:49:57 +00:00
Maxim Dounin
6a56732e98
Fixed mp4 if first entry in stsc was skipped (ticket #72 ).
...
If first entry in stsc atom was skipped, and seek was to chunk boundary,
than first_chunk in the generated stsc table wasn't set to 1.
2011-12-26 10:49:03 +00:00
Valentin Bartenev
b65597ecd5
SSI: added regex captures support in the expression of the "if" command.
2011-12-25 20:08:37 +00:00
Valentin Bartenev
39f01e526f
Fixed limit_conn_log_level/limit_req_log_level inheritance.
...
The directives did not work if there were no limit_conn/limit_req specified on
the same level.
2011-12-25 19:32:31 +00:00
Maxim Dounin
aa4492612b
Proxy: made proxy_pass with variables more consistent.
...
If proxy_pass was used with variables and there was no URI component,
nginx always used unparsed URI. This isn't consistent with "no variables"
case, where e.g. rewrites are applied even if there is no URI component.
Fix is to use the same logic in both cases, i.e. only use unparsed URI if
it's valid and request is the main one.
2011-12-23 16:04:09 +00:00
Maxim Dounin
d79f4523f8
Added clearing of r->valid_unparsed_uri on internal redirects.
...
This resolves issue with try_files (see ticket #70 ), configuration like
location / { try_files $uri /index.php; }
location /index.php { proxy_pass http://backend ; }
caused nginx to use original request uri in a request to a backend.
Historically, not clearing of the r->valid_unparsed_uri on internal redirect
was a feature: it allowed to pass the same request to (another) upstream
server via error_page redirection. Since then named locations appeared
though, and it's time to start resetting r->valid_unparsed_uri on internal
redirects. Configurations still using this feature should be converted
to use named locations instead.
Patch by Lanshun Zhou.
2011-12-19 14:11:48 +00:00
Valentin Bartenev
c5968a998c
SSI bugfix: the "if" command did not work inside the "block" command and
...
produced parsing errors.
2011-12-19 13:28:22 +00:00
Maxim Dounin
8a85ab8e20
Scgi: removed error if there is no Status header.
...
The SCGI specification doesn't specify format of the response, and assuming
CGI specs should be used there is no reason to complain. RFC 3875
explicitly states that "A Status header field is optional, and status
200 'OK' is assumed if it is omitted".
2011-12-19 11:25:40 +00:00
Maxim Dounin
32e2038026
Scgi: removed duplicate function declaration.
2011-12-19 11:24:32 +00:00
Maxim Dounin
4d1e32d9d8
Fixed incorrect use of r->http_version in scgi module.
...
The r->http_version is a version of client's request, and modules must
not set it unless they are really willing to downgrade protocol version
used for a response (i.e. to HTTP/0.9 if no response headers are available).
In neither case r->http_version may be upgraded.
The former code downgraded response from HTTP/1.1 to HTTP/1.0 for no reason,
causing various problems (see ticket #66 ). It was also possible that
HTTP/0.9 requests were upgraded to HTTP/1.0.
2011-12-19 11:23:16 +00:00
Maxim Dounin
afb7f22c03
Version bump.
2011-12-19 11:21:46 +00:00
Maxim Dounin
614a7ef18d
Cache: only complain on long locked entries.
...
There have been multiple reports of cases where a real locked entry was
removed, resulting in a segmentation fault later in a worker which locked
the entry. It looks like default inactive timeout isn't enough in real
life.
For now just ignore such locked entries, and move them to the top of the
inactive queue to allow processing of other entries.
2011-12-12 10:49:14 +00:00
Maxim Dounin
64a9f70092
Cache: handling of cache files with long headers.
...
There are two possible situations which can lead to this: response was
cached with bigger proxy_buffer_size value (and nginx was restared since
then, i.e. shared memory zone content was lost), or due to the race in
the cache update code (see [1]) we've end up with fcn->body_start from
a different response stored in shared memory zone.
[1] http://mailman.nginx.org/pipermail/nginx-devel/2011-September/001287.html
2011-12-12 10:47:48 +00:00
Maxim Dounin
b839e6febb
Cache: obsolete code removed.
...
The ngx_http_cache() and ngx_http_no_cache_set_slot() functions were replaced
by ngx_http_test_predicates() and ngx_http_set_predicate_slot() in 0.8.46 and
no longer used since then.
2011-12-12 10:46:43 +00:00
Ruslan Ermilov
f28b7e8ef3
Renamed some constants to improve readability, no functional changes.
2011-12-12 10:45:05 +00:00
Valentin Bartenev
0be9554bda
Proxy: added variables and regexp support to the first parameter of
...
the "proxy_redirect" directive.
2011-12-12 09:02:29 +00:00
Maxim Dounin
ae0e919135
Microoptimization of sendfile(2) usage under FreeBSD.
...
FreeBSD kernel checks headers/trailers pointer against NULL, not
corresponding count. Passing NULL if there are no headers/trailers
helps to avoid unneeded work in kernel, as well as unexpected 0 bytes
GIO in traces.
2011-12-11 16:30:42 +00:00
Valentin Bartenev
8d3ef1a3b3
Fixed: some of $sent_http_* variables may contain header entries that actually
...
haven't been sent to a client.
The ngx_http_variable_headers() and ngx_http_variable_unknown_header() functions
did not ignore response header entries with zero "hash" field.
Thanks to Yichun Zhang (agentzh).
2011-12-09 16:17:12 +00:00
Valentin Bartenev
247332a1e2
Added the $https variable.
2011-12-09 14:38:11 +00:00
Valentin Bartenev
df54c36d90
SCGI: added "if_not_empty" flag support to the "scgi_param" directive.
2011-12-09 14:03:06 +00:00
Valentin Bartenev
582b5319b7
uwsgi: added "if_not_empty" flag support to the "uwsgi_param" directive.
2011-12-09 13:47:04 +00:00
Valentin Bartenev
a826eb6720
FastCGI: added "if_not_empty" flag support to the "fastcgi_param" directive.
2011-12-09 13:32:51 +00:00
Valentin Bartenev
50546b26d9
Added the ngx_http_upstream_param_set_slot().
2011-12-09 13:19:57 +00:00
Ruslan Ermilov
59a2b77039
- Improved error message when parsing of the "buffer" parameter of the
...
"access_log" directive fails.
- Added a warning if "log_format" is used in contexts other than "http".
2011-12-06 21:07:10 +00:00
Valentin Bartenev
5ee62edffe
Removed unused function ngx_regex_capture_count().
...
The function has been unused since r3326.
2011-12-06 15:49:40 +00:00
Maxim Dounin
8618370487
Fix for read_head with try_files and open_file_cache.
...
The of.read_ahead wasn't set in try_files code path, causing read_ahead
directive to be a nop if try_files and open_file_cache were used.
2011-12-06 13:23:37 +00:00
Maxim Dounin
08f2256b29
Version bump.
2011-12-06 13:22:32 +00:00
Valentin Bartenev
92edf47ff9
Added the "so_keepalive=" parameter to the "listen" directive.
...
The "so_keepalive" directive in mail module was deprecated.
Thanks to Vsevolod Stakhov for initial work.
2011-12-05 08:06:15 +00:00
Maxim Dounin
c09d65b179
Fixed AIO on Linux, broken in r4306.
...
Events from eventfd do not have c->write set, and the stale event
check added in r4306 causes null pointer dereference.
2011-11-29 17:27:13 +00:00
Maxim Dounin
b99492595c
Version bump.
2011-11-29 17:25:31 +00:00
Maxim Dounin
a4484b1369
Added (void) as we intentionally ignore returned values.
...
Requested by Igor Sysoev.
2011-11-28 11:01:42 +00:00
Maxim Dounin
1d13c0dd34
Allowed add_header for proxied 206 replies.
...
It was working for nginx's own 206 replies as they are seen as 200 in the
headers filter module (range filter goes later in the headers filter chain),
but not for proxied replies.
2011-11-28 10:00:47 +00:00
Valentin Bartenev
1373558163
Added support for IP-literal in the Host header and request line (ticket #1 ).
...
Additional parsing logic added to correctly handle RFC 3986 compliant IPv6 and
IPvFuture characters enclosed in square brackets.
The host validation was completely rewritten. The behavior for non IP literals
was changed in a more proper and safer way:
- Host part is now delimited either by the first colon or by the end of string
if there's no colon. Previously the last colon was used as delimiter which
allowed substitution of a port number in the $host variable.
(e.g. Host: 127.0.0.1:9000:80)
- Fixed stripping of the ending dot in the Host header when the host was also
followed by a port number.
(e.g. Host: nginx.com.:80)
- Fixed upper case characters detection. Previously it was broken which led to
wasting memory and CPU.
2011-11-28 09:15:33 +00:00
Maxim Dounin
1b9b19d7e2
Added escaping of double quotes in ngx_escape_html().
...
Patch by Zaur Abasmirzoev.
2011-11-25 16:36:02 +00:00
Maxim Dounin
13717da19e
Unlock of shared memory zones on process crash.
...
If process exited abnormally while holding lock on some shared memory zone -
unlock it. It may be not safe thing to do (as crash with lock held may
result in corrupted shared memory structure, and other processes will
subsequently crash while trying to access shared data), therefore complain
loudly if unlock succeeds.
2011-11-23 14:09:19 +00:00
Maxim Dounin
ddb7cd1c41
Fixed build without atomic operations.
2011-11-23 14:07:06 +00:00
Maxim Dounin
91ecc8f43c
Added shmtx interface to forcibly unlock mutexes.
...
It is currently used from master process on abnormal worker termination to
unlock accept mutex (unlocking of accept mutex was broken in 1.0.2). It is
expected to be used in the future to unlock other mutexes as well.
Shared mutex code was rewritten to make this possible in a safe way, i.e.
with a check if lock was actually held by the exited process. We again use
pid to lock mutex, and use separate atomic variable for a count of processes
waiting in sem_wait().
2011-11-23 13:55:38 +00:00
Ruslan Ermilov
1e5f239170
Fixed "rotate" to always work when combined with "resize/crop".
2011-11-23 10:22:44 +00:00
Ruslan Ermilov
ca2cce23cc
Cosmetics.
2011-11-23 10:16:30 +00:00
Igor Sysoev
79df789b47
Fix of mp4 module seeking.
2011-11-23 07:22:15 +00:00
Maxim Dounin
7f59728d5b
Protection from stale write events in epoll.
...
Stale write event may happen if epoll_wait() reported both read and write
events, and processing of the read event closed descriptor.
Patch by Yichun Zhang (agentzh).
2011-11-22 17:02:21 +00:00
Maxim Dounin
0560ae55bc
Fixed segfault on ssl servers without cert with SNI (ticket #54 ).
...
Non-default servers may not have ssl context created if there are no
certificate defined. Make sure to check if ssl context present before
using it.
2011-11-22 16:27:45 +00:00
Ruslan Ermilov
1725621e8a
Fixed "keepalive_disable".
...
Patch by Alexander Usov. The bug has been introduced in r4267.
2011-11-21 07:31:59 +00:00
Maxim Konovalov
f61b7b3a83
FreeBSD 10-current has recently gotten POSIX_FADV_* macros.
...
A fix for the broken build applied.
Patch from Igor Sysoev.
2011-11-18 18:42:00 +00:00
Maxim Dounin
e0c1a63028
Upstream: don't cache unfinished responses.
...
Check if received data length match Content-Length header (if present),
don't cache response if no match found. This prevents caching of corrupted
response in case of premature connection close by upstream.
2011-11-18 15:09:08 +00:00
Maxim Dounin
5eef168a22
Fixed flv header to match specification.
...
Used "\x5" in 5th byte to claim presence of both audio and video. Used
previous tag size 0 in the beginning of the flv body (bytes 10 .. 13) as
required by specification (see http://www.adobe.com/devnet/f4v.html ).
Patch by Piotr Sikora.
2011-11-18 14:41:01 +00:00
Ruslan Ermilov
777879c832
Silenced a warning for some compilers.
2011-11-16 13:27:33 +00:00
Ruslan Ermilov
bec516bec9
Now nginx uses TTL of a DNS response when calculating cache validity.
...
Previously it used a hardcoded value of 300 seconds. Also added the
"valid=" parameter to the "resolver" directive that can be used to
override the cache validity time.
Patch by Kirill A. Korinskiy with minor changes.
2011-11-16 13:11:39 +00:00
Valentin Bartenev
963315aca0
Fixed incorrect counting the length of headers in a SCGI request.
2011-11-16 12:51:27 +00:00
Maxim Dounin
2b24a67268
Fixed handling of SIGWINCH/NOACCEPT signal.
...
After first upgrade it was ignored since r4020 (1.1.1, 1.0.9) as
ngx_daemonized wasn't set.
2011-11-15 20:35:41 +00:00
Maxim Dounin
2fd9b49334
Version bump.
2011-11-15 20:33:37 +00:00
Igor Sysoev
07bb4ed971
Introduction of simple ngx_write_stderr() instead of ngx_log_stderr()
...
for output of ./configure options, etc., since ngx_log_stderr() output
length is limited by 2048 characters defined as NGX_MAX_ERROR_STR.
2011-11-14 14:59:00 +00:00
Igor Sysoev
dd4490c4e4
Fix of "Content-Length" header of MP4 response if start argument was used.
...
Patch by Piotr Sikora.
2011-11-14 14:42:48 +00:00
Valentin Bartenev
255e20ad21
Renamed ngx_http_limit_zone_module to ngx_http_limit_conn_module.
2011-11-14 14:04:42 +00:00
Maxim Dounin
80e3cba5fd
Reverted incorrect change in internal md5 (part of r3928).
2011-11-14 13:38:02 +00:00
Maxim Dounin
030523dff0
Fixed fastcgi/scgi/uwsgi_param inheritance.
...
The following problems were fixed:
1. Directive fastcgi_cache affected headers sent to backends in unrelated
servers / locations (see ticket #45 ).
2. If-Unmodified-Since, If-Match and If-Range headers were sent to backends
if fastcgi_cache was used.
3. Cache-related headers were sent to backends if there were no fastcgi_param
directives and fastcgi_cache was used at server level.
2011-11-14 13:26:18 +00:00
Maxim Dounin
ca01f46103
Separate functions to merge fastcgi/scgi/uwsgi params.
...
No functional changes.
2011-11-14 13:24:43 +00:00
Maxim Dounin
86a851907b
Fixed Upgrade header clearing with proxy_cache.
...
This was missed in proxy HTTP/1.1 support commit (r4127).
2011-11-14 13:21:10 +00:00
Maxim Dounin
962727b259
Fixed proxy_set_header inheritance with proxy_set_body.
2011-11-14 13:19:56 +00:00
Maxim Dounin
b5984de06b
Fixed proxy_set_header inheritance with proxy_cache (ticket #45 ).
...
Headers cleared with cache enabled (If-Modified-Since etc.) might be cleared
in unrelated servers/locations without proxy_cache enabled if proxy_cache was
used in some server/location.
Example config which triggered the problem:
proxy_set_header X-Test "test";
server { location /1 { proxy_cache name; proxy_pass ... } }
server { location /2 { proxy_pass ... } }
Another one:
server {
proxy_cache name;
location /1 { proxy_pass ... }
location /2 { proxy_cache off; proxy_pass ... }
}
In both cases If-Modified-Since header wasn't sent to backend in location /2.
Fix is to not modify conf->headers_source, but instead merge user-supplied
headers from conf->headers_source and default headers (either cache or not)
into separate headers_merged array.
2011-11-14 13:18:15 +00:00
Sergey Budnevitch
66a60a62cc
Fixed NGX_CONF_TAKE1/NGX_CONF_FLAG misuse.
2011-11-14 09:12:15 +00:00
Valentin Bartenev
1dbd331849
Limit zone: added the "limit_conn_zone" directive.
...
It supersedes old "limit_zone" directive (deprecated accordingly) and uses
syntax consistent with the "limit_req_zone" directive.
2011-11-10 16:25:08 +00:00
Valentin Bartenev
aaf5a5772f
Limit zone: support for multiple "limit_conn" limits.
2011-11-10 16:08:13 +00:00
Valentin Bartenev
54660dcf74
Limit zone: rbtree lookup moved to a separate function.
...
No functional changes.
2011-11-10 15:51:55 +00:00
Ruslan Ermilov
2f37fbc8f9
Changed error message to be more appropriate in the imaginary
...
"open_file_cache max=0" case.
2011-11-10 09:13:09 +00:00
Igor Sysoev
eb499bab59
Fixed compression pointer processing in DNS response greater than 255 bytes.
...
Thanks to Ben Hawkes.
2011-11-09 13:54:07 +00:00
Igor Sysoev
d0bcad3445
Fix of "keepalive_disable" directive.
2011-11-08 13:48:23 +00:00
Igor Sysoev
a8963fbbcf
The "image_filter_sharpen" directive.
2011-11-08 13:17:14 +00:00
Igor Sysoev
ff2bee1fa9
Ancient incomplete ngx_http_status_module removal.
2011-11-01 15:16:28 +00:00
Igor Sysoev
0d03a44aab
Version bump.
2011-11-01 15:10:46 +00:00
Igor Sysoev
a2ffa56106
Silently ignoring a stale global SSL error left after disabled renegotiation.
2011-10-31 14:30:03 +00:00
Maxim Dounin
ca495238bd
Fixed segfault on configuration testing with ssl (ticket #37 ).
...
The following config caused segmentation fault due to conf->file not
being properly set if "ssl on" was inherited from the http level:
http {
ssl on;
server {
}
}
2011-10-31 09:57:14 +00:00
Maxim Dounin
0d59500343
Event pipe: reduced number of file buffers used.
...
If possible we now just extend already present file buffer in p->out chain
instead of keeping ngx_buf_t for each buffer we've flushed to disk. This
saves about 120 bytes of memory per buffer flushed to disk, and resolves
high CPU usage observed in edge cases (due to coalescing these buffers on
send).
2011-10-31 09:54:55 +00:00
Maxim Dounin
59205ce109
Event pipe: fixes for complex protocols.
...
1. In ngx_event_pipe_write_chain_to_temp_file() make sure to fully write
all shadow buffers up to last_shadow. With this change recycled buffers
cannot appear in p->out anymore. This also fixes segmentation faults
observed due to ngx_event_pipe_write_chain_to_temp() not freeing any
raw buffers while still returning NGX_OK.
2. In ngx_event_pipe_write_to_downstream() we now properly check for busy
size as a size of buffers, not a size of data in these buffers. This
fixes situations where all available buffers became busy (including
segmentation faults due to this).
3. The ngx_event_pipe_free_shadow_raw_buf() function is dropped. It's
incorrect and not needed.
2011-10-31 09:53:16 +00:00
Igor Sysoev
59695881ce
Decrease of log level of some SSL handshake errors.
2011-10-25 15:04:09 +00:00
Ruslan Ermilov
f12d6ceb65
Fixed port range checking.
2011-10-25 13:48:43 +00:00
Ruslan Ermilov
c5762451a9
Fixed range checking for the "somaxconn" sysctl.
2011-10-25 13:48:05 +00:00
Igor Sysoev
620718102b
Support of several servers in the "resolver" directive.
...
Patch by Kirill A. Korinskiy.
2011-10-24 16:09:05 +00:00
Igor Sysoev
ba71972b21
Using of junk value in slab allocator similar to modern FreeBSD values.
2011-10-24 15:50:19 +00:00
Igor Sysoev
efc6ecab82
malloc() debugging on MacOSX.
2011-10-24 15:46:48 +00:00
Igor Sysoev
b9c859e6d5
FreeBSD's MALLOC_OPTIONS must be set before any malloc() call.
...
The bug has been introduced in r3799.
2011-10-24 12:59:01 +00:00
Maxim Dounin
ce61ff9c45
Fixed another return in unix ngx_write_chain_to_file().
...
Previous patch missed special case for one iovec, it needs total bytes
written to be returned as well.
2011-10-21 11:04:46 +00:00
Maxim Dounin
aecb2eda13
Fixed unix ngx_write_chain_to_file() to return total bytes written.
...
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-10-20 12:40:26 +00:00
Igor Sysoev
5f81070523
Fixing conflict with SDK off_t definition.
2011-10-20 07:12:45 +00:00
Igor Sysoev
1472e7964b
Recent SDKs allow to build IPV6 only for Windows XP or above.
2011-10-20 07:00:04 +00:00
Maxim Dounin
b167c46ca2
Fixed "expires @time" with unknown last modified time (ticket #32 ).
2011-10-17 17:32:08 +00:00
Maxim Dounin
81b43370d5
Fixed "expires @00h".
2011-10-17 17:30:18 +00:00
Igor Sysoev
6242f77617
Version bump.
2011-10-17 15:39:59 +00:00
Maxim Dounin
31f5a59fae
Added clearing of modules' contexts in ngx_http_named_location().
...
Patch by Yichun Zhang (agentzh).
2011-10-15 21:42:03 +00:00
Maxim Dounin
ba76a89d4b
Fixed utf8 decode (ticket #25 ).
...
Patch by Alexey Kuts.
2011-10-13 13:56:41 +00:00
Igor Sysoev
d51bcf6f63
Skipping location rewrite phase for server null location.
2011-10-13 12:43:22 +00:00
Maxim Dounin
b713e480ca
Better recheck of dead upstream servers.
...
Previously nginx used to mark backend again as live as soon as fail_timeout
passes (10s by default) since last failure. On the other hand, detecting
dead backend takes up to 60s (proxy_connect_timeout) in typical situation
"backend is down and doesn't respond to any packets". This resulted in
suboptimal behaviour in the above situation (up to 23% of requests were
directed to dead backend with default settings).
More detailed description of the problem may be found here (in Russian):
http://mailman.nginx.org/pipermail/nginx-ru/2011-August/042172.html
Fix is to only allow one request after fail_timeout passes, and
mark backend as "live" only if this request succeeds.
Note that with new code backend will not be marked "live" unless "check"
request is completed, and this may take a while in some specific workloads
(e.g. streaming). This is believed to be acceptable.
2011-10-12 14:22:48 +00:00
Maxim Dounin
72df0f400a
Clear old Location header (if any) while adding a new one.
...
This prevents incorrect behaviour when another redirect is issued within
error_page 302 handler.
2011-10-12 13:28:03 +00:00
Maxim Dounin
8650c1eb24
Wording fix, "many data" is incorrect.
...
Noted by Piotr Sikora.
2011-10-12 13:24:59 +00:00
Ruslan Ermilov
fc55962698
Fixed two minor bugs in "types" parsing code.
2011-10-12 09:36:21 +00:00
Ruslan Ermilov
b5c3336e3e
Fixed grammar in a comment.
2011-10-12 09:34:53 +00:00
Ruslan Ermilov
dce7a0c00f
Replaced magic constants representing default values of some directives
...
with appropriate #define's.
2011-10-12 09:33:43 +00:00
Ruslan Ermilov
51a2423633
Stylistic change in checking the boolean expression.
2011-10-12 09:27:34 +00:00
Igor Sysoev
bfe7be45b8
Preallocating exact number of default MIME types entries.
2011-10-12 09:19:57 +00:00
Ruslan Ermilov
c8fdda4c2f
Removed old warning that suggested to use "server_name_in_redirect off"
...
(now the default) in place of no longer supported "server_name *".
2011-10-12 07:20:20 +00:00
Maxim Dounin
b8203e46a0
Additional headers for proxy/fastcgi/uwsgi/scgi_ignore_headers.
...
Now the following headers may be ignored as well: X-Accel-Limit-Rate,
X-Accel-Buffering, X-Accel-Charset.
2011-10-11 18:10:49 +00:00
Maxim Dounin
012e6b6378
Handling of Content-Encoding set from perl.
...
This fixes double gzipping in case of gzip filter being enabled while perl
returns already gzipped response.
2011-10-11 18:01:38 +00:00
Maxim Dounin
0f5f4cb180
Fix for socket leak with "aio sendfile" and "limit_rate".
...
Second aio post happened when timer set by limit_rate expired while we have
aio request in flight, resulting in "second aio post" alert and socket leak.
The patch adds actual protection from aio calls with r->aio already set to
aio sendfile code in ngx_http_copy_filter(). This should fix other cases
as well, e.g. when sending buffered to disk upstream replies while still
talking to upstream.
The ngx_http_writer() is also fixed to handle the above case (though it's
mostly optimization now).
Reported by Oleksandr V. Typlyns'kyi.
2011-10-11 18:00:23 +00:00
Maxim Dounin
b7af402cc4
Fix for connection drops with AIO.
...
Connections serving content with AIO to fast clients were dropped with
"client timed out" messages after send_timeout from response start.
2011-10-11 17:58:51 +00:00
Maxim Dounin
5cc1fb1d5b
Autoindex: escape html in file names.
2011-10-11 17:57:41 +00:00
Maxim Dounin
6226fe3512
Autoindex: escape '?' in file names.
...
For files with '?' in their names autoindex generated links with '?' not
escaped. This resulted in effectively truncated links as '?' indicates
query string start.
This is an updated version of the patch originally posted at [1]. It
introduces generic NGX_ESCAPE_URI_COMPONENT which escapes everything but
unreserved characters as per RFC 3986. This approach also renders unneeded
special colon processing (as colon is percent-encoded now), it's dropped
accordingly.
[1] http://nginx.org/pipermail/nginx-devel/2010-February/000112.html
Reported by Konstantin Leonov.
2011-10-11 17:56:51 +00:00
Maxim Dounin
e3d6c5a33c
Improved access log escaping to better protect other software.
...
Some character sets (notably ISO-8859-1) have C1 control characters in
upper half, make sure to escape them.
Reported by Jesus Olmos Gonzalez.
2011-10-11 17:54:38 +00:00
Igor Sysoev
0d19f020ba
Fixing directive name in error message if types hash size is not enough.
2011-10-11 11:11:44 +00:00
Igor Sysoev
840ef3980c
Fixing mp4 module seeking on 32-bit platforms.
2011-10-11 10:12:44 +00:00
Ruslan Ermilov
2fdb547f3a
Fixed macro name.
2011-10-10 08:38:28 +00:00
Igor Sysoev
94b5460c70
Releasing memory of idle SSL connection. This saves about 34K per SSL
...
connection. The SSL_MODE_RELEASE_BUFFERS option is available since
OpenSSL 1.0.0d.
2011-10-07 12:15:20 +00:00
Igor Sysoev
95084f7e1c
Disabling SSL compression. This saves about 300K per SSL connection.
...
The SSL_OP_NO_COMPRESSION option is available since OpenSSL 1.0.0.
2011-10-07 10:59:02 +00:00
Igor Sysoev
3f34960fde
Version bump.
2011-10-07 10:41:13 +00:00
Ruslan Ermilov
a610127fe3
Improved ngx_parse_time() code readability.
2011-10-07 08:03:16 +00:00
Ruslan Ermilov
6e86fb02d6
Tweaked error messages.
2011-10-07 07:57:24 +00:00
Igor Sysoev
ab0078a4c8
Version bump.
2011-10-05 13:13:25 +00:00
Maxim Dounin
20139ff13a
Fixed cache bypass caching of non-cacheable replies (ticket #21 ).
...
If cache was bypassed with proxy_cache_bypass, cache-controlling headers
(Cache-Control, Expires) wasn't considered and response was cached even
if it was actually non-cacheable.
Patch by John Ferlito.
2011-10-05 10:14:21 +00:00
Maxim Dounin
3aba768855
Added uwsgi_buffering and scgi_buffering directives.
...
Patch by Peter Smit.
2011-09-30 11:53:27 +00:00
Igor Sysoev
f3ae6a6102
Using strtod() instead of atofp() to support a lot of digits after dot in
...
"start" parameter value.
2011-09-30 09:18:28 +00:00
Igor Sysoev
a40e7eed30
Fix of building on platforms with 32-bit off_t. ( closed #23 )
2011-09-29 15:19:36 +00:00
Maxim Dounin
5cc90f309d
Fixed segmentation fault with empty config on Windows.
...
See here for report:
http://mailman.nginx.org/pipermail/nginx-ru/2011-September/043288.html
2011-09-27 12:07:09 +00:00
Maxim Dounin
554768dabb
Fix for "ssl_session_cache builtin" (broken since 1.1.1, r3993).
2011-09-27 12:06:07 +00:00
Maxim Dounin
886c6295ee
Better handling of late upstream creation.
...
Configuration with duplicate upstream blocks defined after first use, i.e.
like
server {
...
location / {
proxy_pass http://backend ;
}
}
upstream backend { ... }
upstream backend { ... }
now correctly results in "duplicate upstream" error.
Additionally, upstream blocks defined after first use now handle various
server directive parameters ("weight", "max_fails", etc.). Previously
configuration like
server {
...
location / {
proxy_pass http://backend ;
}
}
upstream backend {
server 127.0.0.1 max_fails=5;
}
incorrectly resulted in "invalid parameter "max_fails=5"" error.
2011-09-27 11:18:51 +00:00
Maxim Dounin
b16918ed08
Cache: fix for sending of stale responses.
...
For normal cached responses ngx_http_cache_send() sends last buffer and then
request finalized via ngx_http_finalize_request() call, i.e. everything is
ok.
But for stale responses (i.e. when upstream died, but we have something in
cache) the same ngx_http_cache_send() sends last buffer, but then in
ngx_http_upstream_finalize_request() another last buffer is send. This
causes duplicate final chunk to appear if chunked encoding is used (and
resulting problems with keepalive connections and so on).
Fix this by not sending in ngx_http_upstream_finalize_request()
another last buffer if we know response was from cache.
2011-09-27 11:17:11 +00:00
Maxim Dounin
84c58a30e6
Cache: fix for sending of empty responses.
...
Revert wrong fix for empty responses introduced in 0.8.31 and apply new one,
rewritten to match things done by static module as close as possible.
2011-09-27 11:15:35 +00:00
Maxim Dounin
4a3884ae56
Incorrect special case for "return 204" removed.
...
The special case in question leads to replies without body in
configuration like
location / { error_page 404 /zero; return 404; }
location /zero { return 204; }
while replies with empty body are expected per protocol specs.
Correct one will look like
if (status == NGX_HTTP_NO_CONTENT) {
rc = ngx_http_send_header(r);
if (rc == NGX_ERROR || r->header_only) {
return rc;
}
return ngx_http_send_special(r, NGX_HTTP_LAST);
}
though it looks like it's better to drop this special case at all.
2011-09-27 11:14:02 +00:00
Maxim Dounin
77ca973d11
Fix for "return 202" not discarding body.
...
Big POST (not fully preread) to a
location / {
return 202;
}
resulted in incorrect behaviour due to "return" code path not calling
ngx_http_discard_request_body(). The same applies to all "return" used
with 2xx/3xx codes except 201 and 204, and to all "return ... text" uses.
Fix is to add ngx_http_discard_request_body() call to ngx_http_send_response()
function where it looks appropriate. Discard body call from emtpy gif module
removed as it's now redundant.
Reported by Pyry Hakulinen, see
http://mailman.nginx.org/pipermail/nginx/2011-August/028503.html
2011-09-27 11:13:00 +00:00
Maxim Dounin
ad5ef15e08
Fix for double content when return is used in error_page handler.
...
Test case:
location / {
error_page 405 /nope;
return 405;
}
location /nope {
return 200;
}
This is expected to return 405 with empty body, but in 0.8.42+ will return
builtin 405 error page as well (though not counted in Content-Length, thus
breaking protocol).
Fix is to use status provided by rewrite script execution in case
it's less than NGX_HTTP_BAD_REQUEST even if r->error_status set. This
check is in line with one in ngx_http_script_return_code().
Note that this patch also changes behaviour for "return 302 ..." and
"rewrite ... redirect" used as error handler. E.g.
location / {
error_page 405 /redirect;
return 405;
}
location /redirect {
rewrite ^ http://example.com/ ;
}
will actually return redirect to "http://example.com/ " instead of builtin 405
error page with meaningless Location header. This looks like correct change
and it's in line with what happens on e.g. directory redirects in error
handlers.
2011-09-27 11:11:30 +00:00
Maxim Dounin
bfb42ad97c
Fix for incorrect 201 replies from dav module.
...
Replies with 201 code contain body, and we should clearly indicate it's
empty if it's empty. Before 0.8.32 chunked was explicitly disabled for
201 replies and as a result empty body was indicated by connection close
(not perfect, but worked). Since 0.8.32 chunked is enabled, and this
causes incorrect responses from dav module when HTTP/1.1 is used: with
"Transfer-Encoding: chunked" but no chunks at all.
Fix is to actually return empty body in special response handler instead
of abusing r->header_only flag.
See here for initial report:
http://mailman.nginx.org/pipermail/nginx-ru/2010-October/037535.html
2011-09-27 11:09:55 +00:00
Maxim Dounin
5c56f20ae7
Proxy: logging levels tuned, double logging fixed.
2011-09-25 20:04:20 +00:00
Maxim Dounin
aa12f3c7f3
Proxy: whitespaces after chunk size allowed.
...
Whitespaces after chunk size seems to be be allowed by the "implied *LWS" rule
and emitted by some servers.
2011-09-25 20:03:27 +00:00
Maxim Dounin
28b001f897
Upstream: clearing of u->peer.connection on close.
...
This fixes crashes observed with some 3rd party balancer modules. Standard
balancer modules (round-robin and ip hash) explicitly set pc->connection
(aka u->peer.connection) to NULL and aren't affected.
2011-09-25 20:00:36 +00:00
Ruslan Ermilov
b1565cf96b
Fixed error message.
2011-09-23 20:15:27 +00:00
Maxim Dounin
afe2e3d082
Fix of separate pool for upstream connections (r4117).
...
Pool may not be created if connection was created but rejected in connect()
call. Make sure to check if it is here before trying to destroy it.
2011-09-20 10:00:46 +00:00
Maxim Dounin
265e51aa0b
Fixed loss of chain links in ngx_event_pipe_read_upstream().
2011-09-20 09:56:35 +00:00
Maxim Dounin
d1b9a0388d
Fixed loss of chain links in fastcgi module.
2011-09-20 09:56:05 +00:00
Maxim Dounin
e4dab80e80
Fix of cpu hog in event pipe.
...
If client closed connection in ngx_event_pipe_write_to_downstream(), buffers
in the "out" chain were lost. This caused cpu hog if all available buffers
were in the "out" chain. Fix is to call ngx_chain_update_chains() before
checking return code of output filter to avoid loosing buffers in the "out"
chain.
Note that this situation (all available buffers in the "out" chain) isn't
normal, it should be prevented by busy buffers limit. Though right now it
may happen with complex protocols like fastcgi. This should be addressed
separately.
2011-09-20 09:55:27 +00:00
Igor Sysoev
c8df23cb29
The "worker_aio_requests" directive.
...
The default value is 32 AIO simultaneous requests per worker. Previously
they were hardcoded to 1024, and it was too large, since Linux allocated
them early on io_setup(), but not on request itself. So with default value
of /proc/sys/fs/aio-max-nr equal to 65536 only 64 worker processes could
be run simultaneously. 32 AIO requests are enough for modern disks even if
server runs only 1 worker.
2011-09-20 07:30:09 +00:00
Ruslan Ermilov
a823c550e4
Replaced "can not" with "cannot" and "could not" in a bunch of places.
...
Fixed nearby grammar errors.
2011-09-19 14:48:29 +00:00
Ruslan Ermilov
3b7ed02583
Cosmetics: replaced NGX_CONF_TAKE1 to NGX_CONF_FLAG for "sendfile"
...
and "chunked_transfer_encoding" directives, to be in line with all
directives taking a boolean argument. Both flags will ensure that
a directive takes one argument.
2011-09-19 12:41:13 +00:00
Ruslan Ermilov
5d4aed0175
Overhauled diagnostic messages.
2011-09-19 12:37:22 +00:00
Igor Sysoev
aa997c0289
Fixing Linux AIO initiatialization: AIO operations are disabled if kernel
...
does not support them. Previously worker just exited.
2011-09-16 13:41:52 +00:00
Igor Sysoev
4134b48b68
Fixing Linux AIO syscalls return value handling:
...
syscall(2) uses usual libc convention, it returns -1 on error and
sets errno. Obsolete _syscall(2) returns negative value of error.
Thanks to Hagai Avrahami.
2011-09-16 12:43:16 +00:00
Maxim Dounin
c6353a5654
Trailing space fix.
2011-09-16 12:08:52 +00:00
Maxim Dounin
44002e541f
Upstream keepalive module.
2011-09-15 19:28:18 +00:00
Maxim Dounin
2fe0a7a0f6
Proxy: basic HTTP/1.1 support (including keepalive).
...
By default we still send requests using HTTP/1.0. This may be changed with
new proxy_http_version directive.
2011-09-15 19:23:20 +00:00
Maxim Dounin
f2fcf11b25
Protocol version parsing in ngx_http_parse_status_line().
...
Once we know protocol version, set u->headers_in.connection_close to indicate
implicitly assumed connection close with HTTP before 1.1.
2011-09-15 19:22:35 +00:00
Maxim Dounin
f84c69a301
Upstream: Connection header processing.
2011-09-15 19:21:19 +00:00
Maxim Dounin
4686f30a0c
Upstream: Transfer-Encoding header processing.
2011-09-15 19:20:08 +00:00
Maxim Dounin
2da36b30c3
Keepalive support in fastcgi.
...
By default follow the old behaviour, i.e. FASTCGI_KEEP_CONN flag isn't set
in request and application is responsible for closing connection once request
is done. To keep connections alive fastcgi_keep_conn must be activated.
2011-09-15 19:05:23 +00:00
Maxim Dounin
05552a23a2
Keepalive support in memcached.
2011-09-15 19:04:25 +00:00
Maxim Dounin
2d6be3fe93
Upstream: keepalive flag.
...
This patch introduces r->upstream->keepalive flag, which is set by protocol
handlers if connection to upstream is in good state and can be kept alive.
2011-09-15 19:03:15 +00:00
Maxim Dounin
a746bab7c1
Upstream: pipe length and input_filter_init in buffered mode.
...
As long as ngx_event_pipe() has more data read from upstream than specified
in p->length it's passed to input filter even if buffer isn't yet full. This
allows to process data with known length without relying on connection close
to signal data end.
By default p->length is set to -1 in upstream module, i.e. end of data is
indicated by connection close. To set it from per-protocol handlers upstream
input_filter_init() now called in buffered mode (as well as in
unbuffered mode).
2011-09-15 19:00:47 +00:00
Maxim Dounin
ffe4f11417
Upstream: r->upstream->length type change to off_t.
...
Previous use of size_t may cause wierd effects on 32bit platforms with certain
big responses transferred in unbuffered mode.
Nuke "if (size > u->length)" check as it's not usefull anyway (preread
body data isn't subject to this check) and now requires additional check
for u->length being positive.
2011-09-15 18:43:19 +00:00
Maxim Dounin
e19f005daf
Upstream: content_length_n API change.
...
We no longer use r->headers_out.content_length_n as a primary source of
backend's response length. Instead we parse response length to
u->headers_in.content_length_n and copy to r->headers_out.content_length_n
when needed.
2011-09-15 18:33:43 +00:00
Maxim Dounin
360ed25d65
Upstream: separate pool for peer connections.
...
This is required to support persistent https connections as various ssl
structures are allocated from connection's pool.
2011-09-15 18:21:24 +00:00
Maxim Dounin
c42c70f478
Workaround for cpu hog on errors with cached connections.
...
Just doing another connect isn't safe as peer.get() may expect peer.tries
to be strictly positive (this is the case e.g. with round robin with multiple
upstream servers). Increment peer.tries to at least avoid cpu hog in
round robin balancer (with the patch alert will be seen instead).
This is not enough to fully address the problem though, hence TODO. We
should be able to inform balancer that the error wasn't considered fatal
and it may make sense to retry the same peer.
2011-09-15 18:12:58 +00:00
Maxim Dounin
d7c2673d3f
API change: ngx_chain_update_chains() now requires pool.
...
The ngx_chain_update_chains() needs pool to free chain links used for buffers
with non-matching tags. Providing one helps to reduce memory consumption
for long-lived requests.
2011-09-15 16:03:17 +00:00
Maxim Dounin
a890b313f3
Buffers reuse in chunked filter.
...
There were 2 buffers allocated on each buffer chain sent through chunked
filter (one buffer for chunk size, another one for trailing CRLF, about
120 bytes in total on 32-bit platforms). This resulted in large memory
consumption with long-lived requests sending many buffer chains. Usual
example of problematic scenario is streaming though proxy with
proxy_buffering set to off.
Introduced buffers reuse reduces memory consumption in the above problematic
scenario.
See here for initial report:
http://mailman.nginx.org/pipermail/nginx/2010-April/019814.html
2011-09-15 15:25:42 +00:00
Igor Sysoev
57b4fdb6c8
MP4 co64 atom support added.
2011-09-15 13:23:03 +00:00
Igor Sysoev
c940f5fc99
Fix of struct field name.
2011-09-15 05:15:16 +00:00
Igor Sysoev
1fc9a8dec6
Style fix.
2011-09-14 15:26:11 +00:00
Igor Sysoev
acdac73688
Fixing building by gcc-4.7.
2011-09-14 15:25:46 +00:00
Igor Sysoev
4a383594fb
Version bump.
2011-09-14 15:20:01 +00:00
Igor Sysoev
9c5d25179c
Fix of the previous commit: is_directio flag processing introduced in r4077
...
is still worthwhile.
2011-09-14 14:28:55 +00:00
Igor Sysoev
7ffb73c6b7
Bugfix: open_file_cache did not update file info on retest.
...
If file inode was not changed, cached file information was not updated
on retest. As a result stale information might be cached forever if file
attributes was changed and/or file was extended.
This fix also makes obsolete r4077 change of is_directio flag handling,
since this flag is updated together with other file information.
2011-09-14 14:12:35 +00:00
Igor Sysoev
2cc42b74c7
Skipping traks with unsupported media formats.
2011-09-14 14:04:41 +00:00
Igor Sysoev
dcea2ce7d1
Fix of case when start sample does not reside on chunk boundary.
2011-09-14 05:16:20 +00:00
Ruslan Ermilov
59efbc4bcb
In Mac OS X Lion, Apple deprecated the use of the system OpenSSL library
...
in favour of their CommonCrypto library. This change adds a work-around
that allows nginx to still be built on Lion with OpenSSL.
2011-09-13 09:18:43 +00:00
Igor Sysoev
f824fb47fe
Fix of debug message format.
2011-09-12 15:15:00 +00:00
Igor Sysoev
d44855067d
Fix of codec debug message.
2011-09-12 14:54:28 +00:00
Igor Sysoev
3d9ae84bf9
Fix of error message.
2011-09-12 14:46:06 +00:00
Igor Sysoev
7e8ee656a8
Fix of error message.
2011-09-12 13:06:22 +00:00
Igor Sysoev
e07a3577a9
mp4_max_moov_size directive has been renamed to mp4_max_buffer_size.
2011-09-12 09:38:04 +00:00
Igor Sysoev
b1c79a449e
bugfix of r4086: nginx could not be built without debug log.
2011-09-09 11:56:49 +00:00
Igor Sysoev
5d01ac5af3
Bugfix of r4086: directio was always enabled if mp4 file was sent as is.
2011-09-09 11:13:55 +00:00
Igor Sysoev
dde4d7e300
ngx_http_mp4_module
2011-09-09 10:22:34 +00:00
Maxim Dounin
4f65a05d18
Bugfix: open_file_cache lost is_directio flag.
...
On file retest open_file_cache lost is_directio if file wasn't changed.
This caused unaligned operations under Linux to fail with EINVAL.
It wasn't noticeable with AIO though, as errors wasn't properly logged.
2011-09-05 16:36:19 +00:00
Igor Sysoev
3a73e50498
Version bump.
2011-09-05 16:26:51 +00:00
Maxim Dounin
bfbbfc85df
Bugfix: read event was not blocked after reading body.
...
Read event should be blocked after reading body, else undefined behaviour
might occur on additional client activity. This fixes segmentation faults
observed with proxy_ignore_client_abort set.
2011-09-05 12:43:31 +00:00
Maxim Dounin
82854d0d78
Proper setting of read->eof in pipe code.
...
Setting read->eof to 0 seems to be just a typo. It appeared in
nginx-0.0.1-2003-10-28-18:45:41 import (r164), while identical code in
ngx_recv.c introduced in the same import do actually set read->eof to 1.
Failure to set read->eof to 1 results in EOF not being generally detectable
from connection flags. On the other hand, kqueue won't report any read
events on such a connection since we use EV_CLEAR. This resulted in read
timeouts if such connection was cached and used for another request.
2011-09-01 15:10:41 +00:00
Maxim Dounin
a9e3c65d22
Proper SSL shutdown handling.
...
If connection has unsent alerts, SSL_shutdown() tries to send them even
if SSL_set_shutdown(SSL_RECEIVED_SHUTDOWN|SSL_SENT_SHUTDOWN) was used.
This can be prevented by SSL_set_quiet_shutdown(). SSL_set_shutdown()
is required nevertheless to preserve session.
2011-09-01 13:49:36 +00:00
Igor Sysoev
09be2f18c5
Now if client requests more ranges than "max_ranges" permits,
...
nginx disables ranges and returns just the source response.
2011-09-01 13:03:55 +00:00
Igor Sysoev
f560419c54
The "max_ranges" directive.
...
"max_ranges 0" disables ranges support at all,
"max_ranges 1" allows the single range, etc.
By default number of ranges is unlimited, to be precise, 2^31-1.
2011-08-31 09:40:55 +00:00
Igor Sysoev
e81c293289
Style fix: removal of tabs introduced in the previous commit.
2011-08-31 09:26:07 +00:00
Igor Sysoev
65b1592d02
*) fix of r4060: start value should be tested after the "found" label;
...
*) optimization: start value may be tested against end value only,
since end value here may not be greater than content_length.
2011-08-30 20:34:58 +00:00
Igor Sysoev
1f3280bae2
Unsatisfiable range with start value greater than content length
...
was not properly skipped. The bug has been introduced in r4057.
2011-08-30 14:25:35 +00:00
Igor Sysoev
e766153451
ngx_http_range_parse() should be static.
2011-08-30 13:07:33 +00:00
Igor Sysoev
9162057731
Ranges processing small optimization.
2011-08-30 13:06:12 +00:00
Igor Sysoev
451df22b3f
Now unsatisfiable ranges are processed according to RFC 2616.
2011-08-30 13:01:55 +00:00
Igor Sysoev
584703b84a
Ranges processing small optimization.
2011-08-30 12:45:24 +00:00
Igor Sysoev
f2575bd878
Style fix.
2011-08-30 12:28:01 +00:00
Igor Sysoev
c2c3e3105f
Now if total size of all ranges is greater than source response size,
...
then nginx disables ranges and returns just the source response.
This fix should not affect well-behaving applications but will defeat
DoS attempts exploiting malicious byte ranges.
2011-08-26 09:42:50 +00:00
Igor Sysoev
8b2bf08165
Cache size accounting fix: actual cache size on disk was less than
...
needed by sum of sizes of files loaded by worker processes themselves
while cache loader was running.
The bug has been introduced in r3900.
2011-08-25 17:29:34 +00:00
Maxim Dounin
fbc51e4c44
Better handling of various per-server ssl options with SNI.
...
SSL_set_SSL_CTX() doesn't touch values cached within ssl connection
structure, it only changes certificates (at least as of now, OpenSSL
1.0.0d and earlier).
As a result settings like ssl_verify_client, ssl_verify_depth,
ssl_prefer_server_ciphers are only configurable on per-socket basis while
with SNI it should be possible to specify them different for two servers
listening on the same socket.
Workaround is to explicitly re-apply settings we care about from context
to ssl connection in servername callback.
Note that SSL_clear_options() is only available in OpenSSL 0.9.8m+. I.e.
with older versions it is not possible to clear ssl_prefer_server_ciphers
option if it's set in default server for a socket.
2011-08-23 14:36:31 +00:00
Igor Sysoev
631fa929d3
Version bump.
2011-08-23 14:22:34 +00:00
Igor Sysoev
566dfe0c7f
SIGWINCH/NOACCEPT signal is disabled now in non-daemon mode.
...
Non-daemon mode is currently used by supervisord, daemontools and so on
or during debugging. The NOACCEPT signal is only used for online upgrade
which is not supported when nginx is run under supervisord, etc.,
so this change should not break existant setups.
2011-08-22 12:34:48 +00:00
Igor Sysoev
0d18687b03
The change in adaptive loader behaviour introduced in r3975:
...
now cache loader processes either as many files as specified by loader_files
or works no more than time specified by loader_threshold during each iteration.
loader_threshold was previously used to decrease loader_files or
to increase loader_timeout and this might eventually result in
downgrading loader_files to 1 and increasing loader_timeout to large values
causing loading cache for forever.
2011-08-22 10:16:49 +00:00
Maxim Dounin
de1a3e1e0c
Fix buffer overrun under Windows.
2011-08-22 10:07:27 +00:00
Maxim Dounin
ec8186c733
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
...
NetBSD 5.0+ has SO_ACCEPTFILTER support merged from FreeBSD, and having
accept filter check in FreeBSD-specific ngx_freebsd_config.h prevents it
from being used on NetBSD. Therefore move the check into configure (and
do the same for Linux-specific TCP_DEFER_ACCEPT, just to be in line).
2011-08-21 11:37:37 +00:00
Maxim Dounin
5a52d67a08
Fix ignored headers handling in fastcgi/scgi/uwsgi.
...
The bug had appeared in r3561 (fastcgi), r3638 (scgi), r3567 (uwsgi).
2011-08-19 20:11:39 +00:00
Maxim Dounin
65c32b255d
Complain on invalid log levels.
...
Previously only first log level was required to be correct, while error_log
directive in fact accepts list of levels (e.g. one may specify "error_log ...
debug_core debug_http;"). This resulted in (avoidable) wierd behaviour on
missing semicolon after error_log directive, e.g.
error_log /path/to/log info
index index.php;
silently skipped index directive and it's arguments (trying to interpret
them as log levels without checking to be correct).
2011-08-18 21:48:13 +00:00
Maxim Dounin
b7fcb430c1
Upstream: properly allocate memory for tried flags.
...
Previous allocation only took into account number of non-backup servers, and
this caused memory corruption with many backup servers.
See report here:
http://mailman.nginx.org/pipermail/nginx/2011-May/026531.html
2011-08-18 17:04:52 +00:00
Maxim Dounin
624fbe94a2
Fixing cpu hog with all upstream servers marked "down".
...
The following configuration causes nginx to hog cpu due to infinite loop
in ngx_http_upstream_get_peer():
upstream backend {
server 127.0.0.1:8080 down;
server 127.0.0.1:8080 down;
}
server {
...
location / {
proxy_pass http://backend ;
}
}
Make sure we don't loop infinitely in ngx_http_upstream_get_peer() but stop
after resetting peer weights once.
Return 0 if we are stuck. This is guaranteed to work as peer 0 always exists,
and eventually ngx_http_upstream_get_round_robin_peer() will do the right
thing falling back to backup servers or returning NGX_BUSY.
2011-08-18 16:52:38 +00:00
Maxim Dounin
9bc8fc4602
Fixing proxy_set_body and proxy_pass_request_body with SSL.
...
Flush flag wasn't set in constructed buffer and this prevented any data
from being actually sent to upstream due to SSL buffering. Make sure
we always set flush in the last buffer we are going to sent.
See here for report:
http://nginx.org/pipermail/nginx-ru/2011-June/041552.html
2011-08-18 16:34:24 +00:00
Igor Sysoev
c4ff39ae2b
Fix names of the referer hash size directives introduced in r3940.
2011-08-18 16:27:30 +00:00
Maxim Dounin
b09ceca261
Fix body with request_body_in_single_buf.
...
If there were preread data and request body was big enough first part
of the request body was duplicated.
See report here:
http://mailman.nginx.org/pipermail/nginx/2011-July/027756.html
2011-08-18 15:52:00 +00:00
Maxim Dounin
f48b451195
Correctly set body if it's preread and there are extra data.
...
Previously all available data was used as body, resulting in garbage after
real body e.g. in case of pipelined requests. Make sure to use only as many
bytes as request's Content-Length specifies.
2011-08-18 15:27:57 +00:00
Igor Sysoev
de236d3a2c
fix gzip quantity: "q=0." and "q=1." are valid values according to RFC
2011-08-05 08:51:29 +00:00
Igor Sysoev
48d17bca94
refactor gzip quantity introduced in r3981: it ignored "q=1.000"
2011-08-04 14:50:59 +00:00
Igor Sysoev
dfd81a23b2
A new fix for the case when ssl_session_cache defined, but ssl is not
...
enabled in any server. The previous r1033 does not help when unused zone
becomes used after reconfiguration, so it is backed out.
The initial thought was to make SSL modules independed from SSL implementation
and to keep OpenSSL code dependance as much as in separate files.
2011-08-04 11:12:30 +00:00
Igor Sysoev
c42be75569
removal of error message about %name log_format parameters,
...
they have been deleted long ago in 0.5.0-RELEASE
2011-08-03 16:01:36 +00:00
Igor Sysoev
7cce1cacaa
fix typo introduced in r3985
2011-08-02 12:43:01 +00:00
Igor Sysoev
475a5dfcf1
bump version
2011-08-02 12:39:38 +00:00
Igor Sysoev
72a96bfdcb
fix r3981 again for case "Accept-Encoding: gzip"
2011-08-01 14:38:09 +00:00
Igor Sysoev
21fd22d089
always set timer in discard body handler, this fixes the cases
...
when request for static file is redirected by error_page to an SSI page
patch by Maxim Dounin
2011-08-01 13:52:54 +00:00
Igor Sysoev
2505587b4d
lingering_close "off|on|always"
...
patch by Maxim Dounin
2011-08-01 13:26:55 +00:00
Igor Sysoev
41c8a1d27f
do not send RST on normal lingering close read timeout,
...
if reset_timedout_connection is on
patch by Maxim Dounin
2011-08-01 13:08:03 +00:00
Igor Sysoev
bd7dfe44c5
fix r3981 for case "Accept-Encoding: gzip"
2011-08-01 11:21:46 +00:00
Igor Sysoev
2f3668b59b
enable lingering close for pipelined requests
...
patch by Maxim Dounin
2011-08-01 11:08:57 +00:00
Igor Sysoev
721f47ed3c
Accept-Encoding refactoring: "gzip; q=0" support
2011-08-01 11:02:12 +00:00
Igor Sysoev
d743a2339e
Accept-Encoding refactoring: test first the most common case "gzip,"
2011-07-30 07:34:12 +00:00
Igor Sysoev
6652cc5962
Accept-Encoding refactoring: remove ancient MSIE 4.x test for gzip
2011-07-30 06:20:06 +00:00
Igor Sysoev
c9468026e7
test length of proxy_pass with variables
...
patch by Lanshun Zhou
2011-07-30 06:11:46 +00:00
Igor Sysoev
c2f852c260
update r3945 with more descriptive error message
2011-07-29 15:33:03 +00:00
Igor Sysoev
922f106582
loader_files, loader_sleep, and loader_threshold
2011-07-29 15:09:02 +00:00
Igor Sysoev
d5a25a4b97
set correct configuration file values while adding path
...
patch by Maxim Dounin
2011-07-25 10:22:38 +00:00
Igor Sysoev
1850ce09a1
rename ngx_http_file_cache_manager_sleep() to ngx_http_file_cache_loader_sleep()
...
and do not use it all in cache manager: this is a vestige of the times when
cache manager loaded cache
2011-07-25 09:45:00 +00:00
Igor Sysoev
d8ce166e2e
do not close connection if cache file is too small: replace it with valid one
2011-07-24 20:04:47 +00:00
Igor Sysoev
c2cafadfa5
elimination of reading cache files by cache loader
2011-07-24 19:46:53 +00:00
Igor Sysoev
92161bac79
fix r3968
2011-07-24 19:43:52 +00:00
Igor Sysoev
6cb6fc4a09
update the previous commit:
...
removing dependencies on file uniq since WIN32_FIND_DATA has no such field
2011-07-24 17:36:26 +00:00
Igor Sysoev
c1250b6a49
The cache loader performs two tasks: inserting cache objects in inactivity
...
list and evaluating total cache size. Reading just directory is enough for
this purpose. Elimination of reading cache files saves at least one disk I/O
operation per file.
Preparation for elimination of reading cache files by cache loader:
removing dependencies on the reading:
*) cache node valid_sec and valid_msec are used only for caching errors;
*) upstream buffer size can be used instead of cache node body_start.
2011-07-24 16:47:31 +00:00
Igor Sysoev
bb389f6111
fuse two if's in one condition
2011-07-24 16:10:06 +00:00
Igor Sysoev
64d024605a
style fix
2011-07-24 16:06:24 +00:00
Igor Sysoev
08b597592f
do not try to reuse and save a SSL session for a peer created on the fly
...
by ngx_http_upstream_create_round_robin_peer(), since the peer lives
only during request so the saved SSL session will never be used again
and just causes memory leak
patch by Maxim Dounin
2011-07-22 16:30:17 +00:00
Igor Sysoev
a3741fb24d
finalizing with rc == 0 in unbuffered proxy mode caused nginx to wait
...
for another send_timeout before actually closing client's connection
if client timed out while still talking to upstream server
patch by Maxim Dounin
2011-07-22 13:30:16 +00:00
Igor Sysoev
b0b6bcedfc
fix SSL connection issues on platforms with 32-bit off_t
...
patch by Maxim Dounin
2011-07-22 12:53:04 +00:00
Igor Sysoev
a7ed0951e3
fix build by gcc46 with -Wunused-value option
...
patch by Maxim Dounin
2011-07-22 10:43:50 +00:00
Igor Sysoev
f39642a907
ECDHE support
...
patch by Adrian Kotelba
2011-07-20 15:42:40 +00:00
Igor Sysoev
e61ba26744
MSIE export versions are rare now, so RSA 512 key is generated on demand
...
and is shared among all hosts instead of pregenerating for every HTTPS host
on configuraiton phase. This decreases start time for configuration with
large number of HTTPS hosts.
2011-07-20 12:59:24 +00:00
Igor Sysoev
2551f4a55d
bump version: 1.1.0 development version
2011-07-20 09:29:25 +00:00
Igor Sysoev
6c3c3bbe42
fix segfault if cache key is larger than upstream buffer size
...
patch by Lanshun Zhou
2011-07-19 11:24:16 +00:00
Igor Sysoev
82afb9cc86
$uid_reset
2011-07-19 11:21:50 +00:00
Igor Sysoev
a0202f26c6
fix r3756: release lock to allow other process to delete cache node
...
patch by Maxim Dounin
2011-07-19 10:35:02 +00:00
Igor Sysoev
99f2b9e063
fix building by MSVC
2011-07-18 15:00:05 +00:00
Igor Sysoev
87ee007022
revert r3935 and fix "stalled cache updating" alert
...
by freeing cache at upstream finalize phase
patch by Maxim Dounin
2011-06-28 13:26:08 +00:00
Igor Sysoev
f58154db2f
referer_hash_max_size and referer_hash_bucket_size directives
...
patch by Witold Filipczyk
2011-06-28 10:40:44 +00:00
Igor Sysoev
8d7b1d222e
use !aNULL to disable all anonymous cipher suites
...
patch by Rob Stradling
2011-06-27 15:47:51 +00:00
Igor Sysoev
0a860a1c1d
bump version
2011-06-27 15:34:44 +00:00
Igor Sysoev
1788ec0c48
fix "stalled cache updating" alert,
...
when non-cachable HEAD response did not not free an expired cache node
2011-06-01 08:02:34 +00:00
Igor Sysoev
5343bf3221
revert r3875 since now map uses case sensetive regexes by default
2011-05-30 14:24:17 +00:00
Igor Sysoev
53d05b969b
change ngx_http_map_find(): use case sensitive regexes
2011-05-30 12:36:17 +00:00
Igor Sysoev
36aadf7eba
fix building on FreeBSD 6 or earlier against system md5
2011-05-27 13:30:53 +00:00
Igor Sysoev
e620fdac65
make built-in ngx_md5_update() interface consistent with other implemenations
2011-05-27 10:00:46 +00:00
Igor Sysoev
c4793b6505
fix building --without-http_auth_basic_module,
...
the bug has been introduced in r3923
2011-05-26 07:32:48 +00:00
Igor Sysoev
ce2229e2f7
bump version
2011-05-26 07:31:40 +00:00
Igor Sysoev
5dc5945ccf
"$apr1", "{PLAIN}", and "{SSHA}" password methods in auth basic module
...
patch by Maxim Dounin
2011-05-16 14:54:50 +00:00
Igor Sysoev
ffc7271250
fix testing IPv4 address mapped to IPv6, when only IPv6 access rules are defined
2011-05-16 14:01:23 +00:00
Igor Sysoev
529b5f1938
support IPv4 mapped to IPv6 in geo module
2011-05-16 13:54:42 +00:00
Igor Sysoev
dd39f60014
support IPv4 mapped to IPv6 in geoip module
2011-05-16 13:50:58 +00:00
Igor Sysoev
868db976d7
fix debug logging
2011-05-13 10:06:56 +00:00
Igor Sysoev
0d6283918f
fix a broken cached response if bypass/no_cache directive values are different,
...
the bug has been introduced in r3700
2011-05-13 10:05:38 +00:00
Igor Sysoev
50733a53ec
geoip_org
...
patch by Alexander Uskov
2011-05-11 09:34:21 +00:00
Igor Sysoev
20b52bec63
fix typo
2011-05-11 09:25:37 +00:00
Igor Sysoev
dc336358ab
bump version
2011-05-11 09:19:48 +00:00
Igor Sysoev
49ae93034d
gdImageCopyRotated() may images of even height or width
...
patch by Adam Bocim
2011-05-10 12:04:57 +00:00
Igor Sysoev
e2c8ad7122
use POSIX semaphores in shmtx instead of sched_yield()
...
number of spinlock spins are increased twice
2011-05-10 11:39:13 +00:00
Igor Sysoev
e691d94a39
bump version
2011-05-04 12:20:32 +00:00
Igor Sysoev
eecc540da8
test zero value in an "if" directive consistently with predicates fixed in r3894
...
thanks to Maxim Dounin
2011-05-03 09:52:27 +00:00
Igor Sysoev
2bd01a0f01
revert r3864, it may cause kernel panic on some kernels while working with IPv6
2011-04-23 17:27:55 +00:00
Igor Sysoev
efde3eb92e
fix building by gcc 4.6 without --with-debug
2011-04-23 17:25:06 +00:00
Igor Sysoev
c37192b537
style fix: remove trailing spaces
2011-04-23 13:11:17 +00:00
Igor Sysoev
ef1f33b0db
Use more precise stat.st_blocks to account cache size on Unix
...
instead of file length rounded to a file system block size.
There is no similar way on Windows, so rounding to a cache->bsize is kept.
2011-04-22 10:06:43 +00:00
Igor Sysoev
64efecc2b5
allow to use $upstream_... variables in SSI
2011-04-21 10:07:07 +00:00
Igor Sysoev
423ee58e76
fix r3713
...
thanks to Igor A. Valcov
2011-04-19 12:29:16 +00:00
Igor Sysoev
b3451785fe
an internal MD5 implemenation
...
patch by Maxim Dounin
2011-04-15 15:58:06 +00:00
Igor Sysoev
9813a1999c
fix segfault in IPv6 parsing while processing invalid IPv4 address X.YYYY.Z
...
patch by Maxim Dounin
2011-04-15 13:50:27 +00:00
Igor Sysoev
14fe2dd94a
values starting with '0' were incorrectly assumed to be false
...
patch by Maxim Dounin
2011-04-15 12:24:18 +00:00
Igor Sysoev
432760ee4d
use MurmurHash2 for split_clients, because
...
its distribution is much better than CRC32's one
2011-04-15 10:59:57 +00:00
Igor Sysoev
42f1e1cb96
ngx_murmur_hash2()
2011-04-15 10:59:24 +00:00
Igor Sysoev
0bd0b2894c
bump version
2011-04-15 10:58:44 +00:00
Igor Sysoev
d63104eea4
use memmove() in appropriate places
2011-04-12 08:02:46 +00:00
Igor Sysoev
d80bcbcd0f
"satisfy any" disabled custom 401 error page
2011-04-11 14:17:31 +00:00
Igor Sysoev
711eeb8514
fix CPU hog in cache manager
...
patch by Maxim Dounin
2011-04-08 15:27:53 +00:00
Igor Sysoev
ea38fe54bd
fix "image_filter rotate 180" and crop case
...
the bug has been introduced in r3879
2011-04-07 09:12:30 +00:00
Igor Sysoev
f352259dd6
bump version
2011-04-07 09:08:52 +00:00
Igor Sysoev
4956ac5108
reuse keepalive connections if there are no free worker connections
...
patch by Maxim Dounin
2011-04-04 12:26:53 +00:00
Igor Sysoev
fde7d51392
fix case when a host in fastcgi_pass, scgi_pass, and uwsgi_pass
...
is given by expression and refers to a defined upstream
2011-04-04 10:43:21 +00:00
Igor Sysoev
450c981ab9
image filter rotate
...
patch by Adam Bocim
2011-04-04 09:57:32 +00:00
Igor Sysoev
b8fb0a15a2
bump version
2011-04-04 09:46:00 +00:00
Igor Sysoev
921ac21acf
map tests values in low case only, so caseless regex has no sense
2011-03-21 15:18:59 +00:00
Igor Sysoev
c9d671cd81
$time_iso8601 log variable
...
patch by Michael Lustfield
2011-03-16 15:46:57 +00:00
Igor Sysoev
0519b43a77
allow regex as "map" parameter
2011-03-16 15:32:31 +00:00
Igor Sysoev
32c73df97a
remove semicolon, because it is already in "nginx: " prefix
2011-02-21 11:47:28 +00:00
Igor Sysoev
22434e4c72
fix warnings
2011-02-21 11:44:26 +00:00
Igor Sysoev
2a526d4969
bump version
2011-02-21 10:03:28 +00:00
Igor Sysoev
d53c836214
fix u->one_addr handling in ngx_inet_resolve_host()
...
patch by Maxim Dounin
2011-02-17 15:01:16 +00:00
Igor Sysoev
95899a3f19
use backlog -1 on Linux
...
thanks to Andrei Nigmatulin
2011-02-17 14:14:50 +00:00
Igor Sysoev
b2492255f8
always test proxy_redirect with slash, this fixes a case when nginx uses
...
proxy_pass "http://www ", upstream redirects to "http://www.host/uri ",
and nginx rewrites it as ".host/uri"
patch by Maxim Dounin
2011-02-17 11:54:35 +00:00
Igor Sysoev
4d6db4a7ab
set current atime while setting mtime
...
patch by Andrei Nigmatulin
2011-02-11 08:02:35 +00:00
Igor Sysoev
64d5f9ba26
fix "error_page 497 https://" case
...
patch by Maxim Dounin
the bug has been introduced in r3782
2011-02-01 16:18:55 +00:00
Igor Sysoev
eb1a344dd3
utf8 parameter of geoip_country and geoip_city
...
patch by Denis F. Latypoff
2011-01-27 12:51:59 +00:00
Igor Sysoev
ab54e21633
bump version
2011-01-27 12:43:11 +00:00
Igor Sysoev
8dbc8a97dd
server_name $hostname
2011-01-20 15:31:24 +00:00
Igor Sysoev
d19c93d127
style fix: remove trailing spaces
2011-01-20 15:29:53 +00:00
Igor Sysoev
cfc5c25589
move setting conf->server_name in merge phase
2011-01-20 15:15:50 +00:00
Igor Sysoev
cc878dc6ac
use SwitchToThread() instead of Sleep(0), because the later
...
may not yield control, if there is no thread with higher priority
2011-01-20 13:06:21 +00:00
Igor Sysoev
3d86ad3f95
fix building on Fedora 14
...
patch by Kirill A. Korinskiy
2011-01-20 12:33:17 +00:00
Igor Sysoev
8e8251a317
fix large stderr handling without http cache
...
patch by Maxim Dounin
the bug has been introduced in r3461
2011-01-20 12:23:00 +00:00
Igor Sysoev
26cf2c96ea
introduce 494 code "Request Header Too Large"
2011-01-20 10:37:58 +00:00
Igor Sysoev
87f744c24b
use boolean expression instead of "if"
2010-12-15 14:10:33 +00:00
Igor Sysoev
f00e81d75a
rename NGX_HTTP_OWN_CODES to NGX_HTTP_NGINX_CODES
2010-12-14 23:04:26 +00:00
Igor Sysoev
dc61c0a153
bump version
2010-12-14 22:54:04 +00:00
Igor Sysoev
2567c92ace
allow "env" to work in the single process mode
2010-12-13 10:55:15 +00:00
Igor Sysoev
5644c43caf
always run regex in server_name to get captures for IPv6 addresses,
...
the same fix for IPv4 addresses has been made in r2584
2010-12-12 21:13:27 +00:00
Igor Sysoev
1fdb004f52
test wildcard tail hash existance for IPv6 addresses,
...
the same fix for IPv4 addresses has been made in r2581
2010-12-12 21:10:59 +00:00
Igor Sysoev
7c2611a231
style fix
2010-12-12 20:11:31 +00:00
Igor Sysoev
076ad1672b
remove semicolon, because it is already in "nginx: " prefix
2010-12-11 10:59:26 +00:00
Igor Sysoev
5491139caf
bump version
2010-12-06 14:40:40 +00:00
Igor Sysoev
3e3ee60b99
remove SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG becuase of CVE-2010-4180
2010-12-06 11:17:03 +00:00
Igor Sysoev
ec4df838c8
"If-Unmodified-Since" support
2010-12-06 11:11:05 +00:00
Igor Sysoev
0c39c27412
fix building by msvc8 introduced by the previous commit
2010-12-02 14:20:51 +00:00
Igor Sysoev
a07d6ec39f
fallback to accept() if accept4() is not implemented,
...
the issue has been introduced in r3787
2010-12-02 10:05:41 +00:00
Igor Sysoev
86ffd9b10f
bump version
2010-11-30 13:26:21 +00:00
Igor Sysoev
f5798d8c0d
fix comment
2010-11-29 19:41:53 +00:00
Igor Sysoev
bd4c8e88ee
revert processing NGX_OK in rewrite phase changed in r3798,
...
this broke "return 204" and "return code text"
2010-11-29 19:40:54 +00:00
Igor Sysoev
c219a6f7d0
bump version
2010-11-29 19:39:26 +00:00
Igor Sysoev
c19b848976
add "nginx: " prefix when logging to the stderr
2010-11-29 15:01:06 +00:00
Igor Sysoev
a979d9fb30
move ngx_strerror_init() at the very start
2010-11-29 15:00:02 +00:00
Igor Sysoev
8c6144f022
revert processing NGX_OK and NGX_DONE in rewrite phase changed in r3634
2010-11-29 14:01:17 +00:00
Igor Sysoev
d4b08c9134
allocate last zero byte in ngx_crypt()
2010-11-29 09:23:25 +00:00
Igor Sysoev
f83d6cf0f7
style fix
2010-11-26 13:58:28 +00:00
Igor Sysoev
02677300d1
fix building by icc8
2010-11-26 13:36:36 +00:00
Igor Sysoev
6946ed75b6
keepalive_disable
2010-11-26 12:40:56 +00:00
Igor Sysoev
97d32cb169
allow variable as "map" value
2010-11-26 12:25:51 +00:00
Igor Sysoev
07335d89df
use "\" to escape "default", "include", and "hostnames" values instead of "!"
2010-11-25 15:36:24 +00:00
Igor Sysoev
04e145d2da
allow empty value as "map" parameter
2010-11-25 15:24:29 +00:00
Igor Sysoev
67e6bafc90
allow expressions in the first "map" parameter
2010-11-25 15:22:43 +00:00
Igor Sysoev
7f31a2098d
use copied strerror() messages and autoconfigured sys_nerr value
2010-11-25 11:04:03 +00:00
Igor Sysoev
40747ad861
Linux accept4() support
2010-11-25 10:15:04 +00:00
Igor Sysoev
601ca7cd6e
bump version
2010-11-24 13:41:37 +00:00
Igor Sysoev
a64b716b22
allow override redirect status in error_page
2010-10-18 10:14:00 +00:00
Igor Sysoev
c5d1790e1d
change order of limit_req lookup result processing
2010-10-14 09:20:01 +00:00
Igor Sysoev
622721a598
an excess was logged as 0.000 if requests were limited without delay:
...
*) use a real excess value instead of non-updated limit_req rbtree node field,
*) move inactivity queue handling inside ngx_http_limit_req_lookup()
since the node is not required outside the lookup function;
the bug has been introduced in r3184
2010-10-13 20:58:41 +00:00
Igor Sysoev
824856fc10
always update an aio_senfile connection flag accodring to a current
...
location configuration, this clears the flag for requests passed
via a keep-alive connection
2010-10-12 12:18:39 +00:00
Igor Sysoev
3bff22f2e2
update event flags after successful io_submit()
2010-10-12 12:11:11 +00:00
Igor Sysoev
89eae52df8
file AIO read may be posted inside loop
2010-10-12 12:06:52 +00:00
Igor Sysoev
7087d5d72a
add default listen port at the end of server block parsing instead of
...
merge phase: otherwise the first server without an listen directive
did not become the default server if there was no explicit default server;
the bug has been introduced in r3218
2010-10-11 18:48:18 +00:00
Igor Sysoev
21dba41f5b
fix testing, the bug has been introduced in r3218
2010-10-08 11:42:05 +00:00
Igor Sysoev
5fffff997f
gzip_disable degradation
2010-10-04 15:03:00 +00:00
Igor Sysoev
81aa52829a
ngx_http_degraded()
2010-10-04 14:59:41 +00:00
Igor Sysoev
61d5e5e67f
bump version
2010-10-04 13:50:09 +00:00
Igor Sysoev
bfec9887ce
nginx uses SSL mode for a listen socket with any option set,
...
the bug has been introduced in r3765
2010-09-28 06:50:52 +00:00
Igor Sysoev
a397c7faaa
bump version
2010-09-28 06:46:58 +00:00
Igor Sysoev
f79878e5d9
allow duplicate listen ssl options
2010-09-27 11:48:12 +00:00
Igor Sysoev
49ac2b2b45
decrease resolver errors level to error
2010-09-27 11:23:45 +00:00
Igor Sysoev
8c70e67f7b
worker_rlimit_core should be off_t
2010-09-15 15:24:21 +00:00
Igor Sysoev
9a62648f7b
fix typo
2010-09-13 12:44:43 +00:00
Igor Sysoev
12f4da4695
discard "secure_link_expires on|off"
2010-09-06 14:19:18 +00:00
Igor Sysoev
c13a4098b7
bump version
2010-09-06 11:07:07 +00:00
Igor Sysoev
94e9aaa8ad
new ngx_http_secure_link_module with secure_link, secure_link_md5, and
...
secure_link_expires
2010-09-02 14:37:16 +00:00
Igor Sysoev
a256afd064
fix race condition if during reconfiguration two cache managers try
...
to delete old inactive entries: one of them removes a entry just locked by
other manager from the queue and the rbtree as long inactive entry,
causes the latter manager to segfault leaving cache mutex locked,
the bug has been introduced in r3727
2010-09-02 14:31:47 +00:00
Igor Sysoev
3730543c26
gzip_disable msie6 ignored other patterns
2010-09-02 14:02:57 +00:00
Igor Sysoev
31e6fc82cc
gzip_disable compiled always the first pattern only
2010-09-02 14:01:58 +00:00
Igor Sysoev
4db3b3e2c4
gzip_disable msie6 did not inherited if nginx was built without PCRE
2010-09-02 13:54:28 +00:00
Igor Sysoev
8a9f761927
add "Global\" prefix for signal events
2010-09-02 13:49:05 +00:00
Igor Sysoev
2cb30f153f
the -q switch
2010-09-02 13:43:02 +00:00
Igor Sysoev
f7dd767e57
if a location is specified by regex, then always compile an "alias",
...
even into one static string script: this elimates testing this
too specific case inside ngx_http_map_uri_to_path()
2010-08-26 12:33:08 +00:00
Igor Sysoev
f380df5e20
bump version
2010-08-25 12:30:08 +00:00
Igor Sysoev
d39b9ec19d
image_filter_jpeg_quality supports variables
2010-08-06 15:55:05 +00:00
Igor Sysoev
7268cc8c6e
zero fcn->updating after node allocation
2010-08-04 13:34:23 +00:00
Igor Sysoev
2b74841a4f
error status codes could be cached for next request only,
...
the bug has been introduced in r3712
2010-08-04 12:55:27 +00:00
Igor Sysoev
541d8c698a
we can free GeoIPRecord just after GeoIP_region_name_by_code(),
...
because it returns a statically allocated string
2010-08-03 18:38:08 +00:00
Igor Sysoev
a999586594
fix segfault, the bug has been introduced in r3738
2010-08-03 18:27:56 +00:00
Igor Sysoev
6dd6aefaa7
bump version
2010-08-03 18:24:18 +00:00
Igor Sysoev
395f35e5fa
$geoip_region_name
2010-08-03 15:01:34 +00:00
Igor Sysoev
dc87ab5a69
$geoip_dma_code and $geoip_area_code
2010-08-03 14:19:49 +00:00
Igor Sysoev
41212d27fa
fix fastcgi_split_path_info, if URI was not fully captured
2010-08-03 13:35:48 +00:00
Igor Sysoev
81cd5e4f6f
*) make code consistent to fastcgi, etc
...
*) remove STUB comment
2010-08-03 12:59:14 +00:00
Igor Sysoev
e4994fbacb
use NULL instead of 0
2010-08-03 12:53:06 +00:00
Igor Sysoev
b16b8ddae6
delete surplus assignment
2010-08-03 09:42:53 +00:00
Igor Sysoev
90f95522a5
inherit proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass inside
...
a limit_except block if no handler was defined for the block
2010-08-03 09:24:25 +00:00
Igor Sysoev
0ec5492189
ngx_http_conf_get_module_srv_conf() and ngx_http_conf_get_module_loc_conf()
...
may be used at merge phase
2010-08-02 15:28:04 +00:00
Igor Sysoev
6d9d07b16a
fix directive type
2010-08-02 12:47:52 +00:00
Igor Sysoev
029299aaa4
change logic slightly
2010-08-02 12:34:15 +00:00
Igor Sysoev
c7b2e2a570
change order
2010-08-02 12:32:33 +00:00
Igor Sysoev
2108fabea2
*) delete cache key node after a cache file removal
...
*) move fileless cache key node removal in ngx_http_file_cache_delete()
2010-08-02 12:27:58 +00:00
Igor Sysoev
0e0e0af51b
escape ";" in arguments
2010-07-30 13:25:19 +00:00
Igor Sysoev
1cd46b88a4
count cache key node usage for cached error statuses
2010-07-30 12:41:55 +00:00
Igor Sysoev
09ce1e2d89
do not free unused cache node if cache min_uses > 1,
...
the bug has been introduced in r3695, r3708, r3711
2010-07-30 10:20:08 +00:00
Igor Sysoev
10f8d5d74e
return 415 on too big image in image filter
2010-07-29 15:40:03 +00:00
Igor Sysoev
7c50789e2a
change default server_name_in_redirect value to off,
...
since default server_name is empty
2010-07-29 10:01:31 +00:00
Igor Sysoev
a69cf2d005
use an empty name as default server_name instread of hostname
2010-07-29 10:00:04 +00:00
Igor Sysoev
e8cf60da34
allow server_name "" as the first name
2010-07-29 09:55:54 +00:00
Igor Sysoev
6b45b065fe
decrease SSL handshake error level to info
2010-07-29 09:30:15 +00:00
Igor Sysoev
6f2796af04
bump version
2010-07-29 08:10:22 +00:00
Igor Sysoev
9135a0e022
move debug logging inside ngx_http_file_cache_free()
2010-07-28 15:56:56 +00:00
Igor Sysoev
14c95f99ac
fix $request_time for subrequests
2010-07-28 15:51:50 +00:00
Igor Sysoev
406a68003c
several changes in cache cleanup handling:
...
*) now ngx_http_file_cache_cleanup() uses ngx_http_file_cache_free()
*) ngx_http_file_cache_free() interface has been changed to accept r->cache
ngx_http_file_cache_cleanup() must use r->cache, but not r, because
there can be several r->cache's during request processing, r->cache may
be NULL at request finalising, etc.
*) test if updating request does not complete correctly
2010-07-28 15:49:34 +00:00
Igor Sysoev
18b36e5035
fix r3708 and r3695: valid_sec is set only for caching error status codes
2010-07-27 19:11:17 +00:00
Igor Sysoev
6af21b7cda
fix r3707: cache node should be freed be a response is not cached
2010-07-27 15:26:33 +00:00
Igor Sysoev
3cf3100977
fix typo
2010-07-27 13:04:13 +00:00
Igor Sysoev
4b7637adb6
fix r3695: this commit
...
*) freed valid keys zone node
*) and did not decrease cache size, so cache manager process ete CPU time,
if cache checking max_size was enabled
2010-07-27 11:22:59 +00:00
Igor Sysoev
f297d0dd27
an intercepted error code was not cached
2010-07-19 15:31:46 +00:00
Igor Sysoev
cc963cd7e2
style fix
2010-07-19 15:29:16 +00:00
Igor Sysoev
b1327bd842
initialize r->cache->file.fd with NGX_INVALID_FILE
2010-07-19 15:28:22 +00:00
Igor Sysoev
1daef7d1b0
bump version
2010-07-19 15:27:06 +00:00
Igor Sysoev
47f5f947bc
add warnings for proxy_no_cache and fastcgi_no_cache
2010-07-19 09:55:43 +00:00
Igor Sysoev
f7d659aa52
proxy_cache_pass, fastcgi_cache_bypass, uwsgi_cache_bypass, scgi_cache_bypass
2010-07-19 09:36:04 +00:00
Igor Sysoev
6a47b43234
rename ngx_http_file_cache_create() to ngx_http_file_cache_new()
2010-07-16 10:01:49 +00:00
Igor Sysoev
9aa3d7f667
ngx_http_file_cache_create()
2010-07-15 14:01:02 +00:00
Igor Sysoev
9e9cbee81e
ngx_http_file_cache_name()
2010-07-15 13:46:32 +00:00
Igor Sysoev
0e73a5bfb7
style fix
2010-07-15 13:10:05 +00:00
Igor Sysoev
85992f9eb3
delete empty cache zone node if we could not get response to cache
2010-07-15 13:08:51 +00:00
Igor Sysoev
4769d10604
fix scgi_no_cache and uwsgi_no_cache initialization
2010-07-14 11:29:19 +00:00
Igor Sysoev
f3870c66df
use ngx_http_test_predicates(), ngx_http_set_predicate_slot()
...
delete ngx_http_cache(), ngx_http_no_cache_set_slot()
2010-07-14 11:15:45 +00:00
Igor Sysoev
7fc29052e8
ngx_http_test_predicates(), ngx_http_set_predicate_slot()
2010-07-14 11:13:59 +00:00
Igor Sysoev
e48f042f40
bump version
2010-07-14 11:09:56 +00:00
Igor Sysoev
5a19097c9b
allow setfib=0
2010-07-13 10:17:09 +00:00
Igor Sysoev
618703b5b6
use xmlSAXHandler._private field to store xslt filter context
2010-07-12 12:52:01 +00:00
Igor Sysoev
a2d9995ca1
fix building by msvc7
2010-07-08 16:17:11 +00:00
Igor Sysoev
f9dd541edb
fix typo
2010-07-08 14:02:09 +00:00
Igor Sysoev
40b4ba1663
style fix
2010-07-08 13:49:21 +00:00
Igor Sysoev
7aa1f5bf4a
update r->buffered after processing SSI command,
...
the bug has been probably introduced in r2378
2010-07-07 10:17:19 +00:00
Igor Sysoev
a2e846242f
bump version
2010-07-07 10:09:44 +00:00
Igor Sysoev
0bd7a7d894
listen setfib=X
2010-07-05 13:49:16 +00:00
Igor Sysoev
1a5d7553da
fix case of partially matched patterns on buffer border in sub_filter
2010-07-05 13:45:10 +00:00
Igor Sysoev
a5ee005a27
fix recognition of SSLv2 Client Hello Packet large than 255 bytes
2010-07-05 13:35:20 +00:00
Igor Sysoev
802bc23574
try to use C99 variadic macros first:
...
AIX 5.3's XL C has problems with GCC style variadic macros
2010-07-05 13:02:25 +00:00
Igor Sysoev
ee37271a0f
fix building by owc12: GetLongPathName() is available since Win2K only
2010-07-05 12:47:35 +00:00
Igor Sysoev
497c13774d
HP/UX uses EWOULDBLOCK instead of EAGAIN
2010-07-03 20:16:55 +00:00
Igor Sysoev
0cb0c67e3a
do not use a cache headers set to hide
2010-07-02 10:05:40 +00:00
Igor Sysoev
0bd1809f05
treat Set-Cookie as a header that forbids caching
2010-07-02 09:49:27 +00:00
Igor Sysoev
9a00d69413
update the previous commit
2010-07-02 09:28:50 +00:00
Igor Sysoev
7e14b50c28
use shared ngx_http_upstream_ignore_headers_masks[]
2010-07-02 09:25:38 +00:00
Igor Sysoev
187538d1eb
bump version
2010-07-01 12:56:32 +00:00
Igor Sysoev
fb7b45d20e
remove r->zero_body unused since the previous commit
2010-06-30 14:42:15 +00:00
Igor Sysoev
ffcae99251
Fix processing
...
error_page 502 504 /zero;
location = /zero { return 204; }
The bug has been introduced in r3634.
The fix also allow to use:
error_page 502 504 = /zero;
location = /zero { return 200; }
This case still does not work:
error_page 502 504 /zero;
location = /zero { return 200; }
2010-06-30 14:39:28 +00:00
Igor Sysoev
bcd78e22e9
change logic introduced in r3649:
...
*) now $uid_set is cacheable again
*) allow to see at any processing stage that uid cookie is remarked
2010-06-30 14:30:55 +00:00
Igor Sysoev
178cd2da2b
style fix: remove tabs
2010-06-30 14:28:54 +00:00
Igor Sysoev
6db47f4c81
set uid values for main request only
2010-06-30 13:15:20 +00:00
Igor Sysoev
ce03ba019e
fix IPv6 listen socket handling while reconfiguring
2010-06-30 12:01:56 +00:00
Igor Sysoev
c31c38b95e
fix ngx_write_file() buf
2010-06-30 10:33:02 +00:00
Igor Sysoev
ffcc2f4a9e
test binary geo range base size
2010-06-30 10:13:51 +00:00
Igor Sysoev
3b0ddc2097
test the second binary geo range base existence
2010-06-30 10:12:46 +00:00
Igor Sysoev
e3d88fb8eb
test binary geo ranges base only for ranges
2010-06-30 10:05:56 +00:00
Igor Sysoev
4655c721e8
test binary gep range base mtime
2010-06-30 10:02:05 +00:00
Igor Sysoev
edf29ef8cd
binary geo ranges base cache
2010-06-29 16:06:20 +00:00
Igor Sysoev
865db9bbf3
ngx_create_file_mapping()
2010-06-29 15:18:50 +00:00
Igor Sysoev
325bd4ea98
change duplicate default geo range processing
2010-06-29 13:36:16 +00:00
Igor Sysoev
a81a383053
fix building without IPv6 after the previous commit
2010-06-25 13:17:33 +00:00
Igor Sysoev
80dd7e5015
Now $uid_set may be used at any time, r2013 states the same is wrong.
...
Besides, now $uid_set is not cacheable and may have two values:
before and after header filter processing.
This allows to log case, when uid cookie is remarked.
2010-06-25 12:16:31 +00:00
Igor Sysoev
55c3f1b31b
make logic more clear
2010-06-25 12:06:37 +00:00
Igor Sysoev
23d053fa97
delete stale comments
2010-06-25 12:05:12 +00:00
Igor Sysoev
70485d6b7c
eliminate a number of ranges: about 18,000 /16 networks are empty,
...
this change saves about 70K/140K on 32/64-bit platforms
2010-06-24 15:26:05 +00:00
Igor Sysoev
daab61e40c
fix a bug when ngx_cpymem() returns a cast type:
...
p = (type *) ngx_cpymem(...)
2010-06-24 15:17:06 +00:00
Igor Sysoev
e3693e3b37
break cycle early
2010-06-24 13:16:19 +00:00
Igor Sysoev
aa6936e61a
style fix
2010-06-23 16:34:54 +00:00
Igor Sysoev
0923d08148
change ngx_http_variable_value_node_t to more generic ngx_str_node_t
2010-06-23 15:31:33 +00:00
Igor Sysoev
2c72df5ed4
bump version
2010-06-23 14:49:57 +00:00
Igor Sysoev
ee5f9e50b9
ngx_http_scgi_module
2010-06-18 15:51:14 +00:00
Igor Sysoev
4115de9fe3
Test regex location if URI matches exactly to non-exact location.
...
Revert a feature introduced in r2028. The feature confuses mostly,
the only gain was not to test regex for a frequent request such as
"/" in "locaiton /".
2010-06-18 15:38:31 +00:00
Igor Sysoev
082d9965a3
use ngx_http_send_response() in empty_gif
2010-06-18 15:17:07 +00:00
Igor Sysoev
b2ee47c0c7
add files missed in the previuos commit
2010-06-18 15:16:18 +00:00
Igor Sysoev
4c1b0770ca
return code text
2010-06-18 15:15:20 +00:00
Igor Sysoev
01213e18a7
ngx_http_send_response()
2010-06-18 15:08:44 +00:00
Igor Sysoev
ebd883092b
303 See Other
2010-06-18 14:58:52 +00:00
Igor Sysoev
0f6ae5906d
style fix
2010-06-15 15:30:00 +00:00
Igor Sysoev
2515f8efe9
fix r3628
2010-06-15 15:27:06 +00:00
Igor Sysoev
1cc1b311af
make code more obviuos
2010-06-15 15:21:37 +00:00
Igor Sysoev
54b35b009a
use ngx_http_parse_status_line()
2010-06-15 15:15:06 +00:00
Igor Sysoev
0aae446c7c
ngx_http_parse_status_line()
2010-06-15 15:13:34 +00:00
Igor Sysoev
bef315509b
update the previous commit
2010-06-15 15:09:18 +00:00
Igor Sysoev
85fe9bf6b1
support CGI-style response
2010-06-15 14:30:13 +00:00
Igor Sysoev
68294d776d
style fix
2010-06-15 12:45:33 +00:00
Igor Sysoev
dede73dda9
bump version
2010-06-15 12:41:13 +00:00
Igor Sysoev
da7b5e15de
allow spaces in URI
2010-06-15 09:31:19 +00:00
Igor Sysoev
d50e53e675
do not free() stack allocated buffer
2010-06-14 18:09:52 +00:00
Igor Sysoev
ea16b14cc5
PATCH method
2010-06-10 11:08:28 +00:00
Igor Sysoev
34cd1cc656
allow Destination URL without host
2010-06-10 08:17:16 +00:00
Igor Sysoev
f0bf9956dc
delete empty Server and Date header used only in proxy mode
2010-06-08 19:33:53 +00:00
Igor Sysoev
a17adae005
change variable names
2010-06-08 16:15:47 +00:00
Igor Sysoev
741caead25
delete surplus flush
2010-06-08 13:43:20 +00:00
Igor Sysoev
cd04da475d
do not try to calculate procent sum if there was an error
2010-06-08 09:06:57 +00:00
Igor Sysoev
27b54fda94
delete useless code
2010-06-07 14:37:56 +00:00
Igor Sysoev
82e1933529
fix rewritten Refresh header length
2010-06-07 14:33:50 +00:00
Igor Sysoev
1f5cf36a27
202 Accepted status code
2010-06-07 13:38:39 +00:00
Igor Sysoev
7935d4bff7
bump version
2010-06-07 13:34:56 +00:00
Igor Sysoev
4cf7f2727d
fix "/dir/%3F../" and "/dir/%23../" cases
2010-06-04 16:05:55 +00:00
Igor Sysoev
04e1156d2e
test default NTFS stream "::$DATA"
2010-06-04 15:37:49 +00:00
Igor Sysoev
1f07392c42
*) delete no longer used unix domain sockets
...
*) fix unix domain socket comparison
2010-06-04 13:34:23 +00:00
Igor Sysoev
bf8f69cf74
uwsgi cache
2010-06-04 12:55:01 +00:00
Igor Sysoev
45cb0a086e
uwsgi_bind
2010-06-04 12:32:08 +00:00
Igor Sysoev
b9579381b5
allow uwsgi_param to override client headers using HTTP_ parameters
2010-06-04 12:26:27 +00:00
Igor Sysoev
36e11cecb1
uwsgi_store
2010-06-04 11:31:01 +00:00
Igor Sysoev
6b373a96b1
add uwsgi_param and client request headers debug logging
2010-06-04 10:03:57 +00:00
Igor Sysoev
e5d453228e
do not pass if-... headers for cacheable fastcgi responses
2010-06-04 09:17:09 +00:00
Igor Sysoev
ca9259c0a5
rename variable to conform to the next commit
2010-06-03 16:42:07 +00:00
Igor Sysoev
17483d5bfb
use local headers_names array instead of stored in configuration
...
and allocate its elements from temporary pool
2010-06-03 14:50:59 +00:00
Igor Sysoev
a4c6e7889c
allow fastcgi_param to override client headers using HTTP_ parameters
2010-06-03 14:41:30 +00:00
Igor Sysoev
62a0aa3512
add client request headers debug logging in fastcgi
2010-06-03 13:49:59 +00:00
Igor Sysoev
1cefa519d2
remove the special static fastcgi_param values processing,
...
because it is anyway very seldom case
2010-06-02 15:08:29 +00:00
Igor Sysoev
7a3edc0171
style fix
2010-06-01 20:27:03 +00:00
Igor Sysoev
66ba32c879
improve uwsgi_string processing
2010-06-01 20:24:30 +00:00
Igor Sysoev
b36e5a7952
delete unneeded declaration
2010-06-01 20:23:14 +00:00
Igor Sysoev
4ddb52551c
delete unused ngx_http_uwsgi_add_variables()
2010-06-01 20:21:56 +00:00
Igor Sysoev
c1f3d6edb7
improve uwsgi_modifierX processing:
...
*) use ngx_conf_set_num_slot()
*) check bounds
*) check duplicates
2010-06-01 20:19:57 +00:00
Igor Sysoev
d0aa4ca258
remove LICENSE text
2010-06-01 19:57:52 +00:00
Igor Sysoev
26b621dd67
style fix
2010-06-01 17:46:01 +00:00
Igor Sysoev
e45b892e7b
./configure --http-uwsgi-temp-path=PATH
2010-06-01 17:44:51 +00:00
Igor Sysoev
dc4b53fe61
fix the previous commit when value is static string: remove the special
...
static values processing, because it is anyway very seldom case
2010-06-01 17:30:23 +00:00
Igor Sysoev
1089957488
remove useless copy: key name should be just copied before value length
2010-06-01 17:25:36 +00:00
Igor Sysoev
4c9c518bbf
simplify binary little endian length processing
2010-06-01 17:04:56 +00:00
Igor Sysoev
94be6be50a
use ngx_str_set() and ngx_str_null()
2010-06-01 16:12:00 +00:00
Igor Sysoev
a754521af5
fix copyrights
2010-06-01 16:10:05 +00:00
Igor Sysoev
670cdbba61
fix style, some names, and building by MSVC8
2010-06-01 16:00:42 +00:00
Igor Sysoev
6d7beea1ce
style fix: remove tabs and trailing spaces
2010-06-01 15:55:04 +00:00
Igor Sysoev
3a881d30b5
import original ngx_http_uwsgi_module version
2010-06-01 15:53:11 +00:00
Igor Sysoev
1a310e39de
bump version
2010-06-01 15:20:14 +00:00
Igor Sysoev
23f904ea06
fix IPv6 and Unix domain sockets inheritance while online upgrade
2010-05-31 14:49:11 +00:00
Igor Sysoev
11f4ad3ec2
fix building by ICC8, the bug had been introduced in r3476
2010-05-31 14:44:17 +00:00
Igor Sysoev
a5eefbc174
fix handling an inherited alias in inclusive location
2010-05-31 14:41:54 +00:00
Igor Sysoev
34ab21c53a
fix a try_files/alias case when alias uses captures and
...
try_files .html "" / =404;
2010-05-27 13:44:22 +00:00
Igor Sysoev
ef0fae4279
do not add tested file to a location regex string,
...
instead, set URI to the tested file, or keep URI unchanged,
if the tested file is a directory,
the later allows to handle a directory autoredirect
2010-05-27 13:24:19 +00:00
Igor Sysoev
098d58ec83
fix the previous commit
2010-05-27 13:15:24 +00:00
Igor Sysoev
6e884ba19a
improve debug logging: "try to use file/dir"
2010-05-27 13:09:09 +00:00
Igor Sysoev
9434ae59e8
bump version
2010-05-27 12:55:05 +00:00
Igor Sysoev
de0b1d6f12
remove r->zero_in_uri
2010-05-24 12:35:10 +00:00
Igor Sysoev
9b2763a245
proxy_no_cache and fastcgi_no_cache
2010-05-24 11:01:05 +00:00
Igor Sysoev
fbb262533f
fix delay in limit_req
2010-05-24 07:43:39 +00:00
Igor Sysoev
1a26a18f64
autodetect redirect if URI is rewritten to a string starting with $scheme
2010-05-23 19:36:12 +00:00
Igor Sysoev
f5f4126574
delete warnings of proxy_upstream_max_fails, proxy_upstream_fail_timeout,
...
fastcgi_upstream_max_fails, fastcgi_upstream_fail_timeout,
memcached_upstream_max_fails, and memcached_upstream_fail_timeout
directives obsolete since 0.5.0 version
2010-05-20 11:46:01 +00:00
Igor Sysoev
ec94491f0c
allow to use $uid_got in SSI and perl module
2010-05-18 16:24:56 +00:00
Igor Sysoev
58e1f27d2b
bump version
2010-05-18 16:20:02 +00:00
Igor Sysoev
6814f42473
fix SSI include stub for valid empty responses
2010-05-14 12:18:44 +00:00
Igor Sysoev
402b2f07c2
do not cache response if it has "no-store" or "private"
...
in "Cache-Control" header
2010-05-14 12:04:58 +00:00
Igor Sysoev
05b1a8f1e3
ngx_str_set() and ngx_str_null()
2010-05-14 09:56:37 +00:00
Igor Sysoev
328df7a5cc
use ngx_min() and ngx_max()
2010-05-14 09:55:33 +00:00
Igor Sysoev
5739072cfe
fix segfault: ngx_http_upstream_cleanup() cleans r->cleanup,
...
the bug had been introduced in r3419
2010-05-14 09:22:58 +00:00
Igor Sysoev
fadd4bd25c
ngx_http_split_clients_module
2010-05-14 09:02:10 +00:00
Igor Sysoev
d2b687cf3f
ngx_atofp()
2010-05-14 09:01:30 +00:00
Igor Sysoev
6884183ad9
allow hash key values more than 255 bytes, it does not actually increase mean
...
hash element size, because due to aligning a byte after key is not used
anyway in 3/4 cases on 32-bit platforms and in 7/8 cases on 64-bit platforms
2010-05-13 12:52:45 +00:00
Igor Sysoev
980220ffaf
style fix: remove blank line
2010-05-13 10:22:48 +00:00
Igor Sysoev
ff6adfd740
style fix: remove blank line
2010-05-12 15:56:54 +00:00
Igor Sysoev
50af406144
fix rounding issues in %f format
2010-05-12 13:13:11 +00:00
Igor Sysoev
503b9716c5
use double in %f format to allow %.15f precision
2010-05-12 13:12:31 +00:00
Igor Sysoev
ab4c0d3628
Zimbra IMAP server may return only 4 bytes: "+ \r\n"
2010-04-23 09:53:52 +00:00
Igor Sysoev
dce9672ca6
bump version
2010-04-23 08:14:57 +00:00
Igor Sysoev
3ec15dd090
use lstat() for WebDAV DELETE, COPY, and MOVE to handle symlinks
2010-04-22 17:15:42 +00:00
Igor Sysoev
fa7d06ee4f
change processing variables accessed by SSI and perl module:
...
*) the indexed variables are always flushed
*) never show warning for not found variables
2010-04-22 14:02:45 +00:00
Igor Sysoev
185a5d1726
make $arg_ variables non-cacheable
2010-04-22 13:35:30 +00:00
Igor Sysoev
e003988f87
do not log misleading errno in "not a regular file" error
2010-04-21 16:01:52 +00:00
Igor Sysoev
bfc8b78f57
use non-blocking open() not to hang on FIFO files, etc.
2010-04-21 15:59:36 +00:00
Igor Sysoev
ece10ddcf5
do not store an encoded variable value as a new cached variable value
2010-04-21 14:58:21 +00:00
Igor Sysoev
6b55b4b520
fix building without HTTP cache, the bug had been introduced in r3461
2010-04-06 11:49:36 +00:00
Igor Sysoev
231856b913
bump version
2010-04-02 14:18:23 +00:00
Igor Sysoev
502252d43a
MSVC8 compatibility with OpenSSL 1.0.0
2010-04-01 15:18:29 +00:00
Igor Sysoev
6bdcc58a9c
revert partially r1555 and fix the error "memcached sent invalid trailer"
2010-04-01 15:16:22 +00:00
Igor Sysoev
170a54f326
escape ampersand in argument while rewrite
2010-04-01 12:45:59 +00:00
Igor Sysoev
07db3a4163
chunked_transfer_encoding
2010-04-01 10:18:00 +00:00
Igor Sysoev
569f95818b
do not add a port in redirect if we listen on unix domain socket
2010-03-31 13:30:50 +00:00
Igor Sysoev
d08b65ca61
do not set file time in ngx_copy_file() if the time is -1,
...
this fixes an issue when file is moved across devices
2010-03-30 14:15:25 +00:00
Igor Sysoev
86f791e090
fix comments
2010-03-26 21:17:26 +00:00
Igor Sysoev
f59ae65fa4
use "rep; nop" instead of "pause" on Solaris/amd64
2010-03-26 13:38:41 +00:00
Igor Sysoev
b45498c3de
fix a comment and a style fix
2010-03-26 11:27:32 +00:00
Igor Sysoev
aed1ac1e68
reset a parsing state to parse correctly an upstream response,
...
if 400 or 414 response has been redirected to upstream
2010-03-25 13:27:52 +00:00
Igor Sysoev
6d45d8a50d
*) introduce ngx_time_sigsafe_update() to update the error log time only
...
*) change ngx_time_update() interface
2010-03-25 09:10:10 +00:00
Igor Sysoev
2f916a9721
*) use previously cached GMT offset value to update time from a signal handler
...
*) change ngx_time_update() interface since there are no notification methods
those return time
2010-03-13 18:08:07 +00:00
Igor Sysoev
b80f68aeda
do not update time in the timer signal handler,
...
since localtime_r() is not Async-Signal-Safe function
2010-03-12 14:31:47 +00:00
Igor Sysoev
9eaabc69ca
use sys_errlist[] in signal handler instead
...
of non Async-Signal-Safe strerror_r()
2010-03-12 11:15:26 +00:00
Igor Sysoev
7fa1c07896
"proxy_redirect default" may not be used if a proxy_pass uses variables
2010-03-10 14:41:49 +00:00
Igor Sysoev
931d88c7c1
fix proxy_redirect name in error message
2010-03-10 14:37:18 +00:00
Igor Sysoev
7e3fdc4e8e
fix segfault if there was non cached large FastCGI stderr output before header,
...
the bug had been introduced in r3461
2010-03-10 13:51:47 +00:00
Igor Sysoev
1c9f74852f
bump version
2010-03-10 13:49:17 +00:00
Igor Sysoev
e71f39932f
add OpenSSL_add_all_algorithms(), this fixes the error
...
"ASN1_item_verify:unknown message digest algorithm" occurred if
client certificate is signed using sha256WithRSAEncryption
2010-03-03 16:23:14 +00:00
Igor Sysoev
1ee4b09091
make $request_method non-cacheable
2010-03-03 16:14:07 +00:00
Igor Sysoev
ff1a888caf
remove code disabled since 0.1.29 version
2010-03-03 15:14:04 +00:00
Igor Sysoev
e0538991ff
use a right "Location" header name, however, it did not harm,
...
since ngx_http_variable_sent_location() never use key name field
2010-03-03 15:08:06 +00:00
Igor Sysoev
593dec8b35
fix cached FastCGI response with large stderr output before header
2010-03-03 10:43:38 +00:00
Igor Sysoev
750a65ef84
allow HTTPS referers
2010-03-03 10:21:12 +00:00
Igor Sysoev
f953436886
compare long file names in case-insensitive mode,
...
the bug had been introduced in r3418
2010-03-03 10:05:54 +00:00
Igor Sysoev
416fc7aac7
Set SSL session context for "ssl_session_cache none".
...
This fixes a bug when client certficate is used and nginx closes connection
with the message: "SSL_GET_PREV_SESSION:session id context uninitialized".
2010-03-02 08:41:47 +00:00
Igor Sysoev
bd4b6e68af
fix a geo range if the range includes two or more /16 networks
...
and does not begin at /16 network boundary
2010-02-25 17:26:01 +00:00
Igor Sysoev
146324618d
decrease SSL handshake error level to info
2010-02-19 20:54:58 +00:00
Igor Sysoev
a11234b7c4
SSI %s timefmt has no timezone offset
2010-02-19 13:53:11 +00:00
Igor Sysoev
bc55ea07c8
use content type of the parent request in SSI stub block output
...
instead of default one
2010-02-19 13:42:59 +00:00
Igor Sysoev
aa9a761f88
style fix: remove tabs
2010-02-18 14:47:09 +00:00
Igor Sysoev
ded2a7c1af
fix $upstream_http_ variable prefix length
2010-02-15 19:38:59 +00:00
Igor Sysoev
070f0a865b
delete surplus code
2010-02-12 09:48:04 +00:00
Igor Sysoev
b87fba807e
const char *fmt in ngx_conf_log_error()
2010-02-12 09:45:05 +00:00
Igor Sysoev
b43c499677
delete ngx_http_perl_cleanup_t unused since r909
2010-02-12 09:40:46 +00:00
Igor Sysoev
68813cae41
fix request counter for $r->sleep(), the bug was introduced in r3050
2010-02-12 09:32:02 +00:00
Igor Sysoev
d1311dfc71
bump version
2010-02-12 09:31:01 +00:00
Igor Sysoev
b681f7184c
do not disable keepalive after POST requests for MSIE 7+
2010-02-01 12:58:07 +00:00
Igor Sysoev
8164f329fe
disable keepalive for Safari:
...
https://bugs.webkit.org/show_bug.cgi?id=5760
2010-02-01 12:01:01 +00:00
Igor Sysoev
4e20f24b5b
delete u->cleanup mark, this fixes large values in $upstream_response_time,
...
the bug had been introduced in r3007
2010-01-29 16:45:14 +00:00
Igor Sysoev
10fa102e32
disable Win32 short file names
2010-01-28 14:17:51 +00:00
Igor Sysoev
77860d74a5
skip URI trailing spaces under Win32
2010-01-28 14:09:28 +00:00
Igor Sysoev
918ef947da
Fix segfault when while discarding body a write event handler is called,
...
runs ngx_http_core_run_phases(), and starts a request processing again.
The write event has clear type and remained in a keepalive connection.
The bug was introduced in r3050.
2010-01-28 08:33:24 +00:00
Igor Sysoev
2f5bcf2d17
bump version
2010-01-28 08:22:45 +00:00
Igor Sysoev
fcaa367929
allow a chunked body for 201 responses
2010-01-11 15:14:23 +00:00
Igor Sysoev
d8be48a546
fix ngx_utf8_cpystrn(): it did not fully copy utf-8 string
2010-01-11 13:39:24 +00:00
Igor Sysoev
e4bc4a2940
named captures worked for two names only
2010-01-11 11:21:46 +00:00
Igor Sysoev
089b2fd31e
add context to a resolver log
2010-01-11 11:01:02 +00:00
Igor Sysoev
280e5e7072
use "localhost" in "Host" header line, if unix socket is used in "auth_http"
2009-12-25 15:43:40 +00:00
Igor Sysoev
1651542b3a
fix negative time in "Cache-Control" if "expires modified" sets time in the past
2009-12-25 15:00:08 +00:00
Igor Sysoev
9a5eabc4ac
bump version
2009-12-25 14:57:10 +00:00
Igor Sysoev
e146ebd813
allow to handle 301/302 in error_page
2009-12-23 15:31:16 +00:00
Igor Sysoev
3662f36a54
fix a cached zero-length body case
2009-12-23 14:46:45 +00:00
Igor Sysoev
bd375b9566
fix typo
2009-12-23 14:22:17 +00:00
Igor Sysoev
d741a7f827
$geoip_city_continent_code, $geoip_latitude, $geoip_longitude
2009-12-22 17:33:03 +00:00
Igor Sysoev
c7c0d610cf
fix the "If-None-Match" header name
2009-12-22 16:41:34 +00:00
Igor Sysoev
fb0c73b08d
fix building by gcc 4.x with -O2/3/s in some Linux distributions:
...
dereferencing type-punned pointer will break strict-aliasing rules
2009-12-22 15:29:56 +00:00
Igor Sysoev
8c97fa9ae4
fix building by gcc 4.4 with -O2/3/s:
...
dereferencing pointer 'sin' does break strict-aliasing rules
2009-12-22 15:15:45 +00:00
Igor Sysoev
9cf418ea92
force image filter conversion if JPEG application data consume more than 5%
2009-12-22 13:03:49 +00:00
Igor Sysoev
ec0655c0ce
style fix
2009-12-22 10:45:29 +00:00
Igor Sysoev
a9d26d2e19
fix building by gcc 4.x with -O2/3/s in some Linux distributions:
...
dereferencing type-punned pointer will break strict-aliasing rules
the bug has been introduced in r3065
2009-12-21 21:56:48 +00:00
Igor Sysoev
733fb74d06
fix caseless locations, the bug had been introduced in r3326
2009-12-17 14:25:46 +00:00
Igor Sysoev
8817113d95
test degradation parameters
2009-12-17 12:45:13 +00:00
Igor Sysoev
04799a6f7c
fix r3331:
...
*) now pools are aligned to 16 bytes
*) forbidden to set non-aligned pool sizes
2009-12-17 12:25:46 +00:00
Igor Sysoev
a75362dcdb
fix Win32 error message when an temporary file replaces an existent file:
...
return at once if ngx_win32_rename_file() was not failed
and do not try to delete already the renamed temporary file
2009-12-17 10:05:39 +00:00
Igor Sysoev
9c8fa5efe5
bump version
2009-12-16 14:59:33 +00:00
Igor Sysoev
44be39475c
fix Win32 error messages when an temporary file replaces an existent file:
...
*) 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-12-15 13:47:02 +00:00
Igor Sysoev
29b5a13784
default large_client_header_buffers' buffer size should be 8K as compatible
...
with Apache's one
2009-12-09 06:37:41 +00:00
Igor Sysoev
58b1f9e9e4
backout r3315 and test r->header_only last, since it's not actually
...
frequent here: 304 and HEAD responses are not set it before the filter
2009-12-07 15:41:57 +00:00
Igor Sysoev
8f7c8f3c07
fix libatomic usage on arm, cris, hppa, m68k, and sparc platforms
2009-12-07 15:32:38 +00:00
Igor Sysoev
eacd5d89b7
fix double free(), introduced in r3268
2009-12-07 15:13:46 +00:00
Igor Sysoev
6cfcef3cbf
remove stale comment
2009-12-02 13:03:54 +00:00
Igor Sysoev
3bc08a51c7
bump version
2009-12-02 13:02:43 +00:00
Igor Sysoev
1cfb972e74
support "*" in gzip_types, ssi_types, etc
2009-11-30 13:15:10 +00:00
Igor Sysoev
a734e33720
chmod unix listen domain socket to 0666
2009-11-30 11:26:24 +00:00
Igor Sysoev
f8b50b9c96
log proxied HTTP/0.9 responses status as "009"
2009-11-29 20:49:29 +00:00
Igor Sysoev
601ab90cd4
fix handling cached HTTP/0.9 response
2009-11-29 20:48:01 +00:00
Igor Sysoev
a1b92a9659
fix server_name regex named captures given by "?P<...>"
2009-11-29 20:39:32 +00:00
Igor Sysoev
d5624689cb
update comments
2009-11-25 18:03:59 +00:00
Igor Sysoev
bdfa3baaee
fix comment
2009-11-25 17:56:53 +00:00
Igor Sysoev
213cad8e81
libatomic_ops support
2009-11-25 17:55:25 +00:00
Igor Sysoev
89d635fa5d
GCC 4.1 builtin atomic operations
2009-11-25 17:34:35 +00:00
Igor Sysoev
f215028477
bump version
2009-11-25 17:04:00 +00:00
Igor Sysoev
72db760eca
add NGX_PROCESS_HELPER process status
2009-11-23 15:46:21 +00:00
Igor Sysoev
8019121120
decrease SSL handshake error level to info
2009-11-23 14:09:57 +00:00
Igor Sysoev
6956db0696
fix building without PCRE, the bug had been introduced in r3326
2009-11-23 13:13:58 +00:00
Igor Sysoev
0bd426def1
bump version
2009-11-23 13:09:33 +00:00
Igor Sysoev
2952af08f1
a cache manager thread handle was overwritten by a cache loader thread handle,
...
this caused an exit delay, the bug had been introduced in r3023
2009-11-17 16:46:27 +00:00
Igor Sysoev
d1d7bb00a3
add comment from r2716 commit message
2009-11-17 10:31:39 +00:00
Igor Sysoev
889fa8debb
use global perl variable in perl_destruct()/perl_free()
...
for non-mulitiplicity perl
2009-11-17 10:28:12 +00:00
Igor Sysoev
69061b73ef
fix pcre allocation on Win32, the bug had been introduced in r3326
2009-11-17 10:24:45 +00:00
Igor Sysoev
25622c2f92
bump version
2009-11-17 09:59:45 +00:00
Igor Sysoev
42f5fb19ac
evaluate maximum captures size on configuration phase
2009-11-16 19:11:38 +00:00
Igor Sysoev
d86a0bfed4
fix captures in "rewrite", the bug had been introduced in r3326
2009-11-16 19:10:45 +00:00
Igor Sysoev
93da565962
fix building without --with-debug, introduced in r3328
2009-11-16 16:00:52 +00:00
Igor Sysoev
57acd7b421
bump version
2009-11-16 16:00:12 +00:00
Igor Sysoev
50a94dfbd1
backout r3325: postpone filter is a body only filter
2009-11-16 13:22:10 +00:00
Igor Sysoev
a4a0541308
align to minimum of a page and a pool sizes
2009-11-16 12:50:10 +00:00
Igor Sysoev
104ff87c39
ngx_min()
2009-11-16 12:48:41 +00:00
Igor Sysoev
ece77cd5be
large allocation should not be aligned to a page size
2009-11-16 12:47:44 +00:00
Igor Sysoev
3e1a05c467
add alignment in debug log
2009-11-16 12:46:05 +00:00
Igor Sysoev
4985109dba
ngx_http_degradation_module
2009-11-16 12:20:00 +00:00
Igor Sysoev
c05f20ec2e
regex named captures
2009-11-16 12:19:02 +00:00
Igor Sysoev
c0ae4716ec
remove subrequest test in range header, chunked, and header filters: they
...
are run after postpone filter which sends data only in main request context
2009-11-16 12:13:17 +00:00
Igor Sysoev
6c71b88924
allow "proxy_pass http://$backend " without URI part
2009-11-15 11:36:12 +00:00
Igor Sysoev
700a779824
fix posix_fadvise() error handling
2009-11-15 09:16:58 +00:00
Igor Sysoev
b13029c57c
update allocation error messages
2009-11-15 09:03:08 +00:00
Igor Sysoev
fc514f1d07
fix posix_memalign() error handling
2009-11-15 08:56:40 +00:00
Igor Sysoev
950fb268a2
ngx_regex_exec() calling optimiztion:
...
*) change NGX_REGEX_NO_MATCHED to PCRE_ERROR_NOMATCH
*) declare ngx_regex_exec() as #define
*) optimize SSI regex a little
2009-11-13 20:41:41 +00:00
Igor Sysoev
30870b4ab3
style fix: lcf > clcf
2009-11-13 19:59:54 +00:00
Igor Sysoev
35b7a443a1
do not log error if $r->variable was not found
2009-11-12 15:50:34 +00:00
Igor Sysoev
3d12873adb
add MSIE padding for Chrome too
2009-11-12 14:24:22 +00:00
Igor Sysoev
bdc154bb73
r->chrome
2009-11-12 14:23:18 +00:00
Igor Sysoev
0338645ecf
test frequent r->header_only before three response status
2009-11-12 13:44:16 +00:00
Igor Sysoev
6c49a5afcf
refactor gzip_vary handling
2009-11-12 13:41:56 +00:00
Igor Sysoev
2c0b6f3e70
nginx sent gzipped responses to clients those do not support gzip,
...
if "gzip_static on" and "gzip_vary off"; the bug had been introduced in r3136
2009-11-11 21:12:41 +00:00
Igor Sysoev
f4992bbe14
bump version
2009-11-11 21:06:36 +00:00
Igor Sysoev
20c9f8be85
remove "Content-Encoding: gzip" in 304 response
...
sent by ngx_http_gzip_static_module
2009-11-11 14:32:49 +00:00
Igor Sysoev
653edd491b
use ngx_resolver_alloc() instead of ngx_resolver_calloc()
...
since all fields are filled
2009-11-11 14:29:20 +00:00
Igor Sysoev
e79f429b4b
fix resolving an empty name (".")
2009-11-11 14:27:24 +00:00
Igor Sysoev
61da56d041
fix "set_real_ip_from unix:" inheritance
2009-11-11 13:41:16 +00:00
Igor Sysoev
9eadbde324
fix building without --with-debug, introduced in r3294
2009-11-11 12:32:06 +00:00
Igor Sysoev
a993d55b0f
bump version
2009-11-11 12:30:36 +00:00
Igor Sysoev
70bd187c4c
disable SSL renegotiation (CVE-2009-3555)
2009-11-11 10:59:07 +00:00
Igor Sysoev
a59ba33060
*) fix resolving an empty name ("."),
...
*) add quotes in an error message,
*) backout r3299 in ngx_mail_smtp_handler.c
2009-11-09 19:15:11 +00:00
Igor Sysoev
70966c154f
fix "PTR ." case in address resolver
2009-11-09 18:04:05 +00:00
Igor Sysoev
64bfa87e73
fix segfault in resolver:
...
ngx_resolve_name_done() and ngx_resolve_addr_done() did not delete
contexts from a resolver node waiting list.
2009-11-09 17:45:56 +00:00
Igor Sysoev
21accae8e5
cf->conf_file->file.name.data may be uninitialized, if an allocation failed;
...
found by Clang Static Analyzer
2009-11-05 17:10:48 +00:00
Igor Sysoev
8b620a8a97
delete useless statement
2009-11-05 17:09:02 +00:00
Igor Sysoev
4121aa3440
export aio presence knowledge to prevent using "aio sendfile",
...
if aio does not present
2009-11-05 13:12:30 +00:00
Igor Sysoev
9b67ca0e41
Fix a bug introduced in r2032: After a child process has read a terminate
...
message from a channel, the process tries to read the channel again.
The kernel (at least FreeBSD) may preempt the process and sends a SIGIO
signal to a master process. The master process sends a new terminate message,
the kernel switches again to the the child process, and the child process
reads the messages instead of an EAGAIN error. And this may repeat over
and over. Being that the child process can not exit the cycle and test
the termination flag set by the message handler.
The fix disallow the master process to send a new terminate message on
SIGIO signal reception. It may send the message only on SIGALARM signal.
2009-11-04 19:41:08 +00:00
Igor Sysoev
bcc44e2549
allow to inherit unix domain sockets while online upgrade
2009-11-04 18:36:43 +00:00
Igor Sysoev
7319b92591
allow to work single "set_real_ip_from unix:"
2009-11-04 11:37:06 +00:00
Igor Sysoev
822503ea41
bump version
2009-11-04 11:20:54 +00:00
Igor Sysoev
51aa6dec4d
fix segfault if there is single large_client_header_buffers
...
and a request line fills it completely
2009-11-03 18:12:20 +00:00
Igor Sysoev
1bc750da2f
use setproctitle("%s", title)
2009-11-03 16:28:21 +00:00
Igor Sysoev
89601c0f10
fix segfault if no rules are defined, introduced in r3279
2009-11-03 16:04:07 +00:00
Igor Sysoev
cc65b0879b
fix segfault in SSL if limit_rate is used
2009-11-03 15:38:33 +00:00
Igor Sysoev
956bdfc000
fix segfault if $limit_rate was logged
2009-11-03 15:05:38 +00:00
Igor Sysoev
f4b598b81b
fix "if (!-x ...)"
2009-11-03 14:57:27 +00:00
Igor Sysoev
771e677674
fix directive name in error message: "set_realip_from" to "set_real_ip_from"
2009-11-03 14:41:56 +00:00
Igor Sysoev
39c9f6e487
fix directive name in error message: "realip_from" to "set_realip_from"
2009-11-03 13:45:22 +00:00
Igor Sysoev
76c941e70b
IPv6 support in ngx_http_access_module
2009-11-03 13:42:45 +00:00
Igor Sysoev
4ac5ca8ae0
ngx_ptocidr() supports IPv6
2009-11-03 13:42:25 +00:00
Igor Sysoev
fd078fd6d5
make ngx_inet6_ntop() non-static
2009-11-03 12:44:55 +00:00
Igor Sysoev
612ecb7674
optimize some cycles:
...
*) delete surplus variable;
*) on i386/amd64 "while (n) / n--" is smaller than "while (n--)",
because the platforms have no postfix operations
2009-11-02 17:12:09 +00:00
Igor Sysoev
7e4f193bb0
set_real_ip_from unix:
2009-11-02 16:46:07 +00:00
Igor Sysoev
a9aaa4a78d
support IPv6 addresses in Real IP headers
2009-11-02 16:24:27 +00:00
Igor Sysoev
8b816d88a9
change ngx_parse_addr() interface
2009-11-02 16:11:06 +00:00
Igor Sysoev
72e928755b
proxy_bind, fastcgi_bind, and memcached_bind
2009-11-02 15:24:02 +00:00
Igor Sysoev
1d52beba73
ngx_parse_addr()
2009-11-02 15:20:42 +00:00
Igor Sysoev
0c189c5159
rename ngx_peer_addr_t to ngx_addr_t
2009-11-02 15:14:17 +00:00
Igor Sysoev
67765e8918
use sin6_addr.s6_addr instead of "(u_char *) & .sin6_addr"
2009-11-02 14:32:46 +00:00
Igor Sysoev
0f25ed3d77
replace inet_addr() with ngx_inet_addr()
2009-11-02 13:51:10 +00:00
Igor Sysoev
47c88464eb
use ngx_inet6_addr()
2009-11-02 12:58:30 +00:00
Igor Sysoev
5a76cbbbc6
ngx_inet6_addr()
2009-11-02 12:50:00 +00:00
Igor Sysoev
19811dbdde
style fix
2009-11-02 12:41:56 +00:00
Igor Sysoev
61490aa6b6
delete unused field c->local_socklen
2009-11-01 19:29:49 +00:00
Igor Sysoev
9f179fe546
do not unlink unix domain socket file while online upgrade
2009-10-30 19:18:21 +00:00
Igor Sysoev
633c178a17
unlink unix domain socket file after testing
2009-10-30 19:16:50 +00:00
Igor Sysoev
44fa8877c0
fix segfaults if no listen directive was set in default server {} block:
...
ngx_http_add_listen() uses server's connection_pool_size and
client_header_timeout values, therefore it must be called after
the values have been merged, the bug had been introduced in r3218
2009-10-29 15:53:50 +00:00
Igor Sysoev
e856807660
style fix
2009-10-28 10:47:00 +00:00
Igor Sysoev
cadac4ec3e
fix segfault if http {} block is empty, the bug had been introduced in r3218
2009-10-28 10:45:40 +00:00
Igor Sysoev
b3586d13da
bump version
2009-10-28 10:31:06 +00:00
Igor Sysoev
8ffea50797
fix r3211
2009-10-26 12:00:37 +00:00
Igor Sysoev
baf8e409ba
http listen unix domain sockets
2009-10-26 11:43:32 +00:00
Igor Sysoev
657b3b7f7d
fix r3225 and r3227: preserve default_server bit during listen options
...
overwriting
2009-10-22 10:17:54 +00:00
Igor Sysoev
663e957957
do not run regex for empty host name since regex always fails in this case,
...
the bug had been introduced in r2196
2009-10-22 09:48:42 +00:00
Igor Sysoev
315cfa0ab3
test a duplicate listen in a server
2009-10-22 08:15:16 +00:00
Igor Sysoev
acb43232f6
fix r3225: it overrode the listen options by default server default options
2009-10-22 08:14:02 +00:00
Igor Sysoev
9826961ed4
listen default_server parameter
2009-10-21 19:18:50 +00:00
Igor Sysoev
5a95080cb6
allow to set listen options in any server
2009-10-21 19:16:38 +00:00
Igor Sysoev
ba3083bfce
add listen address in error message
2009-10-21 19:13:27 +00:00
Igor Sysoev
42b72993c5
use lowcase only hostname
2009-10-21 17:04:13 +00:00
Igor Sysoev
cd8b43cde7
rename core_srv_conf fields to more understandable default_server and server
2009-10-21 16:52:10 +00:00
Igor Sysoev
f2694cb925
*) move sockaddr to the listen options
...
*) rename ngx_http_listen_t to ngx_http_listen_opt_t
2009-10-21 16:47:44 +00:00
Igor Sysoev
2a634f5342
fix r3218:
...
Initially building lists of ports, addresses, and server names had been
placed at final configuration stage, because complete set of the "listen"s
and the "server_names" were required for this operation. r3218 broke it,
because the "listen"s go usually first in configuration, and
cscf->server_names is empty at this stage, therefore no virtual names
were configured.
Now server configurations are stored in array for each address:port
to configure virtual names. Also regex captures flag is moved from
server names to core server configuration.
2009-10-21 16:27:48 +00:00
Igor Sysoev
d2d0931ed5
refactor http listen code: remove duplicate options fields
2009-10-21 08:48:04 +00:00
Igor Sysoev
79d630ac11
refactor http listen code:
...
*) add listen's to the global cmcf->ports array instead of server's one
*) rename ngx_http_listen_conf_t to ngx_http_listen_opt_t
2009-10-21 08:19:46 +00:00
Igor Sysoev
e418e0661c
fix two previous commits: an early parallel body discarding completion
...
disables incomplete ngx_http_writer()
2009-10-20 11:48:28 +00:00
Igor Sysoev
9a1f0ac730
allow discarding body while a long response transfer
2009-10-19 16:13:38 +00:00
Igor Sysoev
801a35df3c
restore discard body handler after ngx_http_set_writer() set it to
...
ngx_http_test_reading(), the bug was introduced in r3050
2009-10-19 16:12:13 +00:00
Igor Sysoev
7060e670f4
fix ngx_http_finalize_request() code after a body has been discarded
2009-10-19 16:06:57 +00:00
Igor Sysoev
11e5d7f190
prevent handling discarded body as a pipelined request
2009-10-19 14:08:35 +00:00
Igor Sysoev
2495c4d50b
add lingering timeout if a response is short and a request body is being
...
discarded, the bug was introduced in r3050
2009-10-19 14:08:09 +00:00
Igor Sysoev
a1e36777f4
add SNI support in -V output
2009-10-19 12:35:01 +00:00
Igor Sysoev
145dcc180a
fix typo
2009-10-19 12:33:09 +00:00
Igor Sysoev
550454192c
ngx_http_parse_time() should support full 32-bit time
2009-10-15 13:19:34 +00:00
Igor Sysoev
5143e39b4e
use ngx_uint_t instead of int,
...
strange to say this reduce function size by 16 bytes
2009-10-15 13:09:58 +00:00
Igor Sysoev
6a588f80c6
bump version
2009-10-15 13:01:42 +00:00
Igor Sysoev
73a9c44441
update r3201: ngx_http_random_index_module should behave consistently
...
in spite of the dirent.d_type presence
2009-10-14 12:39:41 +00:00
Igor Sysoev
3f438068eb
ignore EACCES errors for top level directories in ngx_create_full_path()
2009-10-14 11:46:09 +00:00
Igor Sysoev
d0188e09af
do not create Win32 drive letter in ngx_create_full_path()
2009-10-14 11:36:16 +00:00
Igor Sysoev
e58700d3b0
*) reset cached dirent.d_type after stat()
...
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-10-14 11:33:35 +00:00
Igor Sysoev
e7138540d6
nginx did not close log file set by --error-log-path,
...
the bug was introduced in r2744
2009-10-09 14:43:09 +00:00
Igor Sysoev
671236993a
test comma separator in "Cache-Control"
2009-10-08 14:22:00 +00:00
Igor Sysoev
e2afcc5d2f
hide cacheable Set-Cookie and P3P FastCGI response headers
2009-10-07 15:15:41 +00:00
Igor Sysoev
3bed0daced
use only strong ciphers by default
2009-10-07 14:46:13 +00:00
Igor Sysoev
136dd8d1e6
use real file cache length, this fixes cache size counting for responses
...
without "Content-Length" header and 304 responses.
2009-10-07 12:55:58 +00:00
Igor Sysoev
9e54633645
bump version
2009-10-07 12:48:05 +00:00
Igor Sysoev
4efbd6ab36
fix r3184
2009-10-06 16:08:15 +00:00
Igor Sysoev
cf9dd76b43
disable SSLv2 and low ciphers by default
2009-10-06 14:24:53 +00:00
Igor Sysoev
280d6955e3
bump version
2009-10-06 13:52:26 +00:00
Igor Sysoev
2fb73afece
limit_conn_log_level
2009-10-06 10:14:29 +00:00
Igor Sysoev
6624c62742
limit_req_log_level
2009-10-06 10:14:21 +00:00
Igor Sysoev
4ae43f965d
fix building by gcc45
2009-10-06 09:46:16 +00:00
Igor Sysoev
5d4b802370
make limit_req to conform to the leaky bucket algorithm
2009-10-06 09:37:18 +00:00
Igor Sysoev
a2951910d3
omit '\0' from "Location" header on MKCOL request
2009-10-06 09:32:21 +00:00
Igor Sysoev
703f15d8a2
clear r->lingering_close to disable preventively calling
...
ngx_http_set_lingering_close() while request cleanup
2009-10-02 11:32:56 +00:00
Igor Sysoev
2d24d749e4
clear r->keepalive to disable preventively calling
...
ngx_http_set_keepalive() while request cleanup
2009-10-02 11:30:47 +00:00
Igor Sysoev
48a3131d83
update r3167: do not set r->discard_body if the body has been just discarded
2009-10-02 09:46:04 +00:00
Igor Sysoev
3266171fd4
read_ahead
2009-09-30 13:21:52 +00:00
Igor Sysoev
687b0e99ea
Linux/SPARC malloc() returns an address aligned to 8. This conflicts with
...
our SPARC 16-byte alignment and some allocations may be done out of pool.
ngx_memalign(ngx_pagesize) fixes this issue.
2009-09-30 12:56:44 +00:00
Igor Sysoev
689064b91a
log 499 instead 0, the bug was introduced in r3050
2009-09-30 12:05:08 +00:00
Igor Sysoev
13210a18f4
allow several perl_modules
2009-09-30 11:46:01 +00:00
Igor Sysoev
d9ef969e28
use ngx_conf_set_str_array_slot() for perl_require
2009-09-28 16:07:14 +00:00
Igor Sysoev
2c808cc191
optimize error handling
2009-09-28 15:57:28 +00:00
Igor Sysoev
0056d6b4aa
bump version
2009-09-28 15:56:28 +00:00
Igor Sysoev
65166cfa2f
fix request counter in resolver handling, the bug was introduced in r3050
2009-09-28 12:31:47 +00:00
Igor Sysoev
00e723da20
we do not need to increase request counter in this place,
...
the bug had appeared in r3115
2009-09-28 11:12:45 +00:00
Igor Sysoev
63bfeb9bd0
fix r3078: do not increase request counter if body has been just discarded
2009-09-26 13:24:15 +00:00
Igor Sysoev
29e7d8cc73
use parents around NGX_ATOMIC_T_LEN value
2009-09-25 20:25:47 +00:00
Igor Sysoev
48a28e2dad
uniform ngx_directio_on/off() interface with other file functions
2009-09-25 14:17:28 +00:00
Igor Sysoev
38a7faadfe
handle short pwrite() to log an error cause: ENOSPC, EDQUOT, or EFBIG
2009-09-25 13:55:46 +00:00
Igor Sysoev
812234e2f5
fix discarding body
2009-09-25 11:55:33 +00:00
Igor Sysoev
a552ab476e
check unsafe Destination
2009-09-25 09:30:06 +00:00
Igor Sysoev
7f6d71bbc8
low ENAMETOOLONG logging level
2009-09-25 09:13:08 +00:00
Igor Sysoev
c81582ea67
fix r3155
2009-09-24 20:09:12 +00:00
Igor Sysoev
5631879c7a
test incomplete WriteFile()
2009-09-24 20:05:21 +00:00
Igor Sysoev
f4d97e2472
log file name for read/write errors
2009-09-24 20:04:10 +00:00
Igor Sysoev
4bcc725f83
delete Win95 code
2009-09-24 19:55:35 +00:00
Igor Sysoev
ef2662caab
fix debug log message
2009-09-24 14:47:10 +00:00
Igor Sysoev
cdaf442a2f
$ssl_session_id
2009-09-24 14:45:28 +00:00
Igor Sysoev
f63a48ce7e
update the previous commit: use ngx_strlow()
2009-09-24 13:23:25 +00:00
Igor Sysoev
6749e92938
$host is always in low case:
...
*) move low case convertation from ngx_http_find_virtual_server()
to ngx_http_validate_host()
*) add in ngx_http_validate_host() capability to copy host name in the pool
allocated memory
2009-09-24 13:15:50 +00:00
Igor Sysoev
e5b2d3c6b2
low default connection errors level from alert to error
2009-09-23 15:28:33 +00:00
Igor Sysoev
3749443661
bump version
2009-09-23 15:27:17 +00:00
Igor Sysoev
81fed299ce
fail if file size was changed
2009-09-22 09:44:57 +00:00
Igor Sysoev
70df46f5c5
fix typo in addition_types directive name
2009-09-22 09:06:15 +00:00
Igor Sysoev
7386cf58a7
fix request counter for post_action, the bug was introduced in r3050
2009-09-21 18:34:22 +00:00
Igor Sysoev
5b6b1fda1c
allow to log invalid $request in access_log always,
...
before it was logged only if error_log was set to info or debug level
2009-09-21 15:55:56 +00:00
Igor Sysoev
a8d3d2204f
fix resolver cache rbtree comparison
2009-09-19 16:15:13 +00:00
Igor Sysoev
15c149e499
restore environ, this fixes segfault on reconfiguration failure when
...
perl module creates new environment
2009-09-18 09:21:14 +00:00
Igor Sysoev
2d95c3f210
fix comment
2009-09-18 09:12:40 +00:00
Igor Sysoev
c828202087
*) issue warning instead of failure: this is too common case
...
*) use ngx_log_error(), since OpenSSL does not set an error on the failure
2009-09-18 09:10:16 +00:00
Igor Sysoev
99651523de
fix memory leak in resolver
2009-09-16 13:48:11 +00:00
Igor Sysoev
866e958c5d
win32 ngx_file_info() utf8 support
2009-09-16 13:30:13 +00:00
Igor Sysoev
7e4e5e165f
preserve errno while ngx_free()
2009-09-16 13:28:20 +00:00
Igor Sysoev
d1e9567425
do not pass buf with empty cached response,
...
this fixes "zero size buf in output" alert
2009-09-15 15:12:03 +00:00
Igor Sysoev
04c2f085f4
nginx always sent "Vary: Accept-Encoding",
...
if both gzip_static and gzip_vary were on
2009-09-15 11:57:29 +00:00
Igor Sysoev
4428cfc12b
image_filter_transparency
2009-09-15 11:55:17 +00:00
Igor Sysoev
f1edf87d04
fix alpha-channel transparency in PNG
2009-09-15 09:47:12 +00:00
Igor Sysoev
6db93ab8ba
allow perl "sub{..."
2009-09-15 09:37:16 +00:00
Igor Sysoev
e6823b5199
bump version
2009-09-15 09:36:09 +00:00
Igor Sysoev
be9d165064
test space between "~" and regex in server_name and invalid_referers
2009-09-14 09:48:48 +00:00
Igor Sysoev
97aa4c86a1
handle "/../" case more reliably
2009-09-14 07:42:01 +00:00
Igor Sysoev
12a7d493d4
fix request counter for X-Accel-Redirect, the bug was introduced in r3050
2009-09-13 13:45:32 +00:00
Igor Sysoev
84b20ca18b
fix case when the output filter should add incoming buffers
...
while waiting on file AIO completion
2009-09-13 06:28:17 +00:00
Igor Sysoev
570608ff4a
style fix
2009-09-13 06:25:54 +00:00
Igor Sysoev
79b8049de4
fix transparency in GIF
2009-09-12 09:46:28 +00:00
Igor Sysoev
96e36ef252
If .domain.com, .sub.domain.com, and .domain-some.com were defined,
...
then .sub.domain.com was matched by .domain.com: wildcard names hash
was built incorrectly due to sorting order issue of "." vs "-".
They were sorted as
com.domain com.domain-some com.domain.sub
while they should be sorted as
com.domain com.domain.sub com.domain-some
for correct hash building
2009-09-12 09:28:37 +00:00
Igor Sysoev
e0f1d0afcc
style fix
2009-09-11 13:57:50 +00:00
Igor Sysoev
526f36aab8
fix request counter for rewrite or internal redirection cycle,
...
the bug was introduced in r3050
2009-09-10 16:34:09 +00:00
Igor Sysoev
3e751480b2
increase request counter before an upstream cleanup because the cleanup
...
decreases the counter via ngx_http_finalize_request(r, NGX_DONE),
the bug was introduced in r3050
2009-09-08 11:37:50 +00:00
Igor Sysoev
4d4b2a1b40
fix request counter handling in perl module for $r->internal_redirect()
...
and $r->has_request_body(), the bug was introduced in r3050
2009-09-08 11:33:32 +00:00
Igor Sysoev
9963b19f69
do not pass incoming buf chain twice if data are ready,
...
the bug was introduced in r3072
2009-09-07 12:10:07 +00:00
Igor Sysoev
d0afc39841
bump version
2009-09-07 12:08:58 +00:00
Igor Sysoev
28debb2191
fix the previous commit
2009-09-04 18:51:17 +00:00
Igor Sysoev
78fd825c1e
preload just a single byte to avoid testing file overrun
2009-09-04 16:59:23 +00:00
Igor Sysoev
8013a83067
clean cache updating state if a response has uncacheable code or
...
cache prohibitive headers
2009-09-04 09:57:38 +00:00
Igor Sysoev
7d71c80b16
fix request counter handling for perl handler, introduced in r3050
2009-09-04 09:54:16 +00:00
Igor Sysoev
f0e12845a5
log offset passed to sendfile()
2009-09-04 09:53:09 +00:00
Igor Sysoev
2052077b93
small optimization
2009-09-04 09:50:58 +00:00
Igor Sysoev
63494b4c79
discrease slightly ngx_http_parse_header_line() size:
...
this line is not required for LF, however, this case is very seldom
2009-09-02 07:02:49 +00:00
Igor Sysoev
21e3e05eb1
discard request body before returning 413 error,
...
this fixes custom 413 page redirection bug introduced in r1456
2009-09-01 12:47:34 +00:00
Igor Sysoev
b4cc2fc0d7
fix request counter handling while discarding body, introduced in r3050
2009-09-01 12:40:27 +00:00
Igor Sysoev
56f06e69df
use %*s instead of %V
2009-09-01 12:35:52 +00:00
Igor Sysoev
2e9ea35fd7
fix segfault when a header starts with "\rX"
...
and logging is set to info or debug level
2009-09-01 12:32:37 +00:00
Igor Sysoev
f13a2507ae
bump version
2009-09-01 12:07:00 +00:00
Igor Sysoev
9f9054df82
retry aio sendfile if data are ready
2009-08-31 14:00:16 +00:00
Igor Sysoev
06bb9d294a
fix building on FreeBSD without --with-file-aio
2009-08-31 13:51:13 +00:00
Igor Sysoev
c76ba2b2c5
bump version
2009-08-31 13:50:37 +00:00
Igor Sysoev
fb30a18045
fix request counter handling for try_files, introduced in r3050
2009-08-31 11:21:04 +00:00
Igor Sysoev
bfff03406d
aio sendfile
2009-08-30 09:52:39 +00:00
Igor Sysoev
ddda411d14
*) ngx_http_ephemeral
...
*) use preallocated terminal_posted_request
2009-08-30 09:47:11 +00:00
Igor Sysoev
8c491a77bc
refactor EAGAIN/EINTR processing
2009-08-30 09:42:29 +00:00
Igor Sysoev
d11fa717f0
use local variable and fix debug log message
2009-08-29 18:42:31 +00:00
Igor Sysoev
61b09e59d7
fix request counter for memcached, introduced in r3050
2009-08-29 18:40:28 +00:00
Igor Sysoev
cfb6888d87
bump version
2009-08-29 18:39:32 +00:00
Igor Sysoev
6ef7e772a9
fix build by msvc, introduced in r3054
2009-08-28 11:46:12 +00:00
Igor Sysoev
8b8e995eb8
do not create cache key in AIO invocation
2009-08-28 11:23:50 +00:00
Igor Sysoev
a39d4e1aee
fix sending a cached file using AIO
2009-08-28 11:22:27 +00:00
Igor Sysoev
aa4200b551
do not disable gzip for MSIE 6.0 SV1 in "gzip_disable msie6"
2009-08-28 08:19:02 +00:00
Igor Sysoev
6fb506a215
directio_alignment
2009-08-28 08:15:55 +00:00
Igor Sysoev
a962506498
FreeBSD and Linux AIO support
2009-08-28 08:12:35 +00:00
Igor Sysoev
1163af9fae
style fix
2009-08-28 07:50:45 +00:00
Igor Sysoev
5297d456d8
axe r->connection->destroyed testing
2009-08-26 16:14:57 +00:00
Igor Sysoev
b603dd4b43
request reference counter
2009-08-26 16:04:05 +00:00
Igor Sysoev
450659e62a
twice termination delay only after SIGALRM, otherwise many separate SIGCHLD
...
and SIGIO signals quickly increase delay to the level when SIGKILL is sent
2009-08-26 15:12:28 +00:00
Igor Sysoev
31f6c5c55d
style fix
2009-08-26 15:09:09 +00:00
Igor Sysoev
9262c6138e
fix typo
2009-08-26 15:03:53 +00:00
Igor Sysoev
764c5eca29
ignore SIGSYS
2009-08-26 05:19:57 +00:00
Igor Sysoev
b71610eb09
*) move small declarations in appropriate places and delete the surplus
...
header files
*) delete insignificant comments
2009-08-25 09:09:13 +00:00
Igor Sysoev
8e7e69e351
style fix
2009-08-25 09:06:21 +00:00
Igor Sysoev
79fb302daf
bump version
2009-08-25 08:47:58 +00:00
Igor Sysoev
a79f8a5655
strict testing "access_log off"
2009-08-23 17:06:33 +00:00
Igor Sysoev
5374610ace
process upstream ETag header
2009-08-23 16:10:39 +00:00
Igor Sysoev
f4f7d5e5f4
the flags should be bit-wide only
2009-08-23 12:58:41 +00:00
Igor Sysoev
3a58935936
*) share temporary number between workers
...
*) randomize collision offset
2009-08-21 09:06:35 +00:00
Igor Sysoev
f95847d0ba
test EXDEV after path creation
2009-08-20 15:53:57 +00:00
Igor Sysoev
0ddc1978ee
fix copy failure logging and stale files removal, introduced in r3025
2009-08-20 13:41:32 +00:00
Igor Sysoev
9db33c9234
fix copy destination name length, introduced in r3025
2009-08-20 13:37:26 +00:00
Igor Sysoev
0f00b0a801
fix memory leak if GeoIP City database was used
2009-08-19 17:44:33 +00:00
Igor Sysoev
42e49ba1ef
bump version
2009-08-19 09:09:12 +00:00
Igor Sysoev
aa4bba5298
fix building on 64-bit platforms, introduced in r3025
2009-08-13 13:48:41 +00:00
Igor Sysoev
c287a9811e
fix debug point for left open sockets
2009-08-13 08:40:25 +00:00
Igor Sysoev
45ec56bdca
refactor fastcgi stderr handling
2009-08-12 14:38:44 +00:00
Igor Sysoev
b7a09c5523
allow cross device temporary files atomic copying:
...
*) ngx_copy_file()
*) delete ngx_ext_rename_file_t.log_rename_error and .rename_error fields
2009-08-12 12:05:33 +00:00
Igor Sysoev
c9538c069f
NGX_ENOPATH
2009-08-11 14:25:04 +00:00
Igor Sysoev
98ab9ce988
win32 cache loader support
2009-08-11 08:14:43 +00:00
Igor Sysoev
e9d8858da5
style fix
2009-08-11 07:55:39 +00:00
Igor Sysoev
703aab0b72
unlock incompletely loaded cache
2009-08-10 15:57:42 +00:00
Igor Sysoev
632a1922fa
delete mistaken sleep in the previous commit
2009-08-10 14:45:52 +00:00
Igor Sysoev
4413fad0db
cache loader process
2009-08-10 13:27:14 +00:00
Igor Sysoev
3210b282f5
test cache path levels while reconfiguration
2009-08-10 13:18:40 +00:00
Igor Sysoev
07b280a29f
introduce NGX_PROCESS_JUST_SPAWN and change field name accordingly
2009-08-10 13:07:15 +00:00
Igor Sysoev
fe8726404c
bump version
2009-08-10 12:49:06 +00:00
Igor Sysoev
22fc3e656e
fix segfault introduced in r3007
2009-08-07 13:16:42 +00:00
Igor Sysoev
ccefc4f0aa
fix a garbage in a split fastcgi header
2009-08-04 12:19:17 +00:00
Igor Sysoev
1b52828cd9
continue to parse available fastcgi record after a split header,
...
this fixes the erroneous message "upstream prematurely closed connection
while reading response header from upstream"
2009-08-04 11:51:10 +00:00
Igor Sysoev
5fab282698
bump version
2009-07-31 12:41:02 +00:00
Igor Sysoev
15b7420aa6
ngx_http_upstream_create() to cleanup the previous upstream after
...
internal redirect
2009-07-27 13:25:29 +00:00
Igor Sysoev
b477b2c2f4
clear "Accept-Ranges" for SSI responses
2009-07-27 13:18:40 +00:00
Igor Sysoev
ce1ba38b93
fix handling "Last-Modified" and "Accept-Ranges" for upstream responses
2009-07-27 13:14:45 +00:00
Igor Sysoev
7335dfa4b6
allow to proxy_pass_header/fastcgi_pass_header "X-Accel-Redirect",
...
"X-Accel-Limit-Rate", "X-Accel-Buffering", and "X-Accel-Charset"
2009-07-27 12:06:12 +00:00
Igor Sysoev
365d663cc2
fix memory corruption in $ssl_client_cert
2009-07-27 11:51:12 +00:00
Igor Sysoev
b5142550cc
fix return value
2009-07-27 11:04:28 +00:00
Igor Sysoev
1099f9f657
fix segfault if 400 or 414 errors are handled intricately
2009-07-24 19:20:29 +00:00
Igor Sysoev
543151b300
fix libxml2 error message
2009-07-24 13:32:41 +00:00
Igor Sysoev
2cc13965a3
variables support in image_filter
2009-07-23 13:14:58 +00:00
Igor Sysoev
f5ca9df2ab
delete ancient define
2009-07-23 12:59:11 +00:00
Igor Sysoev
80c3e8e03b
delete OpenSSL pre-0.9.7 compatibility: the sources were not actually
...
compatible with OpenSSL 0.9.6 since ssl_session_cache introduction
2009-07-23 12:54:20 +00:00
Igor Sysoev
9db0245cda
ssl_crl
2009-07-23 12:21:26 +00:00
Igor Sysoev
5b4b7c58cc
*) $ssl_client_verify
...
*) "ssl_verify_client ask" was changed to "ssl_verify_client optional"
2009-07-22 17:41:42 +00:00
Igor Sysoev
a4038c8e71
fix r2972, it caused "zero size buf" alert.
2009-07-22 13:06:27 +00:00
Igor Sysoev
15e3b01819
geo module supports trusted proxies
2009-07-22 09:43:14 +00:00
Igor Sysoev
55d47a81a9
do not test "..." case since it's Win9x family feature only
2009-07-20 12:23:04 +00:00
Igor Sysoev
5639272d47
do auto redirect for proxy_pass/fastcgi_pass with variables
2009-07-20 11:44:38 +00:00
Igor Sysoev
193f9f3b14
bump version
2009-07-20 11:43:15 +00:00
Igor Sysoev
bc10147b9f
ngx_http_geoip_module
2009-07-20 07:10:43 +00:00
Igor Sysoev
142a9c3f11
preserve XML wellFormed field before freeing memory
2009-07-17 08:04:52 +00:00
Igor Sysoev
c30d6da7db
style fix
2009-07-15 14:50:51 +00:00
Igor Sysoev
2642bf1a6d
use caseless regex locations on caseless filesystems: MacOSX, Win32, Cygwin
2009-07-14 08:53:37 +00:00
Igor Sysoev
2376d6082a
skip URI trailing dots under Win32
2009-07-14 08:51:20 +00:00
Igor Sysoev
c28d632595
ngx_http_set_exten() is always successful since 0.3.46
2009-07-14 08:38:28 +00:00
Igor Sysoev
1d03cd6676
bump version
2009-07-14 08:18:38 +00:00
Igor Sysoev
df4b230ede
allow underscore in request method
2009-07-13 09:33:34 +00:00
Igor Sysoev
52833f2211
handle Win32 ReadFile() EOF state in Unix way
2009-07-13 09:32:49 +00:00
Igor Sysoev
d6bb7ea591
style fix
2009-07-09 14:03:12 +00:00
Igor Sysoev
a4eb3f0e02
fix client write event handling in ngx_http_limit_req_module
2009-07-09 14:02:09 +00:00
Igor Sysoev
2e9542b910
fix ngx_http_send_special() for subrequests handled by perl
2009-07-09 13:32:51 +00:00
Igor Sysoev
f8f9fc2f1a
bump version
2009-07-09 13:20:51 +00:00
Igor Sysoev
704462ac85
fix building --without-http-cache, broken in r2953
2009-06-22 09:10:50 +00:00
Igor Sysoev
7ae6e18c84
bump version
2009-06-22 08:59:48 +00:00
Igor Sysoev
ad0d2fced4
fix segfault if there is error_page 401, proxy_intercept_errors is on
...
and backend does not return "WWW-Authenticate" header
2009-06-18 14:28:50 +00:00
Igor Sysoev
bd9eda9986
$upstream_cache_status
2009-06-18 13:34:47 +00:00
Igor Sysoev
a5fe5881c6
ignore ngx_atomic_fetch_add() result
...
this fixes building at least by gcc 4.2.1 on Mac OS X 10.6
2009-06-18 13:14:51 +00:00
Igor Sysoev
0775182312
fix building --without-http-cache, broken in r2930
2009-06-15 14:25:08 +00:00
Igor Sysoev
dfd4e0a303
bump version
2009-06-15 14:22:20 +00:00
Igor Sysoev
bf22945140
add response file uniq while loading cold cache on demand
2009-06-12 20:32:42 +00:00
Igor Sysoev
282109b563
initialize use_event field in open file cache
...
the bug had been introduced in r2071
2009-06-12 14:23:29 +00:00
Igor Sysoev
eb5a64fdf2
style fix
2009-06-11 05:51:37 +00:00
Igor Sysoev
ec7903b6f2
bump version
2009-06-10 11:46:34 +00:00
Igor Sysoev
83c93ba109
inherit proxy_set_header, proxy_hide_header, and fastcgi_hide_header
...
only if cache settings are similar
2009-06-08 12:33:11 +00:00
Igor Sysoev
2d65078eff
update r2925
2009-06-07 18:22:58 +00:00
Igor Sysoev
55192e7470
proxy_cache_use_stale/fastcgi_cache_use_stale updating
2009-06-06 18:49:47 +00:00
Igor Sysoev
fa524e9063
delete useless r->cache->uses
2009-06-06 17:48:54 +00:00
Igor Sysoev
ae7e8886f6
remove remnants
2009-06-06 14:13:49 +00:00
Igor Sysoev
366bf71b82
win32 master process had aready closed listening sockets
2009-06-06 12:53:55 +00:00
Igor Sysoev
165aa39230
a signaller process should stop configuration processing just after
...
it is able to get pid file, this allows to not open log files, etc.
2009-06-06 12:41:31 +00:00
Igor Sysoev
7b6b09f105
*) exit if no workers could not be started
...
*) do not quit old workers if no new workers could not be started
2009-06-06 12:36:44 +00:00
Igor Sysoev
a864311b12
fix debug logging
2009-06-05 17:44:49 +00:00
Igor Sysoev
7f9305cc2c
do not test a pool block space if we can not allocated from the block 4 times
2009-06-05 13:27:12 +00:00
Igor Sysoev
8e5f0acbc2
change surplus for() to while()
2009-06-05 12:33:49 +00:00
Igor Sysoev
abf5d3fbe2
test GIF87a
2009-06-05 07:29:47 +00:00
Igor Sysoev
5a2898f2b4
try to reuse last 4 free large allocation links
...
this fixes a pool growing for multi-requests keepalive connections
2009-06-03 13:57:28 +00:00
Igor Sysoev
05ff657234
bump version
2009-06-03 04:51:52 +00:00
Igor Sysoev
260c4321d7
return NULL instead of NGX_CONF_ERROR on a create conf failure
2009-06-02 16:09:44 +00:00
Igor Sysoev
05822df0cb
fix return value on failure
2009-06-02 16:08:38 +00:00
Igor Sysoev
3e64702807
leave chain in consistent state on errors
2009-06-02 16:07:13 +00:00
Igor Sysoev
42846485a2
test premature process termination
2009-06-02 14:26:59 +00:00
Igor Sysoev
130690fceb
log GetExitCodeProcess()'s errno
2009-06-02 14:26:18 +00:00
Igor Sysoev
80027fc0a2
limit_rate_after
2009-06-02 14:01:50 +00:00
Igor Sysoev
f0a827adcb
add drive letter for Win32 root path
2009-06-02 14:00:01 +00:00
Igor Sysoev
a119584e66
test that zone has the same addresses in different processes
2009-06-02 13:57:59 +00:00
Igor Sysoev
5b26bec9e8
*) fix memory leak in successful case
...
*) log shared memory name in failure case
2009-06-02 13:56:42 +00:00
Igor Sysoev
785ee23467
allow shared memory segments more than 4G
2009-05-30 17:06:38 +00:00
Igor Sysoev
8416832621
fix "out of memory" case handling
2009-05-29 11:42:55 +00:00
Igor Sysoev
6da803a6be
fix logging in ngx_win32_rename_file()
2009-05-29 09:32:52 +00:00
Igor Sysoev
b7882d1213
add trailing zero to a file name
2009-05-29 09:31:48 +00:00
Igor Sysoev
21c2cf88c1
fix XSLT filter in SSI subrequests
2009-05-28 15:42:27 +00:00
Igor Sysoev
65105aaae3
Win32 returns ERROR_PATH_NOT_FOUND instead of ERROR_FILE_NOT_FOUND
2009-05-28 15:32:22 +00:00
Igor Sysoev
98f692a91e
report about proxy/fastcgi_store and proxy/fastcgi_cache incompatibility
2009-05-28 13:41:44 +00:00
Igor Sysoev
da28ef8bff
style fix
2009-05-28 13:31:43 +00:00
Igor Sysoev
77adc0d6c2
do not set charset for subrequests
2009-05-26 09:38:48 +00:00
Igor Sysoev
4b14a97b65
fix the previous commit
2009-05-25 19:57:25 +00:00
Igor Sysoev
d1d8cd587b
refactor ngx_http_charset_header_filter()
2009-05-25 15:57:43 +00:00
Igor Sysoev
e959128b4a
keepalive_requests
2009-05-25 15:38:36 +00:00
Igor Sysoev
6ba4df71b2
bump version
2009-05-25 15:24:20 +00:00
Igor Sysoev
3b74b8eeb9
fix socket leak introduced in r2378
2009-05-25 09:56:01 +00:00
Igor Sysoev
60190068ab
reset content_type hash value, this fixes a bug when XSLT responses
...
could not be processed by SSI, charset, and gzip filters
2009-05-25 09:06:29 +00:00
Igor Sysoev
77fd67cc38
light optimization of ngx_http_test_content_type()
2009-05-25 09:00:35 +00:00
Igor Sysoev
430d42bfdc
fix segfault introduced in r2845
2009-05-22 11:32:17 +00:00
Igor Sysoev
93c483e0c5
add charset for ngx_http_gzip_static_module responses
2009-05-22 11:05:26 +00:00
Igor Sysoev
5ed3691b6e
proxy_cache_methods and fastcgi_cache_methods
2009-05-19 13:27:27 +00:00
Igor Sysoev
980491302b
use already given variable
2009-05-19 12:55:26 +00:00
Igor Sysoev
6091c8c33e
bump version
2009-05-18 16:48:53 +00:00
Igor Sysoev
2a9ce62631
use ngx_connection_local_sockaddr() instead of ngx_http_server_addr()
2009-05-18 12:58:19 +00:00
Igor Sysoev
739e29b651
delete unneeded field
2009-05-18 12:21:00 +00:00
Igor Sysoev
610cbd4223
mail proxy listen IPv6 support
2009-05-18 12:20:22 +00:00
Igor Sysoev
c985ee7a61
ngx_connection_local_sockaddr()
2009-05-18 12:12:06 +00:00
Igor Sysoev
868d805c8b
delete unneeded cast
2009-05-18 07:47:58 +00:00
Igor Sysoev
1daaa008fb
update comments missed in r2513
2009-05-17 20:13:29 +00:00
Igor Sysoev
fdf8e1e183
update variable name missed in r2513
2009-05-17 19:58:37 +00:00
Igor Sysoev
7f20c49059
fix colon in file name for ngx_http_autoindex_module
2009-05-17 19:01:23 +00:00
Igor Sysoev
640e3a49d5
image_filter_jpeg_quality
2009-05-16 16:57:11 +00:00
Igor Sysoev
731e6a9b11
style fix
2009-05-14 16:24:39 +00:00
Igor Sysoev
bfbded71fc
client_body_in_single_buffer
2009-05-14 11:41:33 +00:00
Igor Sysoev
ff07f319c9
$request_body variable
2009-05-14 11:40:51 +00:00
Igor Sysoev
e6460ea7bb
update two previous commits again
2009-05-14 11:39:06 +00:00
Igor Sysoev
bc94bdaf8f
update the previous commit
2009-05-14 11:36:26 +00:00
Igor Sysoev
7d9e3345cd
fix client_body_in_file_only type
2009-05-14 11:31:50 +00:00
Igor Sysoev
bba78036c8
bump version
2009-05-12 13:11:39 +00:00
Igor Sysoev
fd61ab4550
test finalized image filter context before testing image_filter off
...
this fixes SIGFPE if image filter errors are passed to named location
2009-05-12 12:05:29 +00:00
Igor Sysoev
ec9f47175e
bump version
2009-05-11 17:47:06 +00:00
Igor Sysoev
dbebf0bdbc
fix building --without-http-cache
...
the bug had been appeared in r2806
2009-05-08 20:14:35 +00:00
Igor Sysoev
b1897d2395
reconfigure master process
2009-05-08 18:12:03 +00:00
Igor Sysoev
3adecaf121
fix the previous commit
2009-05-08 18:11:18 +00:00
Igor Sysoev
ad0b9303d0
allow to pass image filter errors via the same location where the filter is set
2009-05-08 14:52:50 +00:00
Igor Sysoev
8bb39121fc
test already destroyed request
2009-05-08 14:31:59 +00:00
Igor Sysoev
fd4191845b
handle big responses for "size" and "test" image_filters
2009-05-08 14:25:51 +00:00
Igor Sysoev
4318688cce
preserve Solaris binary hardware capabilities
2009-05-08 09:41:43 +00:00
Igor Sysoev
dbc205ab5a
IPv6 for Win32
2009-05-07 13:05:04 +00:00
Igor Sysoev
6ce6fcd12d
divide select module into two modules: Unix and Win32 ones
2009-05-06 14:53:54 +00:00
Igor Sysoev
3182d6a9d0
bump version
2009-05-06 14:11:03 +00:00
Igor Sysoev
44063a76f4
make code clearer
2009-05-06 08:54:54 +00:00
Igor Sysoev
57ca2c8013
test event type to prevent errors
2009-05-06 08:53:13 +00:00
Igor Sysoev
c340a2841b
delete level event of appropriate type, this should fix select()'s EBADF,
...
WSAENOTSOCK, and "select ready != events" alerts
2009-05-06 08:40:44 +00:00
Igor Sysoev
ee4be0345f
ngx_create_listening()
2009-05-05 17:33:26 +00:00
Igor Sysoev
25870d8ea2
reinit proxy/fastcgi header parser before ngx_http_upstream_cache_send()
2009-05-05 17:18:33 +00:00
Igor Sysoev
b4097d6093
proxy/fastcgi_cache_use_stale http_50x did not work
2009-05-05 15:17:00 +00:00
Igor Sysoev
d4a71fb844
move listen log copying from ngx_open_listening_sockets()
...
to ngx_configure_listening_sockets(), otherwise listen socket logs have no file
after first reload and this caused segfault if debug_connection was used;
the bug has been introduced in r2786
2009-05-05 13:16:29 +00:00
Igor Sysoev
00bd137064
use correct name
2009-05-05 13:12:59 +00:00
Igor Sysoev
682414f352
use local variable
2009-05-05 13:05:42 +00:00
Igor Sysoev
a8da6c2ae6
delete never used ngx_ssl_set_nosendshut()
2009-05-04 19:51:32 +00:00
Igor Sysoev
6efa56fe7f
delete ngx_listening_inet_stream_socket()
2009-05-04 19:51:09 +00:00
Igor Sysoev
4c9d36765c
axe imap module artifacts
2009-05-04 19:34:59 +00:00
Igor Sysoev
63d0bea178
do not free buffer with cache header before it would be written,
...
it seems this affected header only FastCGI responses only:
proxied header only responses were cached right
2009-05-04 19:04:00 +00:00
Igor Sysoev
e7b2f1809f
fix building ngx_http_image_filter_module on 64-bit platforms
2009-05-04 11:39:22 +00:00
Igor Sysoev
fcf9bd9bd8
use off_t in $r->sendfile(), this allows to use 64-bit off_t on platforms
...
where IV is long:
*) on 64-bit platforms,
*) and on 32-bit platforms if perl was built with -Duse64bitint
2009-05-01 19:31:52 +00:00
Igor Sysoev
e7d99eff2c
bump version
2009-05-01 19:13:37 +00:00
Igor Sysoev
e2ada61896
ngx_http_image_filter_module
2009-05-01 18:42:09 +00:00
Igor Sysoev
71d1f49268
ngx_http_filter_finalize_request() and ngx_http_clean_header()
2009-05-01 18:41:07 +00:00
Igor Sysoev
b01c9cc10e
proxy_ignore_headers and fastcgi_ignore_headers
2009-04-30 16:15:07 +00:00
Igor Sysoev
0cd76ea290
*) refactor error_log processing: listen socket log might inherit built-in
...
error_log with zero level, and r2447, r2466, r2467 were not enough
*) remove bogus "stderr" level
*) some functions and fields renames
2009-04-30 13:53:42 +00:00
Igor Sysoev
06d4aa1883
*) check a proxy_redirect single parameter
...
*) warn about "proxy_redirect false"
2009-04-30 12:43:38 +00:00
Igor Sysoev
5461f39381
set of.failed for cached error, the bug has been introduced in r2757
2009-04-30 08:01:50 +00:00
Igor Sysoev
ef919756d9
uniform ngx_file_info() interface with ngx_fd_info()
2009-04-29 19:28:52 +00:00
Igor Sysoev
b1e640a385
try to repair the case "select ready != events"
2009-04-29 18:56:47 +00:00
Igor Sysoev
a1580f58dd
ngx_select_repair_fd_sets()
2009-04-29 15:29:12 +00:00
Igor Sysoev
b70b1f7c64
delete useless debug log
2009-04-29 15:15:17 +00:00
Igor Sysoev
7c6ba72e24
style fix
2009-04-29 15:12:57 +00:00
Igor Sysoev
c5237a8829
handle Winsock select() WSAEINVAL
2009-04-29 13:42:14 +00:00
Igor Sysoev
ff95d9290c
style fix
2009-04-29 13:08:10 +00:00
Igor Sysoev
a70d086812
fix the previous commit
2009-04-29 13:07:16 +00:00
Igor Sysoev
dcc9205a39
Winsock uses ECONNABORTED instead of ECONNRESET
2009-04-29 11:34:58 +00:00
Igor Sysoev
341b8f67b9
fix building by BCC if NGX_PREFIX is defined
2009-04-29 11:32:58 +00:00
Igor Sysoev
ca6a9e0fdc
*) do not show line number for -g option
...
*) reset configuration file after -g option has been parsed
2009-04-28 20:06:03 +00:00
Igor Sysoev
9441ffadbe
add listen events for win32 only after accept mutex is hold
2009-04-28 20:03:59 +00:00
Igor Sysoev
bb8971fd26
fallback to neutral language in FormatMessage()
2009-04-28 15:06:29 +00:00
Igor Sysoev
9d4a8d9111
introduce ngx_write_console() to support OEM code pages
2009-04-28 15:05:27 +00:00
Igor Sysoev
bffd3196cf
"port_in_redirect off" did not work
...
the bug had been appeared in r2530 and r2534
2009-04-28 06:20:12 +00:00
Igor Sysoev
2cc2893bc1
add prefix in Usage
2009-04-28 04:34:27 +00:00
Igor Sysoev
28b313290b
it seems MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT) returns
...
ERROR_RESOURCE_LANG_NOT_FOUND for Russian locale
2009-04-27 18:58:35 +00:00
Igor Sysoev
f67e0a4050
ngx_log_errno()
2009-04-27 13:17:33 +00:00
Igor Sysoev
e1c9746e37
use ngx_vslprintf(), ngx_slprintf()
2009-04-27 13:06:20 +00:00
Igor Sysoev
4e1fe03e03
ngx_vslprintf(), ngx_slprintf()
2009-04-27 12:51:33 +00:00
Igor Sysoev
8ec9a72295
bump version
2009-04-27 12:48:38 +00:00
Igor Sysoev
2ac565faf0
fix building by MSVC8
2009-04-27 11:33:34 +00:00
Igor Sysoev
5ef370df40
-p and --prefix=
2009-04-27 11:32:33 +00:00
Igor Sysoev
df585ef949
get a full response if the response is cacheable or storable even
...
a client has closed connection prematurely
2009-04-27 11:20:55 +00:00
Igor Sysoev
f1cc457d7f
*) of.test_only to not open file if only stat() is enough
...
*) of.failed to return exact name of failed syscall
2009-04-27 09:55:53 +00:00
Igor Sysoev
0e60e4f73a
add quotes for configure options with spaces
2009-04-26 19:37:38 +00:00
Igor Sysoev
43e1b88acb
style fix
2009-04-24 19:58:19 +00:00
Igor Sysoev
22380569de
merge SSL context inside "if" block
2009-04-24 19:56:09 +00:00
Igor Sysoev
c27497da92
change ngx_log_abort() interface
2009-04-24 15:50:51 +00:00
Igor Sysoev
a3041ac931
style fix: (void)
2009-04-24 14:45:52 +00:00
Igor Sysoev
c134eb058d
change ngx_log_create_errlog() interface
2009-04-24 14:27:36 +00:00
Igor Sysoev
7b9feda70b
fix Auth-Method, the bug has been introduced in r2496
2009-04-24 09:54:40 +00:00
Igor Sysoev
caf17102e8
pass command lines options to workers
2009-04-23 18:22:28 +00:00
Igor Sysoev
bf14b000e6
ngx_path_separator()
2009-04-23 16:38:59 +00:00
Igor Sysoev
c28ff717cb
issue start up errors and warning on both stderr and error_log
2009-04-23 11:13:12 +00:00
Igor Sysoev
ae2f2b105a
style fix: remove trailing spaces introduced in the previous commit
2009-04-23 09:46:14 +00:00
Igor Sysoev
eeed2e9b21
use ngx_str_t for error levels
2009-04-23 08:05:54 +00:00
Igor Sysoev
fce0ab53ad
axe incomplete support of Winsock error descriptions on NT
2009-04-22 11:25:12 +00:00
Igor Sysoev
b5b7e89469
use English only error descriptions in Win32 ngx_strerror_r()
2009-04-22 11:20:31 +00:00
Igor Sysoev
c8e9f26a57
implement "-s signal" option for Unix
2009-04-21 20:25:49 +00:00
Igor Sysoev
80ce3d4dd1
style fix: remove trailing spaces
2009-04-21 19:49:48 +00:00
Igor Sysoev
dc5ad52761
style fix: remove tabs
2009-04-21 19:38:02 +00:00
Igor Sysoev
59c393f393
add -? and -h options
2009-04-21 16:21:58 +00:00
Igor Sysoev
e980a6814b
add 48x48 icon
2009-04-21 15:44:39 +00:00
Igor Sysoev
b77808cee0
allow condensed command lines options
2009-04-21 15:42:15 +00:00
Igor Sysoev
19a0e6e32e
fix r2731 for Win32
2009-04-21 15:40:40 +00:00
Igor Sysoev
f873e73b96
test command line options before ngx_log_init() and issue errors to stderr
2009-04-21 13:39:47 +00:00
Igor Sysoev
9a354261f7
fix fastcgi_cache_min_uses
2009-04-21 10:36:01 +00:00
Igor Sysoev
2f7f95381d
bump version
2009-04-20 13:29:38 +00:00
Igor Sysoev
bd91999ea5
Win32 master/workers model
2009-04-20 06:08:47 +00:00
Igor Sysoev
b533e98252
fix Win32 ngx_gettimezone()
2009-04-19 19:08:49 +00:00
Igor Sysoev
694bdea2a9
add variadic macros support for msvc8
2009-04-19 16:25:02 +00:00
Igor Sysoev
1153aa6465
show -t results on stderr
2009-04-19 16:06:09 +00:00
Igor Sysoev
d7fe640672
remove TODO comments
2009-04-18 19:39:06 +00:00
Igor Sysoev
f7a08d5f9a
support attaching to an existent Win32 shared memory
2009-04-18 19:27:28 +00:00
Igor Sysoev
6ac68bcc4c
update c->sent in ngx_unix_send()
2009-04-18 19:13:53 +00:00
Igor Sysoev
61b7791486
fix building on platforms which have no atomic operations support,
...
the bug was introduced in r2564
2009-04-17 19:11:31 +00:00
Igor Sysoev
b072c3d647
fix the previous commit
2009-04-17 19:09:08 +00:00
Igor Sysoev
c7f876bd4c
move zone name from ngx_shm_zone_t to ngx_shm_t to use Win32 shared memory
2009-04-16 19:25:09 +00:00
Igor Sysoev
c26e7b9d49
perl termination fixes:
...
*) master exit hook is run before global pool cleanup, so call PERL_SYS_TERM()
after perl_destruct()/perl_free(). This fixes the message
panic: MUTEX_LOCK (22) [op.c:352]
on some threaded perl builds
*) call perl_destruct()/perl_free() before PERL_SYS_TERM() for
non-mulitiplicity perl
2009-04-16 14:42:31 +00:00
Igor Sysoev
e4ecddfdb0
fix segfault on exit if no http section is defined in confguraiton,
...
the bug has been introduced in r1947
2009-04-15 20:28:36 +00:00
Igor Sysoev
ca878c8ccc
fix segfault if no http section is defined in confguraiton,
...
the bug has been introduced in r1259
2009-04-15 20:26:33 +00:00
Igor Sysoev
5234b9c6a8
fix building by BCC without NGX_DEBUG_MALLOC
2009-04-15 19:44:41 +00:00
Igor Sysoev
ee0da9ad53
fix building by MSVC8
2009-04-15 19:28:10 +00:00
Igor Sysoev
0f50f09022
fix debug logging
2009-04-15 13:46:52 +00:00
Igor Sysoev
9bd1010164
fix building --without-http-cache, introduced in r2664 and later
2009-04-15 12:25:51 +00:00
Igor Sysoev
2b89d20302
hide cacheable Set-Cookie and P3P response headers
2009-04-15 11:42:49 +00:00
Igor Sysoev
081662a3e1
do not pass if-... headers for cacheable responses
2009-04-15 11:21:12 +00:00
Igor Sysoev
c796dd263a
shutdown client connection for cacheable header only responses
2009-04-15 11:19:27 +00:00
Igor Sysoev
e41e724726
support 304 for cacheable responses
2009-04-15 11:17:38 +00:00
Igor Sysoev
50e1cc4560
style fix
2009-04-15 10:57:40 +00:00
Igor Sysoev
ea8536b821
support HEAD in proxy cache
2009-04-15 09:53:22 +00:00
Igor Sysoev
1f450f5b1f
style fix: remove trailing spaces
2009-04-15 06:26:20 +00:00
Igor Sysoev
57006fbb13
bump version
2009-04-15 06:25:02 +00:00
Igor Sysoev
395f895900
allow any status
2009-04-11 11:05:15 +00:00
Igor Sysoev
ecd822809d
try_files status code
2009-04-11 11:02:36 +00:00
Igor Sysoev
9ce893b13b
set cache manager maximum sleep time to 10s
2009-04-10 17:46:25 +00:00
Igor Sysoev
fb5f504bcd
style fix
2009-04-10 17:45:07 +00:00
Igor Sysoev
a655f363e2
style fix
2009-04-10 14:49:51 +00:00
Igor Sysoev
909b36ab1f
do not call ngx_http_file_cache_free() if a response is not cacheable
2009-04-10 14:48:41 +00:00
Igor Sysoev
49ed98d1eb
add debug logging
2009-04-10 14:47:18 +00:00
Igor Sysoev
e46943965d
backout r2535: virtual names is a property of address:port pair,
...
but is not a property of server configuration
2009-04-09 13:56:16 +00:00
Igor Sysoev
b37316d7dd
style fix
2009-04-08 19:51:30 +00:00
Igor Sysoev
a2de7b9b93
delete win32 ngx_file_append_mode() as we use reliable
...
FILE_APPEND_DATA|SYNCHRONIZE flags
2009-04-08 19:13:28 +00:00
Igor Sysoev
2ec2e35efe
adopt NGX_FILE_TRUNCATE for win32
2009-04-08 19:03:41 +00:00
Igor Sysoev
64851bb2ae
fix r2590: error_page made an external redirect without query string
2009-04-07 15:50:08 +00:00
Igor Sysoev
4f1192651d
bump version
2009-04-06 13:42:56 +00:00
Igor Sysoev
d5ba36fdad
backout r2677 and fix ngx_strlcasestrn() again
2009-04-06 11:42:42 +00:00
Igor Sysoev
8d9e4c847d
bump version
2009-04-06 11:39:01 +00:00
Igor Sysoev
f3aed53c9d
fix ngx_strlcasestrn()
2009-04-06 10:38:40 +00:00
Igor Sysoev
e94b22b143
bump version
2009-04-06 10:37:53 +00:00
Igor Sysoev
44a69c83a4
proxy_cache_key
2009-04-06 08:58:44 +00:00
Igor Sysoev
43f3f4a73d
fix cache path slot
2009-04-06 08:35:34 +00:00
Igor Sysoev
1dcaa97ccc
refactor ngx_http_arg() using ngx_strcasestrn(),
...
back out zero termination introduced in r2138
2009-04-04 17:51:38 +00:00
Igor Sysoev
21a3c66a87
support Cache-Control no-cache and max-age in cache
2009-04-04 17:35:40 +00:00
Igor Sysoev
a514d68bfb
ngx_strlcasestrn()
2009-04-04 17:31:54 +00:00
Igor Sysoev
054c505050
update r2664
2009-04-04 17:22:26 +00:00
Igor Sysoev
c8298bf3ee
support Expires in cache
2009-04-03 15:48:19 +00:00
Igor Sysoev
db8f150044
fix r2664: ..._cache_valid did not work for stale responses
2009-04-03 15:47:45 +00:00
Igor Sysoev
c1713aadf5
zero field
2009-04-03 15:44:41 +00:00
Igor Sysoev
0eea247b1d
support X-Accel-Expires in cache
2009-04-03 14:33:34 +00:00
Igor Sysoev
56f86505db
cache GET requests only
2009-04-03 12:06:04 +00:00
Igor Sysoev
ca2bf870d8
merge fastcgi_cache_key
2009-04-02 13:48:54 +00:00
Igor Sysoev
c919d3178a
autoconfigure crypt_r(): uclibc has no crypt_r()
2009-04-02 13:46:39 +00:00
Igor Sysoev
76f42ca21a
fix OpenBSD building, broken in r2616
2009-04-02 13:44:32 +00:00
Igor Sysoev
508b1b5dfb
bump version
2009-04-02 13:44:02 +00:00
Igor Sysoev
de9fca55b1
fix MacOSX building, broken in r2616
2009-04-01 13:09:36 +00:00
Igor Sysoev
931d313311
zero cache file length,
...
this fixes full cache purging and hogging CPU by the cache manager after this
2009-04-01 13:05:38 +00:00
Igor Sysoev
a697c8e574
add debug logging
2009-04-01 13:01:50 +00:00
Igor Sysoev
24c2787163
Win32 appends synchronized if only FILE_APPEND_DATA and SYNCHRONIZE are set
...
without any other flags. On the other hand, Unix requires at least the write
flag to be set together with O_APPEND.
2009-03-31 13:52:01 +00:00
Igor Sysoev
fadc7a7e81
win32 ngx_open_file() supports utf8 names and NGX_FILE_APPEND
2009-03-30 14:51:51 +00:00
Igor Sysoev
8017a63cb3
ngx_process_tray()
2009-03-30 14:46:33 +00:00
Igor Sysoev
91db11b32c
fix segfault introduced in r2602 if there is 502/504 error
...
and proxy/fastcgi_cache is defined without proxy/fastcgi_cache_valid
2009-03-30 14:23:07 +00:00
Igor Sysoev
f072a02ec5
fix r2579
2009-03-30 14:15:47 +00:00
Igor Sysoev
723f71ddfe
fix FreeBSD before 7 building, broken in r2616
2009-03-30 12:33:33 +00:00
Igor Sysoev
0370ff015e
bump version
2009-03-30 12:09:52 +00:00
Igor Sysoev
4aedcc5f4d
bump version
2009-03-30 11:00:58 +00:00
Igor Sysoev
5fe3fb56e8
nginx_version
2009-03-30 07:48:53 +00:00
Igor Sysoev
19298ec1d3
introduce cache manager instead of cache cleaner
2009-03-30 07:45:55 +00:00
Igor Sysoev
1be7419d10
ngx_fs_bsize()
2009-03-30 07:43:06 +00:00
Igor Sysoev
a1e9bfbc85
fix ngx_wsasend_chain()
2009-03-29 16:58:23 +00:00
Igor Sysoev
7c6c186a7e
update cpuid for Core 2 and Atom
2009-03-28 12:43:41 +00:00
Igor Sysoev
2766157b02
delete duplicate error logging
2009-03-27 19:32:55 +00:00
Igor Sysoev
a2c8d9a0a8
improve ngx_slab_alloc() error logging
2009-03-27 17:00:42 +00:00
Igor Sysoev
04fe40023a
delete old debugging and info
2009-03-27 16:37:39 +00:00
Igor Sysoev
766f3a9753
rename ngx_http_scrip_flush_complex_value()
...
to ngx_http_script_flush_complex_value()
2009-03-27 14:59:47 +00:00
Igor Sysoev
22d381e87c
fix plain text values using relative path in ngx_http_complex_value(),
...
this fixes the auth_basic_user_file bug introduced in r2589
2009-03-27 06:34:31 +00:00
Igor Sysoev
1e5ef6b0f4
fix alias with variables, but without captures,
...
the bug had been introduced in r2566 and r2573
2009-03-26 15:24:19 +00:00
Igor Sysoev
517a8fc588
delete unneeded condition
2009-03-26 14:00:28 +00:00
Igor Sysoev
7b7faed7d6
fix add_header Last-Modified "", broken in r2589
2009-03-26 13:34:37 +00:00
Igor Sysoev
2f1a2f3d19
fix logged long locked cache entry name and add count
2009-03-26 09:50:04 +00:00
Igor Sysoev
3afc10f507
fix segfault if ngx_read_file() will fail
2009-03-24 15:03:38 +00:00
Igor Sysoev
63f52af737
fastcgi cache
2009-03-24 12:49:29 +00:00
Igor Sysoev
3a20e4a477
unlink proxy_cache and proxy_cache_valid
2009-03-24 12:31:24 +00:00
Igor Sysoev
7e4d11bb44
do not clean cache if memory cache keys zone is cold
2009-03-24 12:25:43 +00:00
Igor Sysoev
0ded9db383
fix the previous commit
2009-03-23 16:40:11 +00:00
Igor Sysoev
64416aa321
axe old definition fields
2009-03-23 15:57:57 +00:00
Igor Sysoev
565e1e436a
bump version
2009-03-23 15:56:46 +00:00
Igor Sysoev
52859f2f13
a prelimiary proxy cache support
2009-03-23 13:14:51 +00:00
Igor Sysoev
1af7090b50
style fix: remove tabs
2009-03-22 15:52:52 +00:00
Igor Sysoev
9bc41a4281
style fix: remove tabs
2009-03-22 15:50:07 +00:00
Igor Sysoev
17f0e66bd9
use complex value in error_page
2009-03-22 09:40:04 +00:00
Igor Sysoev
0c2fd4a5de
use complex values in add_header, auth_basic_user_file,
...
sub_filter, and xslt_stylesheet parameters
2009-03-22 09:39:19 +00:00
Igor Sysoev
8508c10bb8
ngx_http_script_flush_complex_value()
...
ngx_http_complex_value()
ngx_http_compile_complex_value()
2009-03-22 09:36:51 +00:00
Igor Sysoev
c7ce3a99bc
add full path debug log in try_files
2009-03-20 16:50:53 +00:00
Igor Sysoev
e018a9c6ef
allow try_files in server context
2009-03-20 16:48:45 +00:00
Igor Sysoev
cd70a5225a
fix directory test in try_files
2009-03-20 16:47:23 +00:00
Igor Sysoev
7b5edd8ffe
always run regex in server_name to get captures
2009-03-19 16:07:40 +00:00
Igor Sysoev
fb3be73a38
test wildcard tail hash existance
2009-03-19 15:46:27 +00:00
Igor Sysoev
b03aa7fcc2
split args in a try_files fallback
2009-03-19 13:42:27 +00:00
Igor Sysoev
2c7cb55ac1
ngx_http_split_args()
2009-03-19 13:41:29 +00:00
Igor Sysoev
165b3c001c
split ngx_http_script_compile()
2009-03-18 14:42:06 +00:00
Igor Sysoev
61818c47af
bump version
2009-03-18 14:40:21 +00:00
Igor Sysoev
3658a5bdc6
fix $server_addr for wildcard listen, the has been introduced in r2513
2009-03-18 12:23:57 +00:00
Igor Sysoev
f76a6c2244
reserve space for r->uri, the bug has been introduced in r2566
2009-03-18 12:21:19 +00:00
Igor Sysoev
f2a8affd7e
delete unneeded variable
2009-03-16 11:08:08 +00:00
Igor Sysoev
8f13bccab4
bump version
2009-03-16 11:07:29 +00:00
Igor Sysoev
85e989e209
auth_basic_user_file supports variables
2009-03-16 07:13:22 +00:00
Igor Sysoev
c7e87af678
fix case when regex locaiton runs the second time via internal redirect
2009-03-14 19:24:17 +00:00
Igor Sysoev
bb7d615b3c
fix reserved mapped uri length if alias has captures
2009-03-14 19:20:34 +00:00
Igor Sysoev
51ed97f79f
remove unneeded increment
2009-03-14 17:10:25 +00:00
Igor Sysoev
da0a5318f1
compatibility with Tru64 UNIX: fcntl(F_SETLK, F_WRLCK) returns EINVAL if busy
2009-03-13 14:53:30 +00:00
Igor Sysoev
6d94b51f0b
ipv6only
2009-03-13 14:20:34 +00:00
Igor Sysoev
648b0dcf28
fix building without PCRE, introduced in r2553
2009-03-12 11:42:34 +00:00
Igor Sysoev
0bd7b00eb7
ignore EINVAL from setsockopt() on Solaris
2009-03-12 07:16:15 +00:00
Igor Sysoev
d9307664db
bump version
2009-03-12 07:12:25 +00:00
Igor Sysoev
000609ae76
fix segfaults introduced in r2549 and r2550
2009-03-11 13:04:02 +00:00
Igor Sysoev
da404fcfe5
bump version
2009-03-11 12:57:26 +00:00
Igor Sysoev
dc34dee2f2
fix segfaults introduced in r2550
2009-03-09 08:50:34 +00:00
Igor Sysoev
b91fa66fc8
style fix: remove tabs
2009-03-06 16:48:36 +00:00
Igor Sysoev
78c95de9da
XFS on Linux does not set dirent.d_type,
...
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
2009-03-06 13:01:21 +00:00
Igor Sysoev
7ac9f3605c
captures support in server_name
2009-03-06 12:50:20 +00:00
Igor Sysoev
925baa0f95
captures support in location and alias
2009-03-06 12:49:22 +00:00
Igor Sysoev
1d05de49a3
now regex captures are per-request entities
2009-03-06 12:15:07 +00:00
Igor Sysoev
4b97b33336
pclcf->regex_locations are used with PCRE only
2009-03-05 08:24:17 +00:00
Igor Sysoev
72cdf92a91
bump version
2009-03-05 08:22:45 +00:00
Igor Sysoev
05ee60aed9
fix postponed zlib memory allocation, introduced in r2411
...
*) introduce postpone_gzipping directive
*) disable postponed gzipping by default
The r2411 commit caused hangings up on large SSIed responses
as SSI cleared buf->recycled bit on copy of recycled buf parts
2009-03-01 19:24:11 +00:00
Igor Sysoev
42c67dd5fb
fix case when the first try is shorter then URI
2009-03-01 19:10:36 +00:00
Igor Sysoev
288e503e92
lower ECONNRESET level
2009-02-25 14:27:34 +00:00
Igor Sysoev
3e7e9d72e5
fix segfault introduced in r2486 in $sent_http_location processing
2009-02-24 22:02:08 +00:00
Igor Sysoev
d7b3b48f0e
fix the previous commit
2009-02-24 14:25:24 +00:00
Igor Sysoev
36860101ec
prepare ngx_ptocidr() for IPv6
2009-02-24 14:01:40 +00:00
Igor Sysoev
1f4220ee86
small optimization: " == NGX_ERROR" > " != NGX_OK"
2009-02-24 10:42:23 +00:00
Igor Sysoev
9b4a1d0094
use variable for often used field
2009-02-24 08:32:02 +00:00
Igor Sysoev
fed1ca0dc7
move r->virtual_names to ngx_http_core_srv_conf_t
2009-02-24 07:56:47 +00:00
Igor Sysoev
1966aedd6d
axe r->port_text
2009-02-24 07:29:55 +00:00
Igor Sysoev
50273503aa
remove seldom used variable
2009-02-24 07:21:35 +00:00
Igor Sysoev
2739121518
fix r2530
2009-02-24 07:12:39 +00:00
Igor Sysoev
4da223c8b5
axe unneeded port field
2009-02-23 21:30:31 +00:00
Igor Sysoev
80a4f29c8a
axe r->port
2009-02-23 21:19:35 +00:00
Igor Sysoev
2d95c82f91
axe r->in_addr
2009-02-23 21:05:10 +00:00
Igor Sysoev
b5a17c727c
bump version
2009-02-23 21:02:18 +00:00
Igor Sysoev
5336bd878b
name/password were ignored after odd empty lines
2009-02-23 15:31:18 +00:00
Igor Sysoev
20018efe0f
add auth basic failure logging
2009-02-23 15:15:42 +00:00
Igor Sysoev
49e140ed6c
fix message
2009-02-23 09:42:35 +00:00
Igor Sysoev
8e1aa8ee9c
fix NGX_SOCKADDRLEN, introduced in r2513
2009-02-21 15:13:13 +00:00
Igor Sysoev
55a7aad835
bump version
2009-02-21 14:55:58 +00:00
Igor Sysoev
2bc44ea01a
fix upstream port, introduced in r2513
2009-02-21 14:34:32 +00:00
Igor Sysoev
e10385efe5
fix implicit listen, introduced in r2513
2009-02-21 10:23:30 +00:00
Igor Sysoev
5e988a4ec6
bump version
2009-02-21 09:44:57 +00:00
Igor Sysoev
a35eaccdec
a prelimiary IPv6 support, HTTP listen
2009-02-21 07:02:02 +00:00
Igor Sysoev
a883361c47
split ports, addresses, and server names preparation and optimization
2009-02-18 16:17:12 +00:00
Igor Sysoev
34abdb1683
add debug logging
2009-02-18 09:24:14 +00:00
Igor Sysoev
7b9d3ce703
the $ancient_browser variables did not treat as an ancient browser
...
listed in modern_browser, but has lower version
2009-02-18 09:23:47 +00:00
Igor Sysoev
8a3729da14
set MIME-type length,
...
otherwise ngx_http_test_content_type() did not find "image/gif"
2009-02-17 08:37:36 +00:00
Igor Sysoev
643607bb13
bump version
2009-02-16 14:55:10 +00:00
Igor Sysoev
be63760fc5
load SSL engine before certificates,
...
otherwise RSA keys will use built-in RSA methods
2009-02-16 13:37:58 +00:00
Igor Sysoev
b17bf52a27
set content-type for try_files' choice
2009-02-14 17:26:26 +00:00
Igor Sysoev
134d1a67c5
fix r2169 for .def.com and .abc.def.com case
2009-02-11 12:33:13 +00:00
Igor Sysoev
540ce1957f
bump version
2009-02-11 10:23:06 +00:00
Igor Sysoev
9786016076
fix /?new=arg?old=arg redirect case
2009-02-10 16:03:42 +00:00
Igor Sysoev
c43beec76f
send HELO/EHLO after XCLIENT
...
patch by Maxim Dounin
2009-02-10 15:19:45 +00:00
Igor Sysoev
2c33648e52
if_modified_since off
2009-02-10 15:05:05 +00:00
Igor Sysoev
09f6cd5fa9
compatibility with Microsoft's
...
AUTH LOGIN [base64 encoded user name ]
patch by Maxim Dounin
2009-02-09 12:03:55 +00:00
Igor Sysoev
9f751a8324
AIX has no WCOREDUMP()
2009-02-05 16:01:50 +00:00
Igor Sysoev
f3d540a022
bump version
2009-02-05 15:47:12 +00:00
Igor Sysoev
9a5f4c74cf
fix building by msvc, introduced in r2487
2009-02-02 10:17:06 +00:00
Igor Sysoev
32856e1bc8
avoid a double redirect response if
...
*) a request is going in a keep alive state,
*) the request body should be discarded,
*) epoll/rtsig reports about the response header has been sent,
*) and write event handler calls core phase handler
2009-01-31 20:44:30 +00:00
Igor Sysoev
bd5c23ee0a
avoid deep nested calls, flatten call tree
2009-01-31 20:34:26 +00:00
Igor Sysoev
8ef386e1af
fix return code, this fixes segfault when two or more
...
simultaneous connections are resolving the same address
2009-01-31 20:33:01 +00:00
Igor Sysoev
2c01fd32f2
use length of uncompressed name
2009-01-30 11:56:45 +00:00
Igor Sysoev
867d63bc1a
fix $sent_http_location for local redirects
2009-01-30 05:26:27 +00:00
Igor Sysoev
9258872c2a
store name pointer in variable allocated on stack
...
as resolver ctx may be already deallocated at this point
2009-01-29 14:35:23 +00:00
Igor Sysoev
fa748fe120
free addrs only it has been allocated before: non single address
2009-01-29 14:32:58 +00:00
Igor Sysoev
8629b9b27e
fix reverse resolving cache: it stored zero length names
...
*) free name only if it has been already allocated
*) store name length
2009-01-29 14:29:49 +00:00
Igor Sysoev
67392e8054
fix types and add comment
2009-01-27 16:22:02 +00:00
Igor Sysoev
e46f19f7c4
test allocated space as in try_files
2009-01-27 16:20:29 +00:00
Igor Sysoev
6c5c793403
bump version
2009-01-26 17:01:27 +00:00
Igor Sysoev
dd6a98f89c
style fix: remove tabs
2009-01-26 14:35:10 +00:00
Igor Sysoev
2da48d32c1
fix segfault if $fastcgi_script_name or $fastcgi_path_info were used before
...
fastcgi handler, the bug has been introduced in r2444
2009-01-26 14:33:59 +00:00
Igor Sysoev
9aa30bc51e
revert the previous commit and r2447 change in src/core/ngx_cycle.c
2009-01-26 14:31:49 +00:00
Igor Sysoev
71f729c78c
default error_log has zero level, the bug has been introduced in r2447
2009-01-26 14:11:09 +00:00
Igor Sysoev
4b2844b8a0
fix slab page or more sized allocations if nginx was build without debug
2009-01-25 10:39:59 +00:00
Igor Sysoev
7a86f07057
fix fastcgi_store
2009-01-21 20:54:40 +00:00
Igor Sysoev
7dcbfe67ef
use GetFileAttributesEx() instead of GetFileAttributes()
2009-01-21 15:56:29 +00:00
Igor Sysoev
5aa6d223a6
fix win32 ngx_is_dir(), etc
2009-01-21 15:53:09 +00:00
Igor Sysoev
467f437e27
test ngx_file_info() result, the bug has been introduced in r2070
2009-01-21 15:50:52 +00:00
Igor Sysoev
1cf4988be6
fix r1981 on win32
2009-01-21 14:17:57 +00:00
Igor Sysoev
319dc27e8a
allow directories in try_files
2009-01-21 12:11:22 +00:00
Igor Sysoev
cd55a93cce
fix segfault when geo range replaces starting part of another range
2009-01-19 16:42:14 +00:00
Igor Sysoev
f39bca4281
bump version
2009-01-19 16:37:22 +00:00
Igor Sysoev
977fd90d2b
try_files should work with files only
2009-01-19 11:24:25 +00:00
Igor Sysoev
c1a2b978de
allow insertion range if its start or end is the same as existent one
2009-01-16 16:29:23 +00:00
Igor Sysoev
53554ae54d
fix single address range
2009-01-16 16:09:58 +00:00
Igor Sysoev
6ff8cda061
fix range deletion
2009-01-16 16:02:30 +00:00
Igor Sysoev
95cff3e9d0
repeat r2448 for range deletion
2009-01-16 15:58:27 +00:00
Igor Sysoev
287c22f788
log both overrlaped ranges
2009-01-16 15:47:05 +00:00
Igor Sysoev
f8fdbcaaa2
fix range start for ranges those spread in two or more slots
2009-01-16 15:44:39 +00:00
Igor Sysoev
91cf00da17
set the error level as default http error_log level
2009-01-16 14:00:05 +00:00
Igor Sysoev
6019a7621b
proxy/fastcgi_store did not delete incomplete files
2009-01-16 13:57:00 +00:00
Igor Sysoev
f1bde24720
set r->root_tested for non-error_page response only
2009-01-16 13:53:08 +00:00
Igor Sysoev
1b8267cea2
fastcgi_split_path_info
2009-01-16 13:21:20 +00:00
Igor Sysoev
73f9bb4d01
*) fix duplicate geo ranges
...
*) split existent range and insert a new one
2009-01-16 13:17:12 +00:00
Igor Sysoev
f7204173f9
in miss case memcached module returned END instead of default 404 page body
...
the bug has been introduced in r2269
2009-01-15 13:10:45 +00:00
Igor Sysoev
77a797436d
update r2439: make clear name
2009-01-13 06:47:29 +00:00
Igor Sysoev
103fe34052
fix r2312
2009-01-12 15:40:26 +00:00
Igor Sysoev
19961d20ce
style fix
2009-01-12 15:36:30 +00:00
Igor Sysoev
303df47fcb
send "100 Continue" just before reading request body
2008-12-26 13:43:42 +00:00
Igor Sysoev
2aae701ab7
do not send "100 Continue" for subrequests
2008-12-26 06:21:23 +00:00
Igor Sysoev
97bf6c760a
set send() slot for POSIX systems
2008-12-25 20:07:12 +00:00
Igor Sysoev
07fc16cf31
bump version
2008-12-25 20:06:26 +00:00
Igor Sysoev
9b753d2eea
fix segfault, introduced in r2423
2008-12-24 16:18:35 +00:00
Igor Sysoev
503c075122
bump version
2008-12-24 15:54:21 +00:00
Igor Sysoev
a26a70e80b
fix r2378, file inclusion should be waited
2008-12-24 12:39:41 +00:00
Igor Sysoev
9eb86c43c7
do not try to align to a page size, allocate just 8K,
...
this is fixes allocation on Cygwin, it reports 64K page size
2008-12-24 12:05:55 +00:00
Igor Sysoev
195860b74d
flush variable values in try_files
2008-12-24 07:14:01 +00:00
Igor Sysoev
d8e54adb6d
update r2422
2008-12-24 06:11:04 +00:00
Igor Sysoev
302cedceb0
variable support for unix sockets in fastcgi_pass and proxy_pass
2008-12-23 19:35:12 +00:00
Igor Sysoev
8eb5ed2e77
fix r2378, do not activate subrequest if there are already
...
postponed subrequests or data
2008-12-23 17:25:46 +00:00
Igor Sysoev
ce55952790
fix the previous commit
2008-12-23 08:10:17 +00:00
Igor Sysoev
40e2269bfb
send "100 Continue" for HTTP/1.1 only
2008-12-22 15:44:13 +00:00
Igor Sysoev
2a7ce7b878
bump version
2008-12-22 15:40:12 +00:00
Igor Sysoev
84d17bba65
ngx_http_arg()
2008-12-22 12:02:05 +00:00
Igor Sysoev
ed9b6d8962
remove never used zero copy stuff
2008-12-17 20:47:18 +00:00
Igor Sysoev
cf6c582b9a
fix segfault
2008-12-17 16:07:58 +00:00
Igor Sysoev
52b815e452
set default gzip_buffers to 32 4k or 16 8k
2008-12-16 16:15:52 +00:00
Igor Sysoev
7505928d9f
bump version
2008-12-16 16:12:31 +00:00
Igor Sysoev
9aa7e66911
postpone zlib memory allocation
2008-12-16 16:09:39 +00:00
Igor Sysoev
d8e3d0b5a5
try_files
2008-12-15 10:56:48 +00:00
Igor Sysoev
2194e75bb3
do not add header if add_header ""
2008-12-15 10:50:57 +00:00
Igor Sysoev
4f395dec87
remove seldom used variable
2008-12-12 16:40:12 +00:00
Igor Sysoev
3dde93ba6c
fix segfault if no named location are defined, but are used
2008-12-11 17:32:52 +00:00
Igor Sysoev
ac662fbe1b
fix zero length static response, the bug was introduced in r2378
2008-12-11 15:57:14 +00:00
Igor Sysoev
371766c0a5
$upstream_response_length
2008-12-11 15:30:52 +00:00
Igor Sysoev
2d83ed000f
style fix: remove tabs
2008-12-11 10:22:25 +00:00
Igor Sysoev
22f6d86cba
allow "~", "~*", "^~", and "=" before location name without space
2008-12-11 10:21:08 +00:00
Igor Sysoev
9a1d46684c
$geo variable support
2008-12-11 09:46:45 +00:00
Igor Sysoev
976603a646
remove before nginx-0.1.25 compatibility code
2008-12-11 07:48:48 +00:00
Igor Sysoev
0e17953679
fix r2394
2008-12-11 06:38:14 +00:00
Igor Sysoev
0c54fef3e0
test port in fastcgi_pass variable
2008-12-10 16:25:14 +00:00
Igor Sysoev
1e2d6aa0e8
clear fastcgi ctx for internal redirection via named location
2008-12-10 16:16:10 +00:00
Igor Sysoev
524f54f56d
use ngx_ext_rename_file() for single file MOVE
2008-12-10 14:53:45 +00:00
Igor Sysoev
45656b4051
fix debug logging
2008-12-10 14:48:04 +00:00
Igor Sysoev
ebc050dbba
change variable name
2008-12-10 14:46:34 +00:00
Igor Sysoev
73c3121e6a
delete surplus upstream.schema field
2008-12-10 14:44:48 +00:00
Igor Sysoev
d56088f4da
fastcgi_pass variables support
2008-12-10 14:22:07 +00:00
Igor Sysoev
a70d3962bb
compact win32 errno logging
2008-12-09 17:41:17 +00:00
Igor Sysoev
c9aae14a7e
use "!= NGX_OK" instead of "== NGX_ERROR"
2008-12-09 17:27:48 +00:00
Igor Sysoev
04f7dbb9cd
remove stale pragma
2008-12-09 17:26:42 +00:00
Igor Sysoev
b9409a8e25
use already available r and u instead of ev
2008-12-09 17:25:03 +00:00
Igor Sysoev
f8ffc2eb59
delete unneeded call
2008-12-09 16:49:52 +00:00
Igor Sysoev
d30d8a3931
bump version
2008-12-09 11:13:12 +00:00
Igor Sysoev
3e15a9712a
fix r2378, run posted requests after upstream event handling
2008-12-08 18:28:06 +00:00
Igor Sysoev
17b5953e71
bump version
2008-12-08 17:59:43 +00:00
Igor Sysoev
851cd73f1d
*) refactor subrequest handling, now they run as separate posted requests
...
*) now $upstream_addr, $upstream_status, $upstream_response_time can be used
with log_subrequest
2008-12-08 14:23:20 +00:00
Igor Sysoev
ba206e147c
*) add zone name while logging 503 error reason
...
*) log allocation error as 503 error reason
2008-12-08 14:18:06 +00:00
Igor Sysoev
54fd0bb613
update comment
2008-12-08 14:15:19 +00:00
Igor Sysoev
61591d111f
rename "lz" to "lr" in variable names
2008-12-08 14:13:36 +00:00
Igor Sysoev
38a2933b67
log 503 error reason
2008-12-08 14:12:29 +00:00
Igor Sysoev
4bc0dcf701
test duplicate limit_conn
2008-12-08 14:08:44 +00:00
Igor Sysoev
51fad316cd
skip protected symlinks in autoindex
2008-12-08 14:05:21 +00:00
Igor Sysoev
5bf2087462
allow POST without Content-Length
2008-12-08 14:04:31 +00:00
Igor Sysoev
0e32306bab
fix comment
2008-12-02 16:50:56 +00:00
Igor Sysoev
84b7651ac2
fix "delete CIDR"
2008-12-02 15:02:36 +00:00
Igor Sysoev
14ecd8ab01
bump version
2008-12-02 14:59:14 +00:00
Igor Sysoev
863325fe98
if_modified_since
2008-12-01 14:22:51 +00:00
Igor Sysoev
15fbaa6612
read and process upstream header in cycle,
...
this fixes the case when local FastCGI server sends many warnings in stderr
2008-12-01 14:08:00 +00:00
Igor Sysoev
c6016b25cf
$cookie_... variable did not for SSI and perl
2008-12-01 13:59:35 +00:00
Igor Sysoev
69b5a6ddfb
create empty radix tree for "geo $geo { }" case
2008-11-28 17:22:35 +00:00
Igor Sysoev
5a214b96e2
bump version
2008-11-28 17:22:06 +00:00
Igor Sysoev
1c6c63332c
*) descrease geo configuration memory usage
...
*) geo delete
*) geo ranges
2008-11-25 15:59:06 +00:00
Igor Sysoev
8ab0867644
allocate cf->conf_file and cf->conf_file->buffer on stack
2008-11-25 15:55:10 +00:00
Igor Sysoev
2a523f1c71
fix segfault on close error
2008-11-25 14:45:44 +00:00
Igor Sysoev
65eba4b692
ngx_reset_pool()
2008-11-25 14:25:20 +00:00
Igor Sysoev
ecbb69ad7f
*) increase ngx_conf_log_error() buffer
...
*) always log an error code
2008-11-25 13:00:53 +00:00
Igor Sysoev
33930d82ce
ngx_strerror_r() style and size == 0 bug fix
2008-11-25 11:26:32 +00:00
Igor Sysoev
de2f8c4ca5
use value rbtree instead of array in geo configuration
2008-11-22 20:42:51 +00:00
Igor Sysoev
9857082f09
variable value rbtree support
2008-11-22 20:42:01 +00:00
Igor Sysoev
1575d12bd7
bump version
2008-11-22 20:38:45 +00:00
Igor Sysoev
7f3c048e21
allow directio on XFS
2008-11-20 16:21:39 +00:00
Igor Sysoev
1bf7dc1884
low some SSL handshake errors level
2008-11-18 16:05:00 +00:00
Igor Sysoev
b3ac4fb27c
fix compression pointer for big (>255) DNS responses
2008-11-17 08:04:41 +00:00
Igor Sysoev
b4407c27cb
use integer instead of float
2008-11-14 13:25:44 +00:00
Igor Sysoev
c3d5410c77
change rate to an excess
2008-11-14 11:32:03 +00:00
Igor Sysoev
2ab644895e
do not close session if SMTP backend returned an error on RCPT TO
...
patch by Maxim Dounin
2008-11-13 14:20:54 +00:00
Igor Sysoev
d67d8478a6
remove unused field
2008-11-13 13:30:34 +00:00
Igor Sysoev
d0e8e5456c
smtp_auth none
...
patch by Maxim Dounin
2008-11-13 13:25:34 +00:00
Igor Sysoev
a485909174
memcached response was stored in variable with END
2008-11-12 21:01:01 +00:00
Igor Sysoev
c8b40a2401
$cookie_... variable
2008-11-12 11:12:02 +00:00
Igor Sysoev
038a9201e6
bump version
2008-11-12 10:48:27 +00:00
Igor Sysoev
a25d29ff6f
the sysctl "kern.ostype" and "kern.osrelease" had appeared in MacOSX 10.5 only
2008-11-11 19:44:30 +00:00
Igor Sysoev
f2884e194a
compatibility with glibc 2.3, warn_unused_result attribute for write()
2008-11-11 16:17:45 +00:00
Igor Sysoev
ead8091746
style fix: remove trailing spaces
2008-11-11 16:04:05 +00:00
Igor Sysoev
40cc949c7b
*) correct leaky bucket implementation
...
*) now burst is not per second
*) remove delay= parameter
*) add nodelay parameter
2008-11-11 15:38:16 +00:00
Igor Sysoev
05215534e7
exslt support
2008-11-11 15:22:24 +00:00
Igor Sysoev
bc70b323d3
bump version
2008-11-10 18:34:24 +00:00
Igor Sysoev
de2652c176
fix r2067
2008-11-10 15:25:11 +00:00
Igor Sysoev
abe378e820
ngx_http_limit_req_module
2008-11-10 15:22:33 +00:00
Igor Sysoev
74b7e5fadd
%f format
2008-11-10 15:20:59 +00:00
Igor Sysoev
698b8cb038
fix the previous commit
2008-11-06 19:54:54 +00:00
Igor Sysoev
3e8c2f7811
*) split ngx_http_gzip_body_filter()
...
*) send gzheader together with the filter's first output
2008-11-06 19:13:47 +00:00
Igor Sysoev
051d85f6b0
change int to size_t
2008-11-06 19:11:19 +00:00
Igor Sysoev
8329a5bc34
align first allocation from additional pool block, this fixes bus error on sun4v
2008-11-06 16:14:24 +00:00
Igor Sysoev
e4c10b25d4
do not pass gzheader separately as due to the previous commit
...
we do not use ctx->busy as flush condition
2008-11-05 16:27:45 +00:00
Igor Sysoev
4f79acbdd8
use nomem flag to flush busy bufs,
...
thus gzip filter does not depend on NGX_AGAIN return code
2008-11-05 15:46:41 +00:00
Igor Sysoev
694c84975d
fix r1913
2008-10-30 15:59:10 +00:00
Igor Sysoev
164abfb26f
fix case proxy_pass URL is evaluted to http://host?args
2008-10-24 19:34:24 +00:00
Igor Sysoev
c239da5055
fix case when URL has no port, but has ":" in URI part,
...
the bug has been introduced in r2204
2008-10-24 15:12:11 +00:00
Igor Sysoev
571a5e1512
show name for a FORMERR DNS response
2008-10-24 14:38:09 +00:00
Igor Sysoev
1c2bb210c1
FORMERR DNS response may be equal to mininal query size
2008-10-24 14:34:10 +00:00
Igor Sysoev
a862c46ffa
always use buffer, if connection is buffered,
...
this fixes OpenSSL "bad write retry" error, when
*) nginx passed a single buf greater than our buffer (say 32K) to OpenSSL,
*) OpenSSL returns SSL_ERROR_WANT_WRITE,
*) after some time nginx has to send a new data,
*) so there are at least two bufs nginx does pass them directly to OpenSSL,
*) but copies the first buf part to buffer, and sends the buffer to OpenSSL.
*) because the data length is lesser than it was in previous SSL_write():
16K < 32K, OpenSSL returns SSL_R_BAD_WRITE_RETRY.
2008-10-23 05:58:10 +00:00
Igor Sysoev
0c689b7498
allow short secure links
2008-10-21 12:33:23 +00:00
Igor Sysoev
6645e76e38
fix server_addr value known from configuration, bug introduced in r2199
2008-10-17 12:36:48 +00:00
Igor Sysoev
ad1e123bfa
NGX_OPEN_FILE_DIRECTIO_OFF
2008-10-16 13:31:00 +00:00
Igor Sysoev
84ab8f2bc8
bump version
2008-10-16 13:20:47 +00:00
Igor Sysoev
df2e1a56d0
bump version
2008-10-13 13:23:18 +00:00
Igor Sysoev
bc72beb71a
do not set "Transfer-Encoding: chunked" for HEAD requests
2008-10-02 15:40:01 +00:00
Igor Sysoev
674371499c
fix r2122:
...
*) update file buf pointers,
*) avoid "zero buf" alert
2008-10-02 15:38:26 +00:00
Igor Sysoev
797c6ef394
*) ngx_http_upstream_test_next()
...
*) add proxy_next_upstream http_502 and http_504
*) fix http_503
2008-09-30 15:39:02 +00:00
Igor Sysoev
d01eea1e18
ngx_http_upstream_intercept_errors()
2008-09-30 14:57:09 +00:00
Igor Sysoev
eb7cfa0a2f
back out $random_index variable
2008-09-30 13:17:14 +00:00
Igor Sysoev
eb62fa0e73
refactor log_subrequest
2008-09-29 13:18:41 +00:00
Igor Sysoev
5d1dcce2c5
update log_subrequest
2008-09-29 07:12:04 +00:00
Igor Sysoev
4ca2acfce0
disable $realpath_root variable in a "root" directive
2008-09-29 04:47:22 +00:00
Igor Sysoev
9059ecae83
fix the previous commit
2008-09-29 04:46:21 +00:00
Igor Sysoev
2eec1e1ff2
*) log_subrequest
...
*) flush variables in access log
2008-09-27 15:08:02 +00:00
Igor Sysoev
e52991ecbe
ngx_http_secure_link_module
2008-09-27 13:22:10 +00:00
Igor Sysoev
6736614275
$realpath_root
2008-09-27 11:53:41 +00:00
Igor Sysoev
0100cbc5f3
$random_index variable
2008-09-27 11:48:28 +00:00
Igor Sysoev
e5a30cb6a9
real_ip_header supports any header
2008-09-25 19:51:56 +00:00
Igor Sysoev
753792e108
underscores_in_headers
2008-09-24 14:02:50 +00:00
Igor Sysoev
e17cc987d3
dynamic accept threshold
2008-09-19 12:47:13 +00:00
Igor Sysoev
c9ff5b6dff
fix grammar
2008-09-17 08:03:58 +00:00
Igor Sysoev
f8403702ba
bump version
2008-09-15 17:10:23 +00:00
Igor Sysoev
05a7656d2c
set request handlers, this fixes complex proxied 400 handler with SSI includes
2008-09-15 16:44:37 +00:00
Igor Sysoev
ea1c7c7f16
$pid
2008-09-15 16:41:08 +00:00
Igor Sysoev
fae2c00d02
disable directio for unaligned reads in Linux
2008-09-12 13:50:12 +00:00
Igor Sysoev
0f8ea4de46
disable directio for access_log with variables
2008-09-12 13:44:10 +00:00
Igor Sysoev
77cdae1814
cache directio flag in open file cache
2008-09-12 13:39:51 +00:00
Igor Sysoev
d0df295655
add filename to the log message
2008-09-11 15:52:11 +00:00
Igor Sysoev
316542508b
strip charset name quotes
2008-09-09 11:58:45 +00:00
Igor Sysoev
44b1a12750
bump version
2008-09-08 09:49:22 +00:00
Igor Sysoev
a19c7b5ad6
fix building on 64-bit platforms, introduced in r2232
2008-09-08 09:33:37 +00:00
Igor Sysoev
196f952551
bump version
2008-09-08 08:47:00 +00:00
Igor Sysoev
f8c4ae3151
allow underscores in client request header lines
2008-09-08 08:26:42 +00:00
Igor Sysoev
2e2b81d213
ngx_http_random_index_module
2008-09-05 15:45:55 +00:00
Igor Sysoev
dfc8dadd04
*) autoconfigure struct dirent capabilities
...
*) move src/os/.../ngx_types.h's content into src/os/.../ngx_files.h and
delete src/os/.../ngx_types.h
2008-09-05 15:43:34 +00:00
Igor Sysoev
5d4e80b8fb
remove unused #include's
2008-09-05 15:25:47 +00:00
Igor Sysoev
c3995ff670
style fix
2008-09-05 14:53:17 +00:00
Igor Sysoev
8633e1fa06
*) handle unaligned file part for directio
...
*) disable sendfile in directio mode
2008-09-05 14:48:47 +00:00
Igor Sysoev
98007c1761
split ngx_output_chain()
2008-09-03 10:01:29 +00:00
Igor Sysoev
3b63d7cbb3
bump version
2008-09-01 15:44:57 +00:00
Igor Sysoev
cf0c445a14
fix building by msvc introduced in r2223
2008-09-01 15:17:54 +00:00
Igor Sysoev
4084b12041
escape a query string characters taken from URI while rewrite
2008-09-01 14:43:38 +00:00
Igor Sysoev
f100c7816d
*) listen ssl
...
*) no default ssl_cetificate and ssl_cetificate_key
2008-09-01 14:19:01 +00:00
Igor Sysoev
0c16f73b4e
style fix: remove tabs and trailing spaces
2008-09-01 14:05:20 +00:00
Igor Sysoev
63c78f3c34
test conf file size, this fixes OpenBSD's "nginx -c /tmp/" bug
2008-09-01 13:59:11 +00:00
Igor Sysoev
f4423eb7b5
use ngx_pmemalign() to allocate radix pages
2008-09-01 13:52:55 +00:00
Igor Sysoev
fcb5a705dd
ngx_timezone_update()
2008-08-30 19:52:07 +00:00
Igor Sysoev
d76eb9a8c8
set listen configuration to default server,
...
this fixes the case, when default server is not the first one
2008-08-29 13:43:38 +00:00
Igor Sysoev
e04b4204a8
remove unused debug log
2008-08-27 13:26:35 +00:00
Igor Sysoev
c48f49f837
quoted too long parameter error
2008-08-27 12:19:07 +00:00
Igor Sysoev
6d09950cd8
too long parameter error
2008-08-26 21:10:20 +00:00
Igor Sysoev
a1bccd199e
remove never used macro
2008-08-26 21:05:59 +00:00
Igor Sysoev
a6e337fdef
fix types
2008-08-26 21:04:06 +00:00
Igor Sysoev
b0f1db1010
bump version
2008-08-26 17:23:27 +00:00
Igor Sysoev
316eafb88d
fix build on Linux and Solaris introduced in r2200
2008-08-26 17:15:11 +00:00
Igor Sysoev
e56cc8e503
bump version
2008-08-26 16:23:14 +00:00
Igor Sysoev
d3bf7c1cd5
fix bugs introduced in r2204
2008-08-26 16:11:30 +00:00
Igor Sysoev
54477e417a
gzip_disable msie6
2008-08-26 15:09:28 +00:00
Igor Sysoev
333723e001
fix divide by zero if max_fails=0
2008-08-26 14:34:16 +00:00
Igor Sysoev
c9491d113c
*) refactor ngx_parse_inet_url()
...
*) refactor ngx_parse_unix_domain_url()
*) delete unused ngx_url_t fields
2008-08-26 14:24:14 +00:00
Igor Sysoev
9c388c0a7f
*) refactor ngx_ptocidr()
...
*) allow address without bitmask
*) thus now ngx_http_geo_module accepts addresses without bitmask
2008-08-26 14:19:37 +00:00
Igor Sysoev
caa4a45c0f
ngx_strlchr()
2008-08-26 14:16:36 +00:00
Igor Sysoev
154013c5f3
split ngx_parse_url()
2008-08-22 13:36:56 +00:00
Igor Sysoev
843ad94e81
fix building on FreeBSD prior to 4.8, it has no GLOB_NOMATCH
2008-08-22 12:54:32 +00:00
Igor Sysoev
c5849a6381
ngx_sock_ntop() takes family from sockaddr, remove duplicate field
2008-08-21 19:24:07 +00:00
Igor Sysoev
6a75019ad6
*) remove zero termination in ngx_inet_ntop() and ngx_sock_ntop()
...
*) use ngx_snprintf() in ngx_inet_ntop() and ngx_sock_ntop()
as they are called just once per connection
*) NGX_INET_ADDRSTRLEN
2008-08-21 18:47:23 +00:00
Igor Sysoev
bbe42c41e8
call ngx_http_xslt_filter_exit()
2008-08-21 18:21:40 +00:00
Igor Sysoev
b29426deb8
server_name "" support
2008-08-21 12:56:10 +00:00
Igor Sysoev
cbc7c6177c
fix $r->header_in() for "User-Agent", "Connection", and "Host"
...
broken in r2005, r2006, and r2008.
2008-08-19 19:40:45 +00:00
Igor Sysoev
1a8cbb8663
leave HEAD method while error_page redirection
2008-08-19 18:55:46 +00:00
Igor Sysoev
c9482c6ead
do not discard body while error_page redirection
2008-08-19 12:23:18 +00:00
Igor Sysoev
1de8bb5bd6
bump version
2008-08-18 14:29:57 +00:00
Igor Sysoev
fa92df4bd4
remove text/css from default charset_types
...
as it does not usually require recoding
2008-08-18 13:38:17 +00:00
Igor Sysoev
dc911287e8
*) regex match must return NGX_OK to stop regex searching,
...
this fixes inclusive regex location
*) change NGX_HTTP_INTERNAL_SERVER_ERROR to NGX_ERROR
2008-08-17 18:02:55 +00:00
Igor Sysoev
9a70242f07
fix noregex for inclusive locations
2008-08-17 17:58:16 +00:00
Igor Sysoev
916ee8ecea
proxy_ssl_session_reuse
2008-08-17 17:47:52 +00:00
Igor Sysoev
f60dde9767
disable original URI usage in proxy_pass after X-Accel-Redirect
2008-08-17 17:44:08 +00:00
Igor Sysoev
d3cbd87f50
allow file existence test for POST requests in static module
2008-08-17 17:42:42 +00:00
Igor Sysoev
a03bb0bc77
ignore NGX_EACCES error while directory test
2008-08-17 17:38:48 +00:00
Igor Sysoev
b17e33293a
fix log message
2008-08-15 20:14:49 +00:00
Igor Sysoev
6f39513828
bump version
2008-08-13 16:59:16 +00:00
Igor Sysoev
cf1735e458
restore connection address on request closure,
...
this fixes the issue when a frontend before nginx sends various client
connections via keepalive connection to nginx
2008-08-13 16:31:01 +00:00
Igor Sysoev
c71e3d8f81
*) fix segfaults in types hash
...
*) fix inheritance: default hash instead of inherited one
2008-08-13 16:25:48 +00:00
Igor Sysoev
d1853490da
disable error_page loop in 500 error when recursive errors are enabled
2008-08-13 09:00:13 +00:00
Igor Sysoev
85aebb0077
bump version
2008-08-12 15:46:34 +00:00
Igor Sysoev
1c7d449fa8
fix the case when unset domain.tld was matched by *.domain.tld
2008-08-12 15:28:19 +00:00
Igor Sysoev
d1b615815a
*) charset_types
...
*) change of default charset types
*) addition_types
2008-08-12 13:17:08 +00:00
Igor Sysoev
390abe0772
use hash in gzip_types, ssi_types, and sub_filter_types
2008-08-12 13:11:36 +00:00
Igor Sysoev
a408b2ba2d
backout both r2162 and r2128 and implement a new fix
2008-08-12 12:04:49 +00:00
Igor Sysoev
af9bb9a14e
check daily time range
2008-08-11 17:50:37 +00:00
Igor Sysoev
88c295c009
expires daily time
2008-08-11 15:28:35 +00:00
Igor Sysoev
c271775902
ngx_next_time()
2008-08-11 15:28:15 +00:00
Igor Sysoev
2ff9a4b334
SSL connection readiness is required for level-triggered events only,
...
broken in r2128
2008-08-11 15:25:40 +00:00
Igor Sysoev
6e99c76c71
consider log_not_found while testing index files
2008-08-11 15:22:40 +00:00
Igor Sysoev
f98f98610e
clear Last-Modified; set content-type and length for main request only
2008-08-06 13:18:57 +00:00
Igor Sysoev
f36ae41e36
disable ranges, because xslt filter runs after range body filter
2008-08-06 09:38:34 +00:00
Igor Sysoev
e24b57ad9f
ngx_cpp_test_module
2008-08-05 19:32:50 +00:00
Igor Sysoev
36876c3d6c
reuse compiled DTD hash in different locations, add DTD cleanup
2008-08-05 19:05:15 +00:00
Igor Sysoev
2278ea09b6
update debug logging
2008-08-05 15:19:21 +00:00
Igor Sysoev
4ea51081b3
reuse compiled XSLT tree in different locations
2008-08-05 14:27:49 +00:00
Igor Sysoev
993aeefc54
xsl:output's media-type and encoding support
2008-08-05 14:24:16 +00:00
Igor Sysoev
1dcebd8dcb
we do not need dtd->name
2008-08-05 13:08:35 +00:00
Igor Sysoev
f8c0d8ade9
xslt_stylesheet should be valid for location only
2008-08-05 13:07:42 +00:00
Igor Sysoev
c097e83881
fix xslt module context levels
2008-08-05 06:21:15 +00:00
Igor Sysoev
ca824f3cfa
update debug logging
2008-08-04 21:51:36 +00:00
Igor Sysoev
b47aed9005
style fix
2008-08-04 20:25:51 +00:00
Igor Sysoev
2b29a703bb
fix building by bcc broken in r2143
2008-08-04 20:23:21 +00:00
Igor Sysoev
40db7a19b1
bump version
2008-08-04 16:45:52 +00:00
Igor Sysoev
b83f893c75
Solaris directio()
2008-08-04 15:32:10 +00:00
Igor Sysoev
90815b49af
fix building by msvc8 introduced in r2127
2008-08-04 14:56:25 +00:00
Igor Sysoev
ac721d0647
if upstream sent a location header without status use 302
2008-08-04 14:53:16 +00:00
Igor Sysoev
1ae389d2f7
ngx_http_xslt_filter_module
2008-08-04 14:48:15 +00:00
Igor Sysoev
b5bc3f989f
test Content-Type via hash:
...
*) ngx_http_test_content_type()
*) ngx_http_types_slot()
*) ngx_http_merge_types()
2008-08-04 11:29:09 +00:00
Igor Sysoev
42511c05c7
$arg_... variable
2008-08-04 11:10:52 +00:00
Igor Sysoev
6a07833d47
ngx_hash_strlow()
2008-08-04 10:18:36 +00:00
Igor Sysoev
777b019c73
ngx_strlow()
2008-08-04 10:07:00 +00:00
Igor Sysoev
eb3e4c8be0
fix building by bcc broken in r2130
2008-08-04 09:14:30 +00:00
Igor Sysoev
a3e9f7d306
fix conflicting names "true" and "false"
2008-07-31 07:55:46 +00:00
Igor Sysoev
e513a89220
bump version
2008-07-30 13:38:49 +00:00
Igor Sysoev
385af28642
directio
2008-07-30 12:34:04 +00:00
Igor Sysoev
7494490978
*) move Darwin support to separate files
...
*) Darwin sendfile() support
2008-07-30 12:18:07 +00:00
Igor Sysoev
ec0b579f75
update connection readiness after SSL handshake,
...
this fixes mail proxy SSL connection hanging if level-triggered event is used
2008-07-30 06:12:30 +00:00
Igor Sysoev
0f17f6ce9f
case insensitive file system location support provided by locale only
2008-07-29 16:55:11 +00:00
Igor Sysoev
a089857143
rename ngx_utf_...() to ngx_utf8_...()
2008-07-29 14:41:34 +00:00
Igor Sysoev
4c756c46cd
fix typo
2008-07-29 14:31:03 +00:00
Igor Sysoev
49ed6f3eec
*) ssl_verify_client ask
...
*) test ssl_client_certificate for ssl_verify_client
*) $ssl_client_cert adds TAB before each line except first one
*) $ssl_client_raw_cert contains certificate as is
2008-07-29 14:29:02 +00:00
Igor Sysoev
88634bf06b
allow range for partial flv response
2008-07-29 13:58:56 +00:00
Igor Sysoev
4a1b032901
support several buf's for single-part range
...
patch by Maxim Dounin
2008-07-29 13:58:13 +00:00
Igor Sysoev
96eaa05fd2
fix utf-8 names in autoindex
2008-07-25 14:29:05 +00:00
Igor Sysoev
6df67879a0
fix ranges without Content-Type
2008-07-23 16:30:42 +00:00
Igor Sysoev
c6742cff8e
split ngx_http_range_filter_module
2008-07-23 16:18:37 +00:00
Igor Sysoev
58e9f22bfd
handle connect()'s EAGAIN on Linux
2008-07-09 15:42:13 +00:00
Igor Sysoev
82911ceb0c
bump version
2008-07-07 12:19:57 +00:00
Igor Sysoev
edf1c8c1b8
always test root existence for access_log with variables
2008-07-07 09:26:13 +00:00
Igor Sysoev
4f677fd203
allow several values in query string
2008-07-04 12:59:53 +00:00
Igor Sysoev
8d9c63f677
show an error message for invalid parameter
2008-07-03 19:19:45 +00:00
Igor Sysoev
0ac3516a02
bump version
2008-07-01 07:38:28 +00:00
Igor Sysoev
ba6fc40c4c
nginx could not be build without gzip, introduced in r2052
2008-07-01 06:31:16 +00:00
Igor Sysoev
06d2147139
NULL script in default access_log
2008-07-01 06:26:48 +00:00
Igor Sysoev
098ac90bc8
fix error when response parsed by sub filter, then by SSI filter
...
and some response parts are output as file buffers
2008-06-30 19:10:06 +00:00
Igor Sysoev
0da6d2f675
fix variable access_log merging
2008-06-30 15:51:28 +00:00
Igor Sysoev
504efffca8
fix error message
2008-06-30 15:32:57 +00:00
Igor Sysoev
4cb276ae21
bump version
2008-06-30 12:46:40 +00:00
Igor Sysoev
b4fbdcf5d4
-g switch
2008-06-30 12:35:16 +00:00
Igor Sysoev
b882154636
variables in access_log
2008-06-30 12:27:24 +00:00
Igor Sysoev
c3584fec61
fix comment
2008-06-30 12:12:16 +00:00
Igor Sysoev
bf93476272
fix the previous commit
2008-06-30 12:11:47 +00:00
Igor Sysoev
d6711d37c3
use ngx_file_info() and test uniq if file is already open
2008-06-26 16:10:13 +00:00
Igor Sysoev
5a0eac8692
ngx_memzero() ngx_open_file_info_t
2008-06-26 14:07:59 +00:00
Igor Sysoev
1e1f4c8a04
the "Expect" header support
2008-06-26 13:00:39 +00:00
Igor Sysoev
24329bf299
fix bug when inactive subrequest is truncated,
...
if output_buffers are less than subrequest size
2008-06-26 12:45:37 +00:00
Igor Sysoev
eb03ea7458
refactor obscure code
2008-06-25 14:56:14 +00:00
Igor Sysoev
3e6f74da05
initialize of.uniq in ngx_open_cached_file()
2008-06-23 13:35:34 +00:00
Igor Sysoev
ce1e64f404
prepare to allow various number of connections in child processes
2008-06-23 13:23:29 +00:00
Igor Sysoev
f2a1484347
change useless ngx_pcalloc() to ngx_pnalloc()
2008-06-23 12:27:03 +00:00
Igor Sysoev
96a1ea9d22
bump version
2008-06-23 10:50:18 +00:00
Igor Sysoev
3cc03616e9
fix max size allocated from pool
2008-06-21 06:40:32 +00:00
Igor Sysoev
11864a706a
fix the previous commit
2008-06-20 21:06:53 +00:00
Igor Sysoev
5a4c61658b
small optimization
2008-06-20 20:57:40 +00:00
Igor Sysoev
0b5e77f416
auto detect https redirect in rewrite
2008-06-20 14:48:28 +00:00
Igor Sysoev
da02ddc6fd
fix "proxy_pass https://..." broken in r1427
2008-06-20 14:42:54 +00:00
Igor Sysoev
c49ed61376
"gzip_vary on" always sends "Vary: Accept-Encoding" header
2008-06-20 14:41:03 +00:00
Igor Sysoev
77c287f35d
disable charset if there is "Content-Encoding" header
2008-06-20 14:33:36 +00:00
Igor Sysoev
7f6b2ffc60
*) back out r2040
...
*) refactor ngx_palloc()
*) introduce ngx_pnalloc()
*) additional pool blocks have smaller header
2008-06-17 15:00:30 +00:00
Igor Sysoev
c2eb2cf4cb
bump version
2008-06-16 09:11:12 +00:00
Igor Sysoev
81f9c9dc72
$ssl_client_cert
2008-06-16 05:54:18 +00:00
Igor Sysoev
df83e6f81a
DH parameters, ssl_dhparam
2008-06-16 05:51:32 +00:00
Igor Sysoev
b0780752b0
after URI was rewritten location configuration should be to a server's null one
2008-06-15 19:07:35 +00:00
Igor Sysoev
a3a792b1ee
fix building without PCRE introduced in r2023
2008-06-07 12:08:38 +00:00
Igor Sysoev
a5bf33601b
style fix
2008-05-28 12:27:08 +00:00
Igor Sysoev
9709aaa2f4
fix building by bcc/etc introduced in r2038
2008-05-28 12:26:20 +00:00
Igor Sysoev
2d951bfa41
*) add ngx_palloc_aligned() to allocate explicitlty aligned memory
...
*) allows non-aligned memory blocks for small allocations and for odd
length strings on all platforms
*) use ngx_palloc_aligned()
2008-05-27 09:37:40 +00:00
Igor Sysoev
626cd7e7be
add args in redirect to a directory
2008-05-26 18:57:43 +00:00
Igor Sysoev
d412ece2fc
fix debug logging
2008-05-26 18:49:36 +00:00
Igor Sysoev
2ae6727da7
fix error log message
2008-05-26 10:54:59 +00:00
Igor Sysoev
9b1fe56148
bump version
2008-05-26 09:54:17 +00:00
Igor Sysoev
d6548faf64
ssl_session_cache none
2008-05-26 07:14:13 +00:00
Igor Sysoev
4c8eb4263f
read channel until EAGAIN
2008-05-25 18:27:38 +00:00
Igor Sysoev
7a0e5d97b6
remove directives deprecated in 0.3.x
2008-05-24 15:48:50 +00:00
Igor Sysoev
5cdb2ce66e
*) remove optimize_host_names
...
*) deprecate optimize_server_names: it is not needed since
server_name_in_redirect introduction
2008-05-24 15:43:48 +00:00
Igor Sysoev
7e2c4eef9c
move configuration phase only field to the end of structure
2008-05-24 14:46:46 +00:00
Igor Sysoev
e55988c069
locations tree
2008-05-24 14:14:13 +00:00
Igor Sysoev
5cdc511fcd
new ngx_queue functions
2008-05-24 14:10:01 +00:00
Igor Sysoev
89e0aad840
delete useless lines
2008-05-22 14:28:25 +00:00
Igor Sysoev
3b30476068
style fix
2008-05-22 12:09:41 +00:00
Igor Sysoev
61e991c70a
axe never used variables
2008-05-22 11:11:16 +00:00
Igor Sysoev
6d14e65056
split ngx_http_block() further
2008-05-22 11:07:08 +00:00
Igor Sysoev
87ac67fbd1
split ngx_http_block()
2008-05-22 09:57:47 +00:00
Igor Sysoev
f3be0b33c2
delete outdated debug logging that only causes segfault if enabled
2008-05-22 07:10:36 +00:00
Igor Sysoev
cdd4354b49
style fix
2008-05-21 17:39:51 +00:00
Igor Sysoev
ccd55fc2ca
fix building on modern Fedora 9 caused by IOV_MAX
2008-05-20 13:45:07 +00:00
Igor Sysoev
f9d923e5fe
bump version
2008-05-19 10:45:57 +00:00
Igor Sysoev
48242f4b08
avoid recursive loop
2008-05-19 10:24:22 +00:00
Igor Sysoev
f1e58930c8
expires modified
2008-05-16 15:18:50 +00:00
Igor Sysoev
69988d1162
$uid_got and $uid_set may used at any time
2008-05-16 15:03:37 +00:00
Igor Sysoev
3be5257a4f
$hostname variable
2008-05-16 14:39:06 +00:00
Igor Sysoev
5f3521cf4f
escape 0x00-0x1f, ", and \ in access log variables
2008-05-15 15:09:39 +00:00
Igor Sysoev
5fd0931a61
*) host in request line has priority
...
*) allow several Host headers
*) validate host
2008-05-15 14:44:47 +00:00
Igor Sysoev
433608c180
style fix: remove tabs and trailing spaces
2008-05-14 07:54:52 +00:00
Igor Sysoev
7a06fbdcca
small fixes
2008-05-13 09:47:52 +00:00
Igor Sysoev
bc5fb294af
test user agent in header callback
2008-05-13 09:18:58 +00:00
Igor Sysoev
c11582a983
bump version
2008-05-12 10:08:28 +00:00
Igor Sysoev
ca1bed390d
fix error introduced in r1273 and r1275:
...
nginx did not process FastCGI response if header was at end of FastCGI record
2008-05-08 09:53:22 +00:00
Igor Sysoev
a327841bff
fix segfault when file is deleted and open_file_cache_errors is off
2008-04-29 18:15:23 +00:00
Igor Sysoev
ada9190ed8
back out the previous commit
2008-04-29 18:14:45 +00:00
Igor Sysoev
4de5124191
fix segfault when file is deleted and open_file_cache_errors is off
2008-04-29 14:39:15 +00:00
Igor Sysoev
1cd3b0c3db
bump version
2008-04-29 12:44:47 +00:00
Igor Sysoev
615fe7f4be
args support in static error_page
2008-04-29 10:06:43 +00:00
Igor Sysoev
49db9d4602
reset message
2008-04-29 09:35:06 +00:00
Igor Sysoev
a13b3b97ea
ignore glob no match error
2008-04-29 09:28:42 +00:00
Igor Sysoev
175d9a277e
reset looked at match
2008-04-29 06:15:56 +00:00
Igor Sysoev
396abff226
get certificate info only for debug build
2008-04-28 08:52:32 +00:00
Igor Sysoev
58d3821cf0
fix memory leak when ssl_verify_client is on
2008-04-28 08:50:39 +00:00
Igor Sysoev
b39b9aa59a
Cygwin O_BINARY mode
2008-04-24 19:19:26 +00:00
Igor Sysoev
439e288a1b
fix memory leak when ssl_verify_client is on
2008-04-23 18:57:25 +00:00
Igor Sysoev
6a2ea3f544
small fix
2008-04-17 14:32:11 +00:00
Igor Sysoev
f57b24e70f
allow time without spaces in ngx_parse_time()
2008-04-17 14:23:20 +00:00
Igor Sysoev
2e39e289e1
change variable name
2008-04-16 19:33:23 +00:00
Igor Sysoev
4611ad3dea
use more straightforward ngx_gmtime() implementation
2008-04-13 13:33:12 +00:00
Igor Sysoev
a8372d8a84
limit CNAME recursion
2008-04-12 07:29:20 +00:00
Igor Sysoev
523e09ee1a
fix segfault
2008-04-11 09:15:07 +00:00
Igor Sysoev
7c5c1dccd6
use correct ngx_sprintf() formats
2008-04-10 17:27:07 +00:00
Igor Sysoev
4ad5be6f93
log unexpected qtype
2008-04-10 17:26:14 +00:00
Igor Sysoev
19540cd83e
take into account DNAME
2008-04-10 17:12:21 +00:00
Igor Sysoev
b8a71b6c1b
comment Gauss' formula
2008-04-10 09:37:12 +00:00
Igor Sysoev
d52c878692
grammar fix
2008-04-09 19:09:13 +00:00
Igor Sysoev
693bf6db1e
small optimization
2008-04-09 18:56:36 +00:00
Igor Sysoev
09b199cf77
return NXDOMAIN for ".." in host name
2008-04-09 14:45:39 +00:00
Igor Sysoev
949aea4dfe
fix memory leak on resolver query send failure
2008-04-09 14:26:08 +00:00
Igor Sysoev
f576f0d2bc
quick resolving handles u->resolved->ctx by itself
2008-04-09 14:20:17 +00:00
Igor Sysoev
a4ec6869fc
fix peer sendfile capability
2008-04-04 12:07:13 +00:00
Igor Sysoev
f1c8f4471a
update previous commit
2008-03-24 17:17:17 +00:00
Igor Sysoev
de8ec1efc8
use ngx_int_t in ngx_sort() callback
2008-03-24 13:04:02 +00:00
Igor Sysoev
8634118bc8
use dynamically allocated buffer in ngx_sort()
2008-03-23 19:58:54 +00:00
Igor Sysoev
f84ad941dc
it seems that malloc.h is required for Cygwin only
...
and breaks building on other platforms
2008-03-23 15:42:40 +00:00
Igor Sysoev
37e0e6d863
axe never used macro
2008-03-20 07:31:51 +00:00
Igor Sysoev
51e966cedc
bump version
2008-03-18 14:51:09 +00:00
Igor Sysoev
85dd8fc5b6
ngx_google_perftools_module
2008-03-18 10:36:27 +00:00
Igor Sysoev
8da1fa935f
low some SSL handshake errors level
2008-03-18 10:35:00 +00:00
Igor Sysoev
9ff26ce124
use ngx_ext_rename_file() in proxy/fastcgi_store
2008-03-17 13:07:35 +00:00
Igor Sysoev
37cc29a405
some perl builds require my_perl for PERL_SYS_TERM()
2008-03-17 08:58:07 +00:00
Igor Sysoev
d8623fc535
fastcgi params debug logging
2008-03-16 18:03:10 +00:00
Igor Sysoev
430db103f6
speed up ngx_http_charset_recode() for 25%: google-perftools reported
...
that CPU usage of charset body filter has decreased from 7.5% to 5.5%
if gzipping is disabled
2008-03-16 16:52:15 +00:00
Igor Sysoev
70d0961658
test the more likely case first
2008-03-16 16:47:16 +00:00
Igor Sysoev
8c8a6e5f2f
use the more correct mask
2008-03-16 13:29:49 +00:00
Igor Sysoev
a616ef77e2
style fix
2008-03-14 12:31:20 +00:00
Igor Sysoev
cbed526049
fix building on 64-bit platforms broken in r1900
2008-03-13 15:48:36 +00:00
Igor Sysoev
b9186ad856
restore building --test-build-rtsig and --test-build-eventport on FreeBSD 6
2008-03-13 15:47:14 +00:00
Igor Sysoev
c732d8d1fe
fix the previous commit
2008-03-13 13:00:40 +00:00
Igor Sysoev
3799f5cb41
fix case when errors are not cached,
...
and a file was not used often enough to keep open
and it has been removed before it was kept open
2008-03-13 12:59:25 +00:00
Igor Sysoev
732a34a137
axe useless code
2008-03-13 12:34:59 +00:00
Igor Sysoev
8227959668
bump version
2008-03-13 06:39:00 +00:00
Igor Sysoev
5d6ca1e3e4
fix r1921
2008-03-12 19:34:36 +00:00
Igor Sysoev
8ce6b25201
bump version
2008-03-12 13:37:29 +00:00
Igor Sysoev
2061259612
non cacheable $proxy_host and $proxy_port
2008-03-11 14:10:11 +00:00
Igor Sysoev
472233d0a3
invalidate SSL session if there is no valid client certificate
2008-03-10 14:47:07 +00:00
Igor Sysoev
fb14092fdc
fix large memory allocation in "error_page 495-497 /uri"
2008-03-10 14:45:41 +00:00
Igor Sysoev
15a20079a5
do not change method while error redirection to named location
2008-03-10 14:36:42 +00:00
Igor Sysoev
001a9cfa37
disable rtsig automatic building in post 2.6.18 Linux kernels
2008-03-10 14:35:21 +00:00
Igor Sysoev
f39876c24b
create dummy resolver in http context to inherit it in all servers
2008-03-06 08:48:55 +00:00
Igor Sysoev
73eb97f500
check duplicate resolver
2008-03-06 08:48:25 +00:00
Igor Sysoev
a4d00f1c97
decrease log level of connection errors while closing socket
2008-03-05 21:21:26 +00:00
Igor Sysoev
cca6000247
ngx_resolve_name() frees ctx on immediate failure
2008-03-05 07:30:44 +00:00
Igor Sysoev
887dd4e5d5
reset r->content_handler in a named location
2008-03-04 14:57:07 +00:00
Igor Sysoev
be02468c6d
fix previous commit
2008-03-04 10:47:34 +00:00
Igor Sysoev
dfd5511f7a
use cf->cycle->new_log because at merge stage cf->pool->log is old log
2008-03-04 10:42:05 +00:00
Igor Sysoev
8efe926dc5
fix r1903
2008-03-03 20:04:06 +00:00
Igor Sysoev
85d6a3e3db
included file name must be allocated in pool,
...
because it may be used in error message later
2008-03-03 17:12:05 +00:00
Igor Sysoev
5461caf920
fix r1490
2008-03-03 16:44:56 +00:00
Igor Sysoev
34cec29e0c
C++ compatibility
2008-03-03 16:32:16 +00:00
Igor Sysoev
7c15b75cc7
fix memory leak in long-lived non buffered connections
2008-03-03 10:42:00 +00:00
Igor Sysoev
4491daef30
cleanup resolver
2008-02-28 20:38:34 +00:00
Igor Sysoev
02aa53be83
left open sockets were not really tested
2008-02-28 20:31:33 +00:00
Igor Sysoev
7c4cf27aff
fix memory leaks, use unlocked ngx_resolver_free() for seldom failed cases
2008-02-28 20:09:39 +00:00
Igor Sysoev
8ee01f5cb8
static ngx_resolver_calloc()
2008-02-28 15:34:53 +00:00
Igor Sysoev
d3434dfa63
check port in upstream list
2008-02-21 13:58:45 +00:00
Igor Sysoev
09248b7a55
use CMSG_LEN(), this fixes an alert "sendmsg() failed (9: Bad file descriptor)"
...
on some 64-bit platforms
2008-02-19 16:34:55 +00:00
Igor Sysoev
bb7c84159f
avoid endless loop if epoll is used
2008-02-19 16:30:54 +00:00
Igor Sysoev
5fe93ee95f
pass additional arguments in ngx_http_perl_call_handler() as SV
2008-02-16 14:29:44 +00:00
Igor Sysoev
85a5281be9
fix previous commit
2008-02-16 14:24:43 +00:00
Igor Sysoev
0a0c02f58b
optimize $r->sleep
2008-02-16 14:23:14 +00:00
Igor Sysoev
5fa1146dd5
do not resolve SMTP clients by default
2008-02-16 13:46:33 +00:00
Igor Sysoev
0f2e924428
delete unneeded dXSTARG
2008-02-15 13:57:55 +00:00
Igor Sysoev
ce30765975
named locations in post_action
2008-02-15 12:46:40 +00:00
Igor Sysoev
ca876e1a7f
fix segfault if empty stub block is used second time
2008-02-14 16:03:48 +00:00
Igor Sysoev
45450461b6
resolver in smtp proxy module
2008-02-13 13:50:04 +00:00
Igor Sysoev
04610ead82
length calculation did not take into account escaped symbols in arguments
2008-02-12 18:05:32 +00:00
Igor Sysoev
2a6c4466ee
bump version
2008-02-11 15:27:44 +00:00
Igor Sysoev
665b9fd2e2
set absolute weight, this fixes bogus "no live upstream" case when
...
last upstream is down while live one has negative weight
2008-02-11 14:31:38 +00:00
Igor Sysoev
c2e854e198
add X-Accel-Charset to ingored header, fix X-Accel-Buffering
2008-02-11 14:02:28 +00:00
Igor Sysoev
be0a61e618
test response length in proxy/fastcgi_store
2008-02-11 13:14:56 +00:00
Igor Sysoev
d173a14619
fix order
2008-02-07 10:45:04 +00:00
Igor Sysoev
f2aab81323
fix order
2008-02-07 10:43:45 +00:00
Igor Sysoev
88b2406f49
fix order
2008-02-07 10:38:13 +00:00
Igor Sysoev
d2d673a8f9
fix return code
2008-02-07 08:57:07 +00:00
Igor Sysoev
18be913cb6
fix r1879
2008-02-06 17:23:17 +00:00
Igor Sysoev
61adfb287f
do not delete failed DNS request if there are waiting clients
2008-02-06 16:08:52 +00:00
Igor Sysoev
4d856ca763
fix segfault if UDP connect() has failed
2008-02-06 16:01:35 +00:00
Igor Sysoev
704e1c1324
low SSL handshake close notify alert error level
2008-02-04 20:46:58 +00:00
Igor Sysoev
b1d4a6cc80
low SSL handshake errors level
2008-02-01 14:05:18 +00:00
Igor Sysoev
c463ece9d7
reset ready flag if no data is available,
...
this fixes endless loop at least in lingering close
2008-01-31 15:36:33 +00:00
Igor Sysoev
ac5deaa906
treat time_t as unsigned time
2008-01-31 15:14:31 +00:00
Igor Sysoev
c20d3769bc
backout r1757, we really need SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER
2008-01-31 15:10:45 +00:00
Igor Sysoev
48b7b9bd0e
detect L2 cache line size for Intel Core
2008-01-29 07:06:18 +00:00
Igor Sysoev
442d1e63f2
fix cache line size for Pentium 4
2008-01-29 06:58:47 +00:00
Igor Sysoev
6e8bc2b72d
fix building --test-build-rtsig and --test-build-eventport on FreeBSD 7
2008-01-28 16:24:01 +00:00
Igor Sysoev
02d8e8e377
add NGX_ENETDOWN, NGX_ENETUNREACH, and NGX_EHOSTDOWN
2008-01-25 14:57:35 +00:00
Igor Sysoev
c783c35b5f
pull all errors
2008-01-25 14:56:37 +00:00
Igor Sysoev
16315761db
limit string length
2008-01-24 15:18:58 +00:00
Igor Sysoev
fb42465646
use correct type cast
2008-01-24 15:18:17 +00:00
Igor Sysoev
efe0016a11
fix bogus crit log message "SSL_shutdown() failed" introduced in r1755
2008-01-22 16:04:35 +00:00
Igor Sysoev
fa0d3e1a10
fix building by msvc introduced in r1817
2008-01-22 15:16:38 +00:00
Igor Sysoev
0bd32b7569
allow zero length in %*s
2008-01-22 15:13:01 +00:00
Igor Sysoev
f0453c1c0c
fix building by bcc introduced by r1831
2008-01-22 15:09:55 +00:00
Igor Sysoev
8b99e3f1ea
pull all errors
2008-01-10 08:45:00 +00:00
Igor Sysoev
e965c47113
grammar fix
2008-01-10 08:36:14 +00:00
Igor Sysoev
66b8ad6b08
fix building by gcc42, etc. introduced in r1858
2008-01-09 15:27:27 +00:00
Igor Sysoev
57b088d1cc
add code missed in r1856
2008-01-09 08:21:57 +00:00
Igor Sysoev
5a45c6869f
update GET method text in an subrequest
2008-01-08 21:06:38 +00:00
Igor Sysoev
1bc3a93ddf
axe old flag remained after ancient "post_accept_timeout" directive
2008-01-08 20:55:27 +00:00
Igor Sysoev
bd68d51407
add code missed in r1830
2008-01-08 20:51:06 +00:00
Igor Sysoev
1d73cf13f0
bump version
2008-01-08 13:05:18 +00:00
Igor Sysoev
b0fcbefb5d
style fix: remove trailing space
2008-01-08 11:33:14 +00:00
Igor Sysoev
0008ebe2a3
workaround for Linux 2.6 OpenVZ
2008-01-08 11:31:50 +00:00
Igor Sysoev
f53c2a00f8
ngx_http_gzip_static_module should DECLINE request
2008-01-08 10:35:50 +00:00
Igor Sysoev
67913781fc
fix comment
2008-01-05 19:07:10 +00:00
Igor Sysoev
0272977afb
change order
2008-01-04 11:54:55 +00:00
Igor Sysoev
7b8ed4259b
fix socket leak if deferred accept was used
2008-01-04 09:32:12 +00:00
Igor Sysoev
81922511ae
use ngx_ext_rename_file() in PUT
2008-01-03 22:18:21 +00:00
Igor Sysoev
3739151f5b
add declaration missed in previous commit
2008-01-03 22:17:27 +00:00
Igor Sysoev
501fc74854
transform ngx_create_path_and_rename_file() to ngx_ext_rename_file()
2008-01-03 22:16:37 +00:00
Igor Sysoev
cea9034015
do not delete target until all tests will be done,
...
fix single file COPY/MOVE
2008-01-03 21:44:38 +00:00
Igor Sysoev
b98f27d67f
add log
2008-01-03 21:29:01 +00:00
Igor Sysoev
ac487bff1e
add comment
2008-01-03 20:43:12 +00:00
Igor Sysoev
58d04fe3fa
test URI/Destination collection/non-collection and Depth
2008-01-03 20:09:51 +00:00
Igor Sysoev
59781d66ce
axe useless code
2008-01-03 20:06:09 +00:00
Igor Sysoev
a27b0b7e48
change order
2008-01-03 19:18:25 +00:00
Igor Sysoev
369791a7df
change status code, add log message, and test collection URI
2008-01-03 19:13:04 +00:00
Igor Sysoev
284f0daa92
style fix
2008-01-03 17:21:13 +00:00
Igor Sysoev
8dd405319d
min_delete_depth
2007-12-30 11:46:03 +00:00
Igor Sysoev
b06db4283a
log DELETE errors
2007-12-30 10:24:43 +00:00
Igor Sysoev
0ce17d2b5b
axe useless code
2007-12-30 10:19:32 +00:00
Igor Sysoev
ab325357f9
change status code and add log message
2007-12-30 09:44:02 +00:00
Igor Sysoev
0d68f27748
log right request method
2007-12-30 09:11:19 +00:00
Igor Sysoev
feee7265b5
axe useless r->server_name
2007-12-30 08:15:27 +00:00
Igor Sysoev
cc5956772b
log server address
2007-12-30 08:01:50 +00:00
Igor Sysoev
6d7f8658ed
fix building by msvc introduced by r1807
2007-12-29 21:43:49 +00:00
Igor Sysoev
c24de1e853
handle old "server_name *"
2007-12-29 19:05:21 +00:00
Igor Sysoev
b548e13cdf
fix comment
2007-12-29 16:55:31 +00:00
Igor Sysoev
2d028f8910
satisfy all|any
2007-12-29 16:38:23 +00:00
Igor Sysoev
c7a9b7a990
use ngx_http_server_addr()
2007-12-29 16:00:34 +00:00
Igor Sysoev
3f24ae2be2
several changes in server_name:
...
*) server_name_in_redirect directive and removal of the '*' stub
*) use server address in redirect if host can not be detected
*) ngx_http_server_addr()
*) allow wildcard and regex names to be a main server_name
*) DAV Destination header is tested against Host header
2007-12-29 15:30:39 +00:00
Igor Sysoev
5dff77ad7f
condition declarations inside blocks update missed in r1705
2007-12-29 13:55:10 +00:00
Igor Sysoev
d5fe818f06
style fix: remove trailing spaces
2007-12-28 13:15:36 +00:00
Igor Sysoev
8eac726195
fix building --without-pcre
2007-12-28 13:15:11 +00:00
Igor Sysoev
86b915901a
optimization
2007-12-27 20:32:43 +00:00
Igor Sysoev
ce5d6e3237
bump version
2007-12-27 18:47:33 +00:00
Igor Sysoev
f25abef8dc
fix segfault introduced in r1780
2007-12-27 18:35:52 +00:00
Igor Sysoev
938d4993db
bump version
2007-12-27 15:39:06 +00:00
Igor Sysoev
a936b27236
backout r1790
2007-12-27 14:39:05 +00:00
Igor Sysoev
c16b005f30
ngx_http_gzip_static_module and gzip_disable
2007-12-27 14:21:59 +00:00
Igor Sysoev
3d70581d45
non-active request is not done
2007-12-27 14:20:50 +00:00
Igor Sysoev
5a40e9518e
allow memached_pass inside "if" block
2007-12-27 14:19:30 +00:00
Igor Sysoev
9b1d4c15a6
inherit $memached_key index and memcached_pass upstream inside "if" block
2007-12-27 14:18:34 +00:00
Igor Sysoev
fe8a327eff
return NGX_DECLINED if access directives are not active,
...
this fixes case when satisfy any does not test active directives at all
2007-12-27 14:15:34 +00:00
Igor Sysoev
11fbf47374
use ngx_regex_exec_array()
2007-12-27 13:15:43 +00:00
Igor Sysoev
6b8a04ef44
ngx_regex_exec_array()
2007-12-27 13:15:08 +00:00
Igor Sysoev
e87afbad35
call post_action for 499
2007-12-27 13:13:34 +00:00
Igor Sysoev
57c4b0a83b
regex valid_referers were not inherited
2007-12-27 12:13:11 +00:00
Igor Sysoev
99c3ab964f
optimization
2007-12-27 09:17:20 +00:00
Igor Sysoev
513fec7eda
style fix
2007-12-27 08:40:14 +00:00
Igor Sysoev
cd2aa8e172
create ssl buffer on demand and free it before keep-alive
2007-12-26 21:07:30 +00:00
Igor Sysoev
6ff850baf8
ssl_session_cache off
2007-12-26 20:27:22 +00:00
Igor Sysoev
0123ee3adf
optimization
2007-12-26 13:24:57 +00:00
Igor Sysoev
12dcb354e9
style fix
2007-12-25 15:31:18 +00:00
Igor Sysoev
421a3b800f
several fixes:
...
*) do not add event if file was used less than min_uses
*) do not rely upon event to avoid race conditions
*) ngx_open_file_lookup()
2007-12-25 10:46:40 +00:00
Igor Sysoev
d02661a96b
use %*s format
2007-12-24 17:05:31 +00:00
Igor Sysoev
79d9a042a2
%*s format
2007-12-24 17:05:16 +00:00
Igor Sysoev
f3b0e49069
open_file_cache_min_uses
2007-12-22 13:19:39 +00:00
Igor Sysoev
5e593aa34e
take MALLOC_OPTIONS=J into account in slab allocator
2007-12-22 11:06:53 +00:00
Igor Sysoev
465a5ff18b
tree.init_handler is never called
2007-12-21 17:50:49 +00:00
Igor Sysoev
b28f5cc3cb
fix the previous commit
2007-12-21 17:23:41 +00:00
Igor Sysoev
9b9616e5ac
open_file_cache_retest > open_file_cache_valid
2007-12-21 16:19:48 +00:00
Igor Sysoev
f2d60afc7c
fix the previous commit
2007-12-21 16:19:14 +00:00
Igor Sysoev
ff71b948b3
use ngx_queue.h
2007-12-21 15:33:15 +00:00
Igor Sysoev
374d224672
clean rbtree node for all removals
2007-12-21 15:32:51 +00:00
Igor Sysoev
2204d9f09d
style fix
2007-12-21 15:24:59 +00:00
Igor Sysoev
09085e3b38
fix STARTTLS prompt in SMTP
2007-12-21 10:24:59 +00:00
Igor Sysoev
ddc8cbd1ac
embed sentinel
2007-12-20 21:29:52 +00:00
Igor Sysoev
01a129d823
use ngx_queue.h
2007-12-20 21:01:00 +00:00
Igor Sysoev
181abe549f
embed session_rbtree and sentinel inside ngx_ssl_session_cache_t
2007-12-20 20:35:23 +00:00
Igor Sysoev
0a0024bdb5
omit useless test
2007-12-20 20:30:45 +00:00
Igor Sysoev
711e9031fe
use ngx_time() instead of ngx_timeofday()
2007-12-20 20:11:45 +00:00
Igor Sysoev
6675abe3b4
remove SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER, we never need it,
...
the "bad write retry" error was caused by SSL_shutdown() error
2007-12-20 13:49:07 +00:00
Igor Sysoev
fc28270ac2
cleaning stale global SSL error
2007-12-20 13:04:20 +00:00
Igor Sysoev
94b3ea319b
SSL_shutdown() never returns -1, on error it returns 0.
...
This fixes incidental "bad write retry" errors.
2007-12-20 12:59:05 +00:00
Igor Sysoev
afc57e0e5c
bump version
2007-12-19 16:56:01 +00:00
Igor Sysoev
9461d6e09e
comment ngx_walk_tree()
2007-12-18 18:04:37 +00:00
Igor Sysoev
b3ea970288
fix comment
2007-12-18 15:12:33 +00:00
Igor Sysoev
00cbb8a16e
ngx_create_hashed_filename() does not need ngx_file_t
2007-12-17 21:29:34 +00:00
Igor Sysoev
3b112b8c21
create the only cleanup
2007-12-17 21:23:05 +00:00
Igor Sysoev
719688a10d
style fix: remove trailing spaces
2007-12-17 21:20:12 +00:00
Igor Sysoev
a03fa3666f
replace ngx_md5_text() with ngx_hex_dump()
2007-12-17 21:06:17 +00:00
Igor Sysoev
249cbe75b4
log run cleanups clearly
2007-12-17 17:29:36 +00:00
Igor Sysoev
7912e4ba5d
optimize rbtree initialization and insert
2007-12-17 08:52:00 +00:00
Igor Sysoev
c0cadf1f34
no answers in DNS response should be NXDOMAIN
2007-12-16 20:47:55 +00:00
Igor Sysoev
28bca1b6e9
fix segfault if response will have CNAME only
2007-12-16 20:00:15 +00:00
Igor Sysoev
7f35ae6ea6
restore environ for perl_destruct()
2007-12-16 11:58:16 +00:00
Igor Sysoev
078dc8bc49
copy return values to perl's allocated memory
2007-12-16 11:57:27 +00:00
Igor Sysoev
b862cf4076
fix merge_slashes
2007-12-14 14:33:00 +00:00
Igor Sysoev
acb2f5d8c8
large_client_header_buffers did not free()ed before keep-alive
2007-12-12 15:42:39 +00:00
Igor Sysoev
6d4b5a1f86
$upstream_addr did not contain last address, the bug was introduced in r1659
2007-12-11 16:26:56 +00:00
Igor Sysoev
3fc85af2fc
style fix: remove trailing spaces
2007-12-10 12:30:09 +00:00
Igor Sysoev
f2932dcbe5
optimize r->upstream usage
2007-12-10 12:29:43 +00:00
Igor Sysoev
86ef6aaa6b
move condition declarations inside blocks where they are used
2007-12-10 12:09:51 +00:00
Igor Sysoev
e600494185
*) copy regex captures $1, $2, etc.
...
*) SV flags debug logging
2007-12-09 20:52:14 +00:00
Igor Sysoev
16623e0b9c
fix segfault when $r->has_request_body() is called with ready body
2007-12-09 19:30:30 +00:00
Igor Sysoev
cb54061885
*) now ngx_conf_set_str_array_slot() tests NGX_CONF_UNSET_PTR
...
this fixes fastcgi_catch_stderr segfault introduced in r1453
*) ngx_http_upstream_hide_headers_hash()
*) proxy/fastcgi pass_header/hide_header use
ngx_http_upstream_hide_headers_hash()
2007-12-09 18:03:20 +00:00
Igor Sysoev
d8c43746a5
return NGX_HTTP_UPSTREAM_INVALID_HEADER instead of NGX_HTTP_BAD_GATEWAY
...
to go to a next upstream on invalid_header condition
2007-12-09 14:50:19 +00:00
Igor Sysoev
5a55d7104b
return NGX_ERROR instead of NGX_HTTP_INTERNAL_SERVER_ERROR in u->parse_header()
2007-12-09 08:22:35 +00:00
Igor Sysoev
a114911332
return NGX_HTTP_UPSTREAM_INVALID_HEADER for invalid status
2007-12-09 08:08:56 +00:00
Igor Sysoev
8cdfc515c3
fix r1695
2007-12-08 22:12:37 +00:00
Igor Sysoev
f4f2efa54c
delete useless variable
2007-12-07 20:57:38 +00:00
Igor Sysoev
e9af690e61
ngx_create_path_and_rename_file()
2007-12-07 20:22:03 +00:00
Igor Sysoev
ac7586e952
rename ngx_crc32_init() to ngx_crc32_table_init()
...
ngx_crc32_init(), ngx_crc32_update(), ngx_crc32_final()
2007-12-07 20:19:41 +00:00
Igor Sysoev
27dd6a62bd
use malloc() in ngx_win32_rename_file, set crit level instead of error
2007-12-07 19:57:13 +00:00
Igor Sysoev
03df86a541
bump version
2007-12-03 17:26:28 +00:00
Igor Sysoev
e67d46189c
ngx_udp_recv()
2007-12-03 16:46:46 +00:00
Igor Sysoev
7b35de92a9
fix segfault
2007-12-03 15:47:35 +00:00
Igor Sysoev
826c02ebda
use ngx_rbtree_init()
2007-12-03 12:17:26 +00:00
Igor Sysoev
653a206afe
ngx_rbtree_init()
2007-12-03 12:17:15 +00:00
Igor Sysoev
a9d3a0d37a
use ngx_queue_init()
2007-12-03 11:21:19 +00:00
Igor Sysoev
0134d6b622
ngx_queue_init()
2007-12-03 11:21:07 +00:00
Igor Sysoev
6b2fce430b
allow to use IP addresses without defined resolver
2007-12-03 10:05:19 +00:00
Igor Sysoev
26aae392f9
style fix
2007-12-01 21:05:19 +00:00
Igor Sysoev
f49491236f
axe old unused alert message
2007-12-01 20:31:59 +00:00
Igor Sysoev
06187cec1e
style fix
2007-12-01 20:25:32 +00:00
Igor Sysoev
b4e5b4c884
style fix: remove trailing spaces
2007-12-01 19:57:37 +00:00
Igor Sysoev
0827c83dfb
log how big fastcgi record
2007-12-01 14:23:53 +00:00
Igor Sysoev
58ea0c1aad
copy protocol value when large request line is copied,
...
this fixes error "fastcgi: the request record is too big"
2007-12-01 12:22:48 +00:00
Igor Sysoev
1d4e9b31cc
do not allow plain 0.9 request to HTTPS
2007-12-01 11:46:04 +00:00
Igor Sysoev
4d65f6501a
zero ngx_url_t
2007-11-30 22:08:59 +00:00
Igor Sysoev
14c8422148
style fix
2007-11-30 22:08:29 +00:00
Igor Sysoev
7e924427ac
fix typo
2007-11-30 22:07:05 +00:00
Igor Sysoev
77e8b0c59f
fix comment
2007-11-30 22:06:48 +00:00
Igor Sysoev
00e0377488
ngx_parse_url() saves port text, this allows to use it in proxy host header
2007-11-28 19:55:31 +00:00
Igor Sysoev
57bb349844
bump version
2007-11-28 19:17:24 +00:00
Igor Sysoev
fa62656b31
fix segfault
2007-11-28 15:06:05 +00:00
Igor Sysoev
a427e12619
delete unneeded declaration
2007-11-28 10:14:04 +00:00
Igor Sysoev
743760ea35
bump version
2007-11-27 16:58:41 +00:00
Igor Sysoev
6e0a7bfaaa
bump version
2007-11-27 16:25:32 +00:00
Igor Sysoev
96dd8af8e6
proxy_pass variables support
2007-11-27 13:34:13 +00:00
Igor Sysoev
9683528550
improve throughput with large limit_rate
2007-11-27 12:24:44 +00:00
Igor Sysoev
a6b5957f92
log entire request line instead of URI only
2007-11-27 12:22:01 +00:00
Igor Sysoev
98b5a3b15b
add_header last-modified ""
2007-11-27 12:02:58 +00:00
Igor Sysoev
32717eb60c
r->headers_out.refresh
2007-11-27 11:56:18 +00:00
Igor Sysoev
685fd08753
set r->headers_out.location for non-local redirects
2007-11-27 11:52:37 +00:00
Igor Sysoev
13f5ff9d7e
http resolver and resolver_timeout
2007-11-27 11:33:52 +00:00
Igor Sysoev
b50b32e255
use usec and pid as start value
2007-11-24 10:43:15 +00:00
Igor Sysoev
53fcff1efe
fix previous commit
2007-11-23 17:27:01 +00:00
Igor Sysoev
cb4d53861c
resolver
2007-11-23 17:13:26 +00:00
Igor Sysoev
2e8f0d0b30
update ngx_memcmp()
2007-11-23 17:00:11 +00:00
Igor Sysoev
36b634cdbc
ngx_inet_addr()
2007-11-23 16:59:24 +00:00
Igor Sysoev
48bf997e10
ngx_queue.h
2007-11-23 16:32:50 +00:00
Igor Sysoev
499c05a87b
the simple expression has the same precision without overflow
2007-11-16 18:15:04 +00:00
Igor Sysoev
5589bcf969
bump version
2007-11-15 15:42:39 +00:00
Igor Sysoev
a8c1332720
enable getenv() and gmtime() in msvc8
2007-11-15 14:34:10 +00:00
Igor Sysoev
1d04b14c09
64-bit time_t compatibility
2007-11-15 14:26:36 +00:00
Igor Sysoev
66dbcc8d38
fix typo
2007-11-14 14:58:27 +00:00
Igor Sysoev
a0951d5494
fix win32 ngx_read_fd() and ngx_write_fd()
2007-11-11 19:56:46 +00:00
Igor Sysoev
479c786e0d
TransmitPackets(), ConnectEx(), and DisconnectEx()
2007-11-11 18:56:50 +00:00
Igor Sysoev
2afdfdcadb
fix win32 glob
2007-11-11 17:50:47 +00:00
Igor Sysoev
d7a7bedeb6
omit unnecessary test, because NGX_ERROR == -1,
...
but r->headers_out.last_modified_time != -1 at this point
2007-11-09 15:43:43 +00:00
Igor Sysoev
6c2f052744
If-Range support
2007-11-09 15:41:35 +00:00
Igor Sysoev
cc5484fab1
do not encode already encoded characters in msie_refresh
2007-11-09 13:17:58 +00:00
Igor Sysoev
8152d0aeed
style and grammar fix
2007-11-09 13:12:25 +00:00
Igor Sysoev
4c89c09ad8
fix autoindex for "alias /"
2007-11-08 15:21:54 +00:00
Igor Sysoev
d47063bd90
fix gzip and SSL
2007-11-08 15:21:22 +00:00
Igor Sysoev
408dfc1714
fix segfaults
2007-11-08 15:20:56 +00:00
Igor Sysoev
d7cf1a6c1f
set status in correct place
2007-11-06 15:01:13 +00:00
Igor Sysoev
a2208091df
bump version
2007-10-29 14:09:12 +00:00
Igor Sysoev
4724f2b17c
use uname(2) instead of /proc/, this allows to run nginx in chroot
2007-10-26 16:38:53 +00:00
Igor Sysoev
e430ab4d55
divide special response handling into several functions
...
fix "?" escaping introduced in r1467
2007-10-26 16:17:17 +00:00
Igor Sysoev
81924e8e16
compatibility with mget: space after HTTP/1.1
2007-10-26 11:34:10 +00:00
Igor Sysoev
31fd642c5c
refactor index module: remove context
2007-10-23 14:16:00 +00:00
Igor Sysoev
747bb06d62
change emerg to a warn for absolute index
2007-10-23 14:15:06 +00:00
Igor Sysoev
704bafb5c2
fix mime type for absolute index
2007-10-23 14:10:38 +00:00
Igor Sysoev
3bb547dfdf
64-bit update lost in r1355
2007-10-23 14:09:12 +00:00
Igor Sysoev
e261091d67
style fix
2007-10-22 15:22:08 +00:00
Igor Sysoev
6684e58739
bump version
2007-10-22 11:24:05 +00:00
Igor Sysoev
80c397c53b
fix building broken in r1593
2007-10-22 10:28:03 +00:00
Igor Sysoev
f0a51cfa09
unescape SSI include
2007-10-22 10:19:17 +00:00
Igor Sysoev
070cf22ab4
server_tokens
2007-10-22 10:17:34 +00:00
Igor Sysoev
9e039cfc9e
fix typo
2007-10-22 10:15:48 +00:00
Igor Sysoev
a40caa172c
fix segfault
2007-10-22 10:15:27 +00:00
Igor Sysoev
11ab73e538
style fix
2007-10-18 16:20:21 +00:00
Igor Sysoev
775fd53f2d
style fix
2007-10-18 16:12:55 +00:00
Igor Sysoev
7b34e5f001
style fix
2007-10-18 16:05:48 +00:00
Igor Sysoev
e345d26d20
fix typo
2007-10-18 15:53:38 +00:00
Igor Sysoev
8decab3dd9
merge_slashes
2007-10-18 11:36:58 +00:00
Igor Sysoev
4c5207fd56
allow full URL without URI part: "GET http://host HTTP/1.0"
2007-10-18 11:33:31 +00:00
Igor Sysoev
b2f5a4a971
gzip_vary
2007-10-18 11:29:34 +00:00
Igor Sysoev
cc4078f470
do not discard body if it has been already read
2007-10-18 11:29:15 +00:00
Igor Sysoev
31d6f9590a
Cygwin can not pass SCM_RIGHTS via unix socket, use signals
2007-10-18 11:28:21 +00:00
Igor Sysoev
12446d8249
fix segfault if no server_name was defined
2007-10-17 13:22:26 +00:00
Igor Sysoev
5cb097c5b0
style fix
2007-10-17 13:21:20 +00:00
Igor Sysoev
35ab2cb373
fix building broken in r1578
2007-10-16 19:22:27 +00:00
Igor Sysoev
ac03c9c303
delete code that should be deleted in r1576
2007-10-16 17:51:47 +00:00
Igor Sysoev
80c94f260e
Cygwin support
2007-10-16 14:14:30 +00:00
Igor Sysoev
dde2abde39
avoid segfault if poll is used and endless loop if select is used
2007-10-16 14:12:52 +00:00
Igor Sysoev
336943dd7e
use ngx_sha1.h
2007-10-16 12:17:11 +00:00
Igor Sysoev
7b4d0266c6
ngx_sha1.h
2007-10-16 12:16:58 +00:00
Igor Sysoev
d883df2444
ngx_md5.h
2007-10-16 11:59:47 +00:00
Igor Sysoev
6d5d61c8a3
bump version
2007-10-15 11:32:09 +00:00
Igor Sysoev
ab18bf2f02
use real weight, do not downground to one
2007-10-15 10:15:54 +00:00
Igor Sysoev
2517eef67b
memcached did not set $upstream_response_time
2007-10-15 09:46:36 +00:00
Igor Sysoev
8de766328f
fix segfault when $date_local or $date_gmt are used outside ssi module
2007-10-14 19:04:23 +00:00
Igor Sysoev
2d3f3f6eb6
fix English grammar
2007-10-14 18:56:15 +00:00
Igor Sysoev
47a1ebb050
optimization
2007-10-10 13:58:47 +00:00
Igor Sysoev
bfb23bf604
style fix: remove double semicolons
2007-10-09 20:11:03 +00:00
Igor Sysoev
3fc6ee4501
allow access_log inside limit_except
2007-10-09 18:45:49 +00:00
Igor Sysoev
5ba67396f5
%v fix lost in r1407
2007-10-09 18:44:59 +00:00
Igor Sysoev
d3db9ea51e
style fix: remove trailing spaces
2007-10-09 18:42:00 +00:00
Igor Sysoev
7ed63ee75f
use pool instead of ngx_conf_t
2007-10-08 08:55:12 +00:00
Igor Sysoev
7973964b3f
optimization
2007-10-08 04:59:26 +00:00
Igor Sysoev
d2582b9619
*) add sub_filter parser fix similar to r1261 in SSI parser
...
*) fix case when pattern is split between two buffers:
it had been fixed in SSI parser long ago
2007-10-02 18:53:31 +00:00
Igor Sysoev
a103646402
fix r1552 and r1464: test max fails in correct peer
2007-10-02 12:34:16 +00:00
Igor Sysoev
d13045f16c
fix empty string replacement in sub_filter
2007-10-01 16:24:15 +00:00
Igor Sysoev
fa928a6c66
two commits those go together by mistake
...
*) fix gzip broken in r1544
*) fix memcached END test
2007-10-01 16:00:13 +00:00
Igor Sysoev
a8afe406ce
use ngx_strnstr()
2007-10-01 14:48:45 +00:00
Igor Sysoev
35fe5fd06d
ngx_strnstr()
2007-10-01 14:48:33 +00:00
Igor Sysoev
834e447234
fix r1464: test max fails in correct peer
2007-10-01 14:45:31 +00:00
Igor Sysoev
6669702b00
add comment
2007-10-01 13:00:30 +00:00
Igor Sysoev
f53294103b
pass length clearly
2007-10-01 12:57:47 +00:00
Igor Sysoev
06af5df77f
style fix
2007-09-29 11:45:46 +00:00
Igor Sysoev
07ee0039b2
add time and length to a HEAD request
2007-09-28 09:48:25 +00:00
Igor Sysoev
9d2811b28b
omit trailing zero in directory name
2007-09-27 09:39:29 +00:00
Igor Sysoev
333649648c
SSI echo encoding
2007-09-27 09:37:09 +00:00
Igor Sysoev
1730c758a1
ngx_escape_html()
2007-09-27 09:36:50 +00:00
Igor Sysoev
0659720dc8
use ngx_strstrn() and ngx_strcasestrn()
2007-09-26 19:26:14 +00:00
Igor Sysoev
1bd987019d
ngx_strstrn() and ngx_strcasestrn()
2007-09-26 19:25:52 +00:00
Igor Sysoev
066e6323c5
fix comment
2007-09-26 12:23:34 +00:00
Igor Sysoev
ddc9297a4f
bump version
2007-09-24 04:18:22 +00:00
Igor Sysoev
34ebeb60eb
fix file leak for HEAD requests
2007-09-22 17:56:05 +00:00
Igor Sysoev
60739f7842
bump version
2007-09-21 14:41:05 +00:00
Igor Sysoev
e3f6cb85a0
fix "AUTH PLAIN [initial-response]" bug introduced in r1477
2007-09-21 14:08:50 +00:00
Igor Sysoev
964c4a8c9a
use "_" instead of " " as new line substitute, do not delete trailing new line
2007-09-21 13:47:33 +00:00
Igor Sysoev
425b0afd7c
fix r1416
2007-09-21 13:43:53 +00:00
Igor Sysoev
c4b3b5ae5f
log starttls
2007-09-20 11:08:14 +00:00
Igor Sysoev
4b96baa417
u_char* is enough to keep file name
2007-09-15 17:11:06 +00:00
Igor Sysoev
254353e40e
the "proxy_hide_header" and "fastcgi_hide_header" directives did not
...
hide response header lines whose name was longer than 32 characters
2007-09-15 16:54:58 +00:00
Igor Sysoev
48714085dd
ngx_mail_pop3_module, ngx_mail_imap_module, and ngx_mail_smtp_module
2007-09-15 16:51:16 +00:00
Igor Sysoev
05a75d0d94
style fix: remove trailing spaces
2007-09-14 15:04:45 +00:00
Igor Sysoev
945af2aac9
create salt just before it will be used
2007-09-14 15:00:19 +00:00
Igor Sysoev
c95d44bb73
fix r1482
2007-09-14 14:56:46 +00:00
Igor Sysoev
dac63a2f28
ngx_mail_smtp_create_buffer()
2007-09-14 14:13:25 +00:00
Igor Sysoev
2422950571
optimizations
2007-09-14 14:04:24 +00:00
Igor Sysoev
711c36b825
smtp_client_buffer and smtp_greeting_delay
2007-09-14 13:58:49 +00:00
Igor Sysoev
706ab65f54
move event handling to protocol specific code,
...
it is required to support SMTP greeting delay
2007-09-14 10:42:19 +00:00
Igor Sysoev
5fbe12146e
optimizations
2007-09-13 21:24:27 +00:00
Igor Sysoev
05d1de757f
small optimizations
2007-09-13 20:32:52 +00:00
Igor Sysoev
c4cb0c7cf1
style fix and optimizations
2007-09-13 20:27:28 +00:00
Igor Sysoev
6cc54cc3be
split pop3, imap, and smtp handlers
2007-09-13 20:13:18 +00:00
Igor Sysoev
f78e8dd033
bump version
2007-09-11 13:21:30 +00:00
Igor Sysoev
b0fef0eaf6
decrement active connection counter in mail proxy
2007-09-11 10:22:12 +00:00
Igor Sysoev
a72822df36
response to the HEAD request should be a header only
2007-09-11 06:34:18 +00:00
Igor Sysoev
708fe2e526
64-bit update lost in r1355
2007-09-10 09:08:12 +00:00
Igor Sysoev
9e4b7276f9
connection error should be logged with "connecting to upstream" action,
...
the bug was introduced in r1154
2007-09-09 18:43:16 +00:00
Igor Sysoev
3dea919675
read EOF of header only responses in non-buffered proxying
2007-09-09 18:32:53 +00:00
Igor Sysoev
ec67b19ea0
there may be several "Connection" header lines and each may have several tokens
2007-09-09 18:28:49 +00:00
Igor Sysoev
51082f7f1d
escape internal request URI in proxy_pass
2007-09-09 18:25:03 +00:00
Igor Sysoev
fcd9dda633
balance more fair when there are several servers with equal weights,
...
side effect: now smallest weights go first
2007-09-09 18:23:21 +00:00
Igor Sysoev
589fc748ed
style fix
2007-09-07 09:29:08 +00:00
Igor Sysoev
7a69774721
fix case when server was marked as down after one failure
2007-09-05 15:30:19 +00:00
Igor Sysoev
4efa705cc0
backout r1426: return dynamic weights
2007-09-05 15:28:19 +00:00
Igor Sysoev
586aa3899d
bump version
2007-09-03 10:35:02 +00:00
Igor Sysoev
a250a521d3
test the most relevant condition first
2007-09-03 09:06:26 +00:00
Igor Sysoev
9afd58ffe5
open_file_cache_events
2007-09-03 08:41:42 +00:00
Igor Sysoev
1b982e1c00
fix unlikely socket leak
2007-09-01 16:41:52 +00:00
Igor Sysoev
2253064361
fix socket leak introduced in r1374 when request header and body was
...
in one packet and connection went to keep-alive state
2007-09-01 16:40:19 +00:00
Igor Sysoev
140c7556a2
open_file_cache in HTTP
2007-09-01 12:12:48 +00:00
Igor Sysoev
d92bee51ea
open file cache
2007-09-01 12:11:21 +00:00
Igor Sysoev
ca0bdd3e95
change ngx_conf_merge_ptr_value() and update fastcgi_catch_stderr
2007-09-01 12:05:55 +00:00
Igor Sysoev
a2883a66df
NGX_USE_VNODE_EVENT and NGX_FLUSH_EVENT
2007-09-01 11:59:36 +00:00
Igor Sysoev
954e7e0739
add comment
2007-09-01 11:21:00 +00:00
Igor Sysoev
d1eedde904
update comments
2007-09-01 09:33:25 +00:00
Igor Sysoev
2cc3ad8bea
allow to append charset to the "Content-Type" header
2007-08-31 18:47:25 +00:00
Igor Sysoev
b3dd3fd359
style fix
2007-08-31 12:13:12 +00:00
Igor Sysoev
54a553b721
update comment
2007-08-31 09:50:23 +00:00
Igor Sysoev
31d6785397
style fix
2007-08-31 09:41:45 +00:00
Igor Sysoev
6f8030e339
use ev->log, because ev->data may be connection stub only
2007-08-31 09:40:38 +00:00
Igor Sysoev
181a7141f9
style fix
2007-08-31 09:22:53 +00:00
Igor Sysoev
e7e7dedfb3
fix typo
2007-08-31 06:15:50 +00:00
Igor Sysoev
1356622e55
destroy ngx_cycle->pool on exit
2007-08-30 18:59:44 +00:00
Igor Sysoev
b53e86a195
win32 ngx_is_exec() stub
2007-08-30 18:57:38 +00:00
Igor Sysoev
d8d0e0b809
log socket number
2007-08-29 15:33:59 +00:00
Igor Sysoev
4f62b73898
If-Modified-Since should be unique header line
2007-08-29 15:32:49 +00:00
Igor Sysoev
7f789168ef
add guard code
2007-08-29 11:26:42 +00:00
Igor Sysoev
bb3799d89f
fix comment
2007-08-29 07:19:22 +00:00
Igor Sysoev
89884a0a84
disable pair event on POLLREMOVE
2007-08-29 07:18:54 +00:00
Igor Sysoev
2b5edcc3e6
bump version
2007-08-28 16:44:29 +00:00
Igor Sysoev
543a6ae513
return 400 response
2007-08-27 20:52:40 +00:00
Igor Sysoev
6fe1303fb5
do not set read->eof, ready, and error prematurely
2007-08-27 19:44:35 +00:00
Igor Sysoev
121bf2f955
cancel dynamic weights,
...
it seems that may permanently set lower weight or even mark server as down
2007-08-27 16:02:43 +00:00
Igor Sysoev
ae0347afc8
optimize r->connection in ngx_http_finalize_request()
2007-08-27 15:53:00 +00:00
Igor Sysoev
db7b126db2
cancel keep-alive and lingering close on EOF
2007-08-27 15:40:19 +00:00
Igor Sysoev
fe8137af4b
cancel discarding body on EOF
2007-08-27 15:38:46 +00:00
Igor Sysoev
da69848428
mark connection as not ready, this fixes endless loop introduced in r1368
2007-08-27 15:01:08 +00:00
Igor Sysoev
012f231bbc
add guard code to prevent endless loop
2007-08-24 15:58:13 +00:00
Igor Sysoev
97e9336753
update ip_hash to "backup" option
2007-08-24 15:30:35 +00:00
Igor Sysoev
9fdca0a117
set current peer to use it in ngx_http_upstream_free_round_robin_peer()
2007-08-24 15:29:50 +00:00
Igor Sysoev
27db2b1900
fix ip_hash on 64-bit platform
2007-08-24 15:28:06 +00:00
Igor Sysoev
43f3aead14
fix trailing wildcard when two or more listen used in one server
2007-08-24 11:05:47 +00:00
Igor Sysoev
45d056a788
fix build on amd64
2007-08-21 11:05:11 +00:00
Igor Sysoev
93c3755e26
bump version
2007-08-20 13:10:25 +00:00
Igor Sysoev
7896c39fe8
set delay only when almost whole sendfile_max_chunk was transferred
2007-08-20 10:35:41 +00:00
Igor Sysoev
3854a1e195
test relative nginx.conf, this is compatible with old versions
...
because cycle->root on this stage is not set
2007-08-20 10:05:10 +00:00
Igor Sysoev
0d4b372e44
use %v for ngx_variable_value_t in ngx_sprintf(),
...
this fixes nginx on FreeBSD/sparc64
2007-08-20 09:57:19 +00:00
Igor Sysoev
d4ff561681
escape " ", "%", and %00-%1F in login and password
2007-08-20 09:50:53 +00:00
Igor Sysoev
4edb1d61e9
set worker_priority, worker_rlimit_nofile, worker_rlimit_core, and
...
worker_rlimit_sigpending without super-user privileges testing
2007-08-15 20:53:30 +00:00
Igor Sysoev
966e2a5736
auto redirect lost arguments
2007-08-15 15:57:26 +00:00
Igor Sysoev
d6477e6c78
bump version
2007-08-15 12:58:35 +00:00
Igor Sysoev
e101338634
upstream sendfile bit was overridden by r->connection->sendfile
2007-08-14 20:44:09 +00:00
Igor Sysoev
ed2c623987
test http_auth absence
2007-08-14 15:21:20 +00:00
Igor Sysoev
0349656786
allow "http://" in auth_http URL
2007-08-14 15:00:38 +00:00
Igor Sysoev
824bcf333f
stop configuration on error
2007-08-14 14:57:51 +00:00
Igor Sysoev
cc07609d11
fix long loop
2007-08-14 13:35:52 +00:00
Igor Sysoev
0b72c93a69
regex in valid_referers
2007-08-12 20:06:43 +00:00
Igor Sysoev
43c3bf42db
regex in server_name
2007-08-12 19:48:12 +00:00
Igor Sysoev
307ab0ded6
fix building by bcc without PCRE
2007-08-12 15:25:09 +00:00
Igor Sysoev
242d1de5d0
style fix
2007-08-12 09:00:56 +00:00
Igor Sysoev
845f6d553a
ignore meaningless bits in CIDR and warn about them
2007-08-10 13:13:28 +00:00
Igor Sysoev
7a8e33993a
sort upstream weights
2007-08-09 15:28:17 +00:00
Igor Sysoev
6876bcdad6
backup upstream servers
2007-08-09 13:54:33 +00:00
Igor Sysoev
031a6e2906
set default listen() backlog to 511 on all platforms except FreeBSD
2007-08-09 13:32:21 +00:00
Igor Sysoev
3625a458d9
"down" server caused endless loop
2007-08-07 12:34:20 +00:00
Igor Sysoev
fda6a08f71
omit unnecessary conditions
2007-08-07 10:56:09 +00:00
Igor Sysoev
4fbd86829b
discard request body before going to keep-alive state and use lingering timeouts
2007-08-07 10:53:27 +00:00
Igor Sysoev
5aca0e4678
omit unnecessary XSRETURN_EMPTY
2007-08-06 15:40:26 +00:00
Igor Sysoev
03afa34c96
$r->discard_request_body
2007-08-06 15:38:08 +00:00
Igor Sysoev
832571f0fc
rename ngx_http_discard_body() to ngx_http_discard_request_body()
2007-08-06 15:37:22 +00:00
Igor Sysoev
ce6bcc0795
block reading for level events
2007-08-06 15:31:00 +00:00
Igor Sysoev
7ab4d9cb55
rename ngx_http_block_read() and ngx_http_test_read() to ..._reading()
2007-08-06 15:22:40 +00:00
Igor Sysoev
e5d4020612
discard request body in cycle
2007-08-06 15:18:24 +00:00
Igor Sysoev
b2d3a541ea
move "Expires" header code to a separate function
2007-08-01 19:32:58 +00:00
Igor Sysoev
dbc02c324b
move "Cache-Control" header code to specific handler
2007-08-01 15:24:06 +00:00
Igor Sysoev
c24bed89cd
style fix
2007-08-01 14:22:12 +00:00
Igor Sysoev
82b5a31e2d
use header specific handler in add_handler,
...
"Last-Modified" header handler
2007-08-01 14:01:30 +00:00
Igor Sysoev
329a23639f
bump version
2007-07-30 09:23:26 +00:00
Igor Sysoev
83a6851b28
make 64-bit ngx_int_t on 64-bit platforms
2007-07-29 18:24:53 +00:00
Igor Sysoev
8889b65711
named location
2007-07-29 18:11:39 +00:00
Igor Sysoev
a1df416d65
--sysconfdir=DIR
2007-07-29 18:05:45 +00:00
Igor Sysoev
0051242013
$is_args
2007-07-29 17:56:56 +00:00
Igor Sysoev
33fa6e30bc
allow to set $args
2007-07-29 17:55:37 +00:00
Igor Sysoev
d12a5718d8
fair upstream weight balancer
2007-07-28 16:04:01 +00:00
Igor Sysoev
1931d87cca
fix case when client has closed connection but upstream buffer is not empty
2007-07-24 18:08:04 +00:00
Igor Sysoev
32b787560a
fix case when two directives
...
proxy_pass http://backend ;
proxy_pass https://backend ;
both use one port - 80 or 443, that was defined first.
2007-07-23 12:35:21 +00:00
Igor Sysoev
5bb2112c27
style fix
2007-07-23 12:32:34 +00:00
Igor Sysoev
7dbb7c881d
bump version
2007-07-23 08:12:24 +00:00
Igor Sysoev
3f70782404
escape space, etc in $memcached_key
2007-07-22 19:18:59 +00:00
Igor Sysoev
37ae8ca0e1
omit unnecessary code
2007-07-22 19:11:52 +00:00
Igor Sysoev
f36ed5991a
$nginx_version
2007-07-22 13:12:16 +00:00
Igor Sysoev
f4283a91f1
IMAP AUTHENTICATE
...
patch by Maxim Dounin
2007-07-20 19:38:08 +00:00
Igor Sysoev
810dc1652d
SMTP STARTTLS
...
patch by Maxim Dounin
2007-07-20 18:36:04 +00:00
Igor Sysoev
8e1c997ba0
exit cycle early,
...
found by Coverity's Scan
2007-07-19 19:12:36 +00:00
Igor Sysoev
b1ccbdad7b
fix potential double free(),
...
found by Coverity's Scan
2007-07-19 19:11:57 +00:00
Igor Sysoev
43ae46f401
fix potential segfault,
...
found by Coverity's Scan
2007-07-19 19:08:22 +00:00
Igor Sysoev
cbf72c1e61
fix memory leak,
...
found by Coverity's Scan
2007-07-19 19:07:13 +00:00
Igor Sysoev
66a874beb2
bump version
2007-07-17 10:15:07 +00:00
Igor Sysoev
f42ed05e9c
Sun Studio on sparc uses different bit order
2007-07-17 09:23:23 +00:00
Igor Sysoev
d3cdbc85e8
Sun Studio 12 compatibility
2007-07-16 08:54:04 +00:00
Igor Sysoev
de27bce24e
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
2007-07-15 20:09:14 +00:00
Igor Sysoev
8662b6bec5
msie_refresh should escape at least '"' to prevent XSS
2007-07-13 09:37:01 +00:00
Igor Sysoev
049ae00031
"?" should not be escaped
2007-07-13 09:35:51 +00:00
Igor Sysoev
471b92e58f
dav_access uses ngx_conf_set_access_slot()
2007-07-13 08:32:12 +00:00
Igor Sysoev
fbd9b4399f
proxy_store and fastcgi_store were changed,
...
proxy_store_access and fastcgi_store_access were added
2007-07-13 08:30:34 +00:00
Igor Sysoev
852e458014
bump version
2007-07-12 11:35:57 +00:00
Igor Sysoev
58feb53eb4
proxy_store and fastcgi_store
2007-07-12 11:19:05 +00:00
Igor Sysoev
ef6e362d4e
style fix
2007-07-11 20:12:26 +00:00
Igor Sysoev
19b093f23b
style fix
2007-07-11 13:06:54 +00:00
Igor Sysoev
d2d6bd5af6
reset errno
2007-07-11 10:46:21 +00:00
Igor Sysoev
d2c996a57c
fix segfault when event port returns POLLERR without POLLIN or POLLOUT
2007-07-11 10:45:55 +00:00
Igor Sysoev
a9af7bfada
fix segfault when CRAM-MD5 is not enabled but client tries it
2007-07-11 07:47:57 +00:00
Igor Sysoev
fa808bbc04
fix memory allocation for auth_http_header
2007-07-10 21:26:51 +00:00
Igor Sysoev
8b0a3d2810
fix segfault when session was freed twice
2007-07-10 21:04:37 +00:00
Igor Sysoev
f53d0f3177
proxy_ignore_client_abort, fastcgi_ignore_client_abort, and so on were
...
broken by r1111
2007-07-10 20:53:45 +00:00
Igor Sysoev
13cf4b82c5
bump version
2007-07-09 07:09:38 +00:00
Igor Sysoev
793e08317f
fix headers split in FastCGI records
2007-07-09 06:30:53 +00:00
Igor Sysoev
7797887b1d
omit unnecessary conditions
2007-07-08 09:38:37 +00:00
Igor Sysoev
4d2e0f0198
when the FastCGI header was split in records,
...
nginx passed garbage in the header to a client
2007-07-08 09:16:36 +00:00
Igor Sysoev
28eafa574e
add comment
2007-07-06 11:28:20 +00:00
Igor Sysoev
28bb279593
bump version
2007-06-17 19:27:34 +00:00
Igor Sysoev
414e94f0e9
if a subrequest was finished and SSI was in middle of SSI command parsing
...
and the command was a fast subrequest then the second subrequest output
was just after first subrequest output and response part of main request
between the subrequests went after the second subrequest.
2007-06-17 18:10:43 +00:00
Igor Sysoev
de278125c1
if "<!--" was on edge of buf, then ssi_sharp_state was saved in ctx->saved
...
and if it was not reset, then any '#' was treated as SSI command start
2007-06-17 17:54:48 +00:00
Igor Sysoev
def1e7439f
if subrequest response was buffered in file, then subrequest was finalized
...
with 0 code, ngx_http_writer() was not set, and response part in file was lost
2007-06-17 09:29:15 +00:00
Igor Sysoev
b5f30a87c5
fix building on threaded or multiplicity interpreter perl,
...
the bug was introduced by previous commit
2007-06-16 09:22:37 +00:00
Igor Sysoev
2756b42db2
set worker's perl $$
2007-06-15 12:20:23 +00:00
Igor Sysoev
89aa3079bb
bump version
2007-06-14 05:48:47 +00:00
Igor Sysoev
9d8a75c525
the "www.example.*" wildcard hash support
2007-06-11 19:49:22 +00:00
Igor Sysoev
ad39e5c746
bump version
2007-06-11 19:32:29 +00:00
Igor Sysoev
8ec084b9dc
bump version
2007-06-08 05:43:05 +00:00
Igor Sysoev
6d9a66078a
fix building --without-http_rewrite_module, the bug was introduced in r1236
2007-06-08 05:40:59 +00:00
Igor Sysoev
84cc2cca53
style fix
2007-06-07 14:33:02 +00:00
Igor Sysoev
6c8e74bcd4
style fix
2007-06-07 12:20:34 +00:00
Igor Sysoev
35e5db1c6b
namespace may be set via $memcached_key
2007-06-07 12:15:27 +00:00
Igor Sysoev
8e3151dce5
strstr() -> strchr()
2007-06-06 12:24:10 +00:00
Igor Sysoev
1fddbb85e1
eliminate old unused typedef
2007-06-06 08:11:33 +00:00
Igor Sysoev
52a93439bc
fix bug introduced in r1228
2007-06-06 05:56:51 +00:00
Igor Sysoev
1849ba824e
change wording
2007-06-05 11:55:39 +00:00
Igor Sysoev
6633572f31
use pointer to an array instead of array for inclusive locations inside location
2007-06-05 11:42:59 +00:00
Igor Sysoev
c915106f20
optimize regex location search
2007-06-05 06:44:08 +00:00
Igor Sysoev
bf15d70e10
forbid alias inside location given by regular expression
2007-06-04 20:45:45 +00:00
Igor Sysoev
62864d1e1e
fix ssl_verify_client for HTTP/0.9
2007-06-04 20:40:03 +00:00
Igor Sysoev
55a42ca586
style fix
2007-06-04 20:00:06 +00:00
Igor Sysoev
1c0e3e0dd0
bump version
2007-06-04 16:14:33 +00:00
Igor Sysoev
813296e5bb
fastcgi_catch_stderr
2007-06-04 13:52:47 +00:00
Igor Sysoev
b2c5db58dc
inherit flush flag, this fixes https proxying
2007-06-03 19:58:30 +00:00
Igor Sysoev
70c1d0f160
add debug logging
2007-06-03 19:56:27 +00:00
Igor Sysoev
b1c6c4323e
add comment
2007-05-30 13:24:50 +00:00
Igor Sysoev
d4aa572c8d
do listen() just after bind() to exit early
2007-05-30 13:23:48 +00:00
Igor Sysoev
9dd99aac66
style fix
2007-05-30 12:28:37 +00:00
Igor Sysoev
c141793cf9
change wording
2007-05-29 19:43:18 +00:00
Igor Sysoev
8f0c87f384
PERL_SYS_TERM() should be called once on exit only, this fixes the message
...
panic: MUTEX_LOCK (22) [op.c:352].
BEGIN failed--compilation aborted.
... [alert] ... perl_parse() failed: 9
Scalars leaked: 2
on threaded perl during second reconfiguration.
PERL_SYS_INIT() should be called once too.
2007-05-29 18:48:42 +00:00
Igor Sysoev
78c5893412
fix segfault
2007-05-29 16:33:34 +00:00
Igor Sysoev
e60303cdca
SNI support
2007-05-29 15:21:09 +00:00
Igor Sysoev
f44ea0bbf6
bump version
2007-05-29 12:15:04 +00:00
Igor Sysoev
acac00332e
an request body might not be passed to backend,
...
the bug was introduced in r1212
2007-05-29 12:06:42 +00:00
Igor Sysoev
a9a4672b9f
bump version
2007-05-28 19:03:06 +00:00
Igor Sysoev
b8ddf754f9
fix "proxy_pass https://"
2007-05-28 11:09:18 +00:00
Igor Sysoev
da8c05a5fd
style fix
2007-05-23 18:28:54 +00:00
Igor Sysoev
c02ed54c4f
use stable search where it is required
2007-05-21 14:09:12 +00:00
Igor Sysoev
35921283df
ngx_sort
2007-05-21 14:05:23 +00:00
Igor Sysoev
2517fbf2b8
use memory optimization for i386 and amd64 only:
...
this fixes SIGBUS in PCRE on sparc64
2007-05-21 13:49:35 +00:00
Igor Sysoev
0687cb9d99
fix worker endless loop on 64-bit platform if 33+ backend has fall
2007-05-21 13:48:14 +00:00
Igor Sysoev
3378750e2d
style fix
2007-05-19 17:39:44 +00:00
Igor Sysoev
5f6989e953
style fix
2007-05-17 18:07:28 +00:00
Igor Sysoev
932b32628e
bump version
2007-05-07 14:39:11 +00:00
Igor Sysoev
08d068f943
limit minimal pool size
2007-05-07 09:20:42 +00:00
Igor Sysoev
5a8bc36118
style fix
2007-05-07 08:49:15 +00:00
Igor Sysoev
c5a60bb4a0
add debug log
2007-05-07 07:04:00 +00:00
Igor Sysoev
c9b57dc081
sendfile_max_chunk
2007-05-07 06:33:39 +00:00
Igor Sysoev
544e9f1fd7
optimize HTTP method parsing for i386 and amd64
2007-05-07 06:27:14 +00:00
Igor Sysoev
5b1cf0d91f
fix multipart ranges trailing
2007-05-06 18:15:32 +00:00
Igor Sysoev
b09c269386
style fix: change variable name
2007-05-05 06:07:11 +00:00
Igor Sysoev
875893b846
fix building by owc12
2007-05-05 05:50:41 +00:00
Igor Sysoev
d1e38e8788
fix building by msvc
2007-05-05 05:40:29 +00:00
Igor Sysoev
75c3272a1c
fix segfault introduced in r1190
2007-05-02 09:02:23 +00:00
Igor Sysoev
dbdeafe6a0
fix segfault or parsing error in '<!--# if expr="$var = /" -->'
2007-05-02 08:07:37 +00:00
Igor Sysoev
9c710c0569
allow to "set" $http_, $sent_http_, and $upstream_http_ variables
2007-05-01 19:58:45 +00:00
Igor Sysoev
dc566e4bd6
fix atomic operations on sparc64 built by SunPro C
2007-04-27 14:36:28 +00:00
Igor Sysoev
359561d6cc
bump version
2007-04-24 06:26:56 +00:00
Igor Sysoev
57a713c67c
fix sendfile on 64-bit Linux and limit_rate on all 64-bit platforms
...
for 2G+ files
2007-04-23 21:32:13 +00:00
Igor Sysoev
29f5912635
$upstream_addr
2007-04-23 16:56:17 +00:00
Igor Sysoev
8a19bff2a5
proxy_headers_hash_max_size and proxy_headers_hash_bucket_size
2007-04-22 20:21:59 +00:00
Igor Sysoev
b4ccb9f5bd
$request_time has millisecond precision
2007-04-21 07:50:19 +00:00
Igor Sysoev
6047281208
rename $r->rflush to $r->flush
2007-04-21 07:43:23 +00:00
Igor Sysoev
e548a510c4
bump version
2007-04-19 18:23:54 +00:00
Igor Sysoev
6d939760c6
style fix: remove trailing spaces
2007-04-19 18:07:39 +00:00
Igor Sysoev
4c39648150
$upstream_http_... should be uncacheable
2007-04-19 17:55:19 +00:00
Igor Sysoev
d9bb8e3894
ngx_http_sub_filter_module
2007-04-19 17:54:23 +00:00
Igor Sysoev
16eab66314
style fix: rename functions
2007-04-19 06:27:10 +00:00
Igor Sysoev
e0f866273f
store the upstream states before X-Accel-Redirect to a next upstream
2007-04-18 20:23:19 +00:00
Igor Sysoev
eb21763fa1
style fix
2007-04-18 19:43:22 +00:00
Igor Sysoev
fb958946b5
style fix: remove tabs
2007-04-18 15:21:28 +00:00
Igor Sysoev
e5e4c0000d
fix segfault when
...
*) perl was built without multiplicity
*) when configuration was invalid
2007-04-18 11:28:11 +00:00
Igor Sysoev
de92bcccee
set nginx_stash after reconfiguration in single interpreter perl
2007-04-18 09:23:35 +00:00
Igor Sysoev
2723361e76
$upstream_http_... variables
2007-04-10 07:08:06 +00:00
Igor Sysoev
da4b660274
use 60 seconds interval but not 61 seconds
2007-04-03 21:54:13 +00:00
Igor Sysoev
52a282d04b
bump version
2007-04-02 10:50:18 +00:00
Igor Sysoev
7a5886052f
*) introduce ngx_strchr()
...
*) test server_name for '/': it's common configuration error when
trailing ';' is omitted and a next directive is treated as server_name
2007-04-02 06:27:30 +00:00
Igor Sysoev
10b9894bee
style fix
2007-04-02 05:43:21 +00:00
Igor Sysoev
ceab369f44
disable $document_root variable in the "root/alias" directive
2007-04-01 09:03:14 +00:00
Igor Sysoev
70f65c4948
ngx_ssl_recv_chain() must not update buf->last,
...
it fixes proxy_pass https://...
2007-03-31 19:48:48 +00:00
Igor Sysoev
24a95944a7
separate ngx_http_upstream_test_connect() and
...
use it in ngx_http_upstream_process_header() path too
2007-03-31 15:37:09 +00:00
Igor Sysoev
2c8f05737a
flush nocachable variables before ngx_http_script_run()
2007-03-30 19:00:34 +00:00
Igor Sysoev
3e933d2919
disable TRACE method
2007-03-30 18:59:26 +00:00
Igor Sysoev
9b6548f4e4
style fix
2007-03-29 18:53:34 +00:00
Igor Sysoev
eba03e6bea
the "include" support inside the "types" directive
2007-03-29 10:27:24 +00:00
Igor Sysoev
4ca98f65a5
style fix
2007-03-28 14:38:33 +00:00
Igor Sysoev
035b9c5d24
bump version
2007-03-26 14:52:52 +00:00
Igor Sysoev
7755b904ce
ip_hash used wrong byte order
2007-03-23 12:52:33 +00:00
Igor Sysoev
77d7f80285
fix segfault if upstream sends trailing ";" in "charset="
2007-03-23 11:33:47 +00:00
Igor Sysoev
e47cad4140
fix "zero size buf" if request body file is multiple of 32K and FastCGI is used
2007-03-21 13:30:24 +00:00
Igor Sysoev
e7f83eefa2
fix building without --with-debug on Solaris
2007-03-21 11:16:14 +00:00
Igor Sysoev
65560f40c0
bump version
2007-03-19 14:58:30 +00:00
Igor Sysoev
02c8d181a4
Many changes:
...
*) rename imap to mail, sort pop3/imap functions
*) smtp auth support
*) pop3 starttls only
*) fix segfault if cram-md5 was used without apop
2007-03-19 13:36:56 +00:00
Igor Sysoev
4ddeff4956
close keep-alive connections in the shuting down processes
2007-03-19 13:20:15 +00:00
Igor Sysoev
e1f43ce292
worker processes did not exit after reconfiguration and
...
did not rotate logs if eventport was used
2007-03-07 10:25:16 +00:00
Igor Sysoev
b69d913c6f
style fix
2007-03-06 20:29:08 +00:00
Igor Sysoev
11d86a4457
style fix
2007-03-06 20:17:50 +00:00
Igor Sysoev
6c7f369010
bump version
2007-03-06 12:59:58 +00:00
Igor Sysoev
7746dc7897
style fix
2007-03-06 12:18:45 +00:00
Igor Sysoev
bd99c49794
avoid endless loop
2007-03-06 11:02:35 +00:00
Igor Sysoev
b32d04f07c
decrease log level from alert to debug for POLLERR|POLLHUP|POLLNVAL
2007-03-06 11:01:50 +00:00
Igor Sysoev
f259a3f910
use the contemporary directives
2007-02-21 11:50:39 +00:00
Igor Sysoev
40460bab8d
ngx_log_error() > ngx_conf_log_error()
2007-02-20 15:47:54 +00:00
Igor Sysoev
bb4c112fe5
use "goto" instead of indistinct "break"
2007-02-20 14:36:48 +00:00
Igor Sysoev
83fe66212f
stop on superfluous closing "}"
2007-02-20 14:33:26 +00:00
Igor Sysoev
b59f369077
bump version
2007-02-19 13:42:48 +00:00
Igor Sysoev
cf72935bc3
a client address must be allocated from a connection pool
...
to live through the keep-alive requests
2007-02-17 21:06:47 +00:00
Igor Sysoev
b4123b94ff
ioctl FIONBIO uses int, so nginx did not work on big-endian 64-bit platforms
2007-02-17 19:53:52 +00:00
Igor Sysoev
5473662c94
COPY and MOVE
...
fix PUT and DELETE to conform to WebDAV specification
2007-02-16 12:16:25 +00:00
Igor Sysoev
d74b66c82c
finalize request to allow post_action
2007-02-15 18:53:48 +00:00
Igor Sysoev
37a6905cb1
fix broken values, debug logging, and style fix
2007-02-15 15:05:26 +00:00
Igor Sysoev
e8722b8b98
optimize $http_x_forwarded_for
2007-02-15 15:04:36 +00:00
Igor Sysoev
cf815023fc
fix format
2007-02-15 14:13:24 +00:00
Igor Sysoev
bb19bcd867
close connection for too long commands
2007-02-15 13:30:19 +00:00
Igor Sysoev
9d58e4bed3
if client closes a connection prematurely, then epoll (at least
...
in Linux 2.6.16) sends EPOLLERR|EPOLLHUP|EPOLLIN only and writer
does not know about the error
2007-02-15 10:02:34 +00:00
Igor Sysoev
7b2d87ffa0
add debug logging
2007-02-15 10:00:59 +00:00
Igor Sysoev
65a7b8f988
return error for too long commands
2007-02-14 20:45:19 +00:00
Igor Sysoev
722231f407
ngx_strcasecmp()/ngx_strncasecmp()
2007-02-14 18:51:19 +00:00
Igor Sysoev
0ddd9d6e5e
fix building on platforms with non-supported atomic operations
2007-02-14 13:52:47 +00:00
Igor Sysoev
e5234d3e05
bump version
2007-02-12 15:37:36 +00:00
Igor Sysoev
7cc1ea31e9
correct r1100
2007-02-12 14:58:45 +00:00
Igor Sysoev
1131d87684
fix building with ngx_http_perl_module
2007-02-12 13:19:12 +00:00
Igor Sysoev
8e750112f6
fix building on platforms with non-supported atomic operations
2007-02-11 07:49:12 +00:00
Igor Sysoev
915ef4f7c8
fix segfault when a large FastCGI response was written to a temporary file
2007-02-09 14:02:42 +00:00
Igor Sysoev
f15b839a88
log a right subrequest
2007-02-09 13:49:14 +00:00
Igor Sysoev
f0b150faf8
fix segfault when $fastcgi_script_name is used in access_log
...
and there was bad request (400)
2007-02-09 11:56:23 +00:00
Igor Sysoev
e980185ee0
bump version
2007-02-05 14:49:52 +00:00
Igor Sysoev
0762f4e749
fix several ranges
2007-02-04 18:40:47 +00:00
Igor Sysoev
1e428098fb
style fix
2007-01-31 07:31:50 +00:00
Igor Sysoev
d1a0ee7fc7
allocate less memory on 64-bit platforms
2007-01-29 20:33:51 +00:00
Igor Sysoev
b8bfa20c91
shorten temporary names on 64-bit platforms
2007-01-29 20:28:00 +00:00
Igor Sysoev
e31625b60e
use ngx_dir_access() to enable search bits for directory
2007-01-29 12:25:44 +00:00
Igor Sysoev
e99305be7a
eliminate the useless space symbol
2007-01-29 11:54:36 +00:00
Igor Sysoev
8b57df9480
log a real response error code instead of "0"
2007-01-29 11:53:23 +00:00
Igor Sysoev
f51d4fea57
fix segfault if nginx was build with -O2 -fomit-frame-pointer,
...
r1082 did not fix the bug
the bug lived for a long time but became apparent when nginx was
built with gcc 4.0.x -O2 optimization
2007-01-29 11:52:25 +00:00
Igor Sysoev
92929b9799
bump version
2007-01-25 22:19:34 +00:00
Igor Sysoev
80a2901374
fix segfault if nginx was build with -O2 -fomit-frame-pointer
...
(at least by gcc 4.0.2 and 4.0.3)
2007-01-25 22:01:23 +00:00
Igor Sysoev
95ec258be3
fix online upgrade
2007-01-25 21:48:28 +00:00
Igor Sysoev
5f8e7365a1
bump version
2007-01-25 21:45:22 +00:00
Igor Sysoev
3dc4fdf4e0
$memcached_key
2007-01-25 08:45:41 +00:00
Igor Sysoev
cd5b99a045
undo "client_body_in_file_only any"
...
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-25 08:45:04 +00:00
Igor Sysoev
3a58cc90b5
fix "access_log off"
2007-01-24 09:15:25 +00:00
Igor Sysoev
64304df431
client_body_in_file_only any
2007-01-24 09:14:08 +00:00
Igor Sysoev
604a7d1da4
delete temporary file for incomplete small request body
2007-01-23 12:55:23 +00:00
Igor Sysoev
d0863c106d
log a failure of the writing to access_log once per minute
2007-01-21 19:01:01 +00:00
Igor Sysoev
300de4fb61
allow "sendfile" in "if" context
2007-01-21 17:42:28 +00:00
Igor Sysoev
8885f8736c
env
2007-01-20 19:26:48 +00:00
Igor Sysoev
354a4ef4e5
bump version
2007-01-19 19:48:48 +00:00
Igor Sysoev
36588962aa
fix segfault when a request body fits in r->header_in and
...
the body will be written to file
2007-01-19 16:13:15 +00:00
Igor Sysoev
8ff1e3251c
fix segfault when client_body_in_file_only is on, the body is not passed
...
to upstream, and nginx tries next upstream
2007-01-19 12:57:02 +00:00
Igor Sysoev
ae2006b2fe
a non-active client connection must not closed after send timeout
2007-01-19 12:22:32 +00:00
Igor Sysoev
66f76d2f72
style and comment fix
2007-01-19 11:35:26 +00:00
Igor Sysoev
8d6de94f5b
if client closes a connection prematurely, then epoll (at least
...
in Linux 2.6.18) sends EPOLLERR|EPOLLHUP|EPOLLIN only and writer
does not know about the error
2007-01-19 08:10:06 +00:00
Igor Sysoev
e95ea5b878
the PUTing to collection must return NGX_HTTP_BAD_REQUEST
2007-01-18 21:14:46 +00:00
Igor Sysoev
56331ba499
the "Overwrite" header line
2007-01-18 21:11:23 +00:00
Igor Sysoev
f5a359bdec
add size, access, and mtime to ngx_walk_tree()
2007-01-18 21:04:31 +00:00