aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-01-19README file updated with OFP performance patchHEADmasterKapil Hali
Signed-off-by: Kapil Hali <kapil.hali@linaro.org>
2016-01-19OFP event signal for handling socket operations such as accept and getKapil Hali
Signed-off-by: Kapil Hali <kapil.hali@linaro.org>
2015-12-10initial nginx draft changes for ofp-odpKapil Hali
Signed-off-by: Kapil Hali <kapil.hali@linaro.org>
2015-12-08release-1.9.8 tagMaxim Dounin
2015-12-08nginx-1.9.8-RELEASEMaxim Dounin
2015-12-08Slice filter: terminate first slice with last_in_chain flag.Roman Arutyunyan
This flag makes sub filter flush buffered data and optimizes allocation in copy filter.
2015-12-08Slice filter: never run subrequests when main request is buffered.Roman Arutyunyan
With main request buffered, it's possible, that a slice subrequest will send output before it. For example, while main request is waiting for aio read to complete, a slice subrequest can start an aio operation as well. The order in which aio callbacks are called is undetermined.
2015-12-08SSL: fixed possible segfault on renegotiation (ticket #845).Sergey Kandaurov
Skip SSL_CTX_set_tlsext_servername_callback in case of renegotiation. Do nothing in SNI callback as in this case it will be supplied with request in c->data which isn't expected and doesn't work this way. This was broken by b40af2fd1c16 (1.9.6) with OpenSSL master branch and LibreSSL.
2015-12-07Updated OpenSSL and PCRE used for win32 builds.Maxim Dounin
2015-12-07Added slice module to win32 builds.Maxim Dounin
2015-12-07Slice filter.Roman Arutyunyan
Splits a request into subrequests, each providing a specific range of response. The variable "$slice_range" must be used to set subrequest range and proper cache key. The directive "slice" sets slice size. The following example splits requests into 1-megabyte cacheable subrequests. server { listen 8000; location / { slice 1m; proxy_cache cache; proxy_cache_key $uri$is_args$args$slice_range; proxy_set_header Range $slice_range; proxy_cache_valid 200 206 1h; proxy_pass http://127.0.0.1:9000; } }
2015-12-07Upstream: fill r->headers_out.content_range from upstream response.Roman Arutyunyan
2015-12-02Core: fix typo in error message.Piotr Sikora
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2015-12-03Style: NGX_PTR_SIZE replaced with sizeof(void *).Maxim Dounin
The NGX_PTR_SIZE macro is only needed in preprocessor directives where it's not possible to use sizeof().
2015-12-02Style.Maxim Dounin
2015-11-30Stop emulating a space character after r->method_name.Ruslan Ermilov
This is an API change. The proxy module was modified to not depend on this in 44122bddd9a1. No known third-party modules seem to depend on this.
2015-11-06Proxy: improved code readability.Ruslan Ermilov
Do not assume that space character follows the method name, just pass it explicitly. The fuss around it has already proved to be unsafe, see bbdb172f0927 and http://mailman.nginx.org/pipermail/nginx-ru/2013-January/049692.html for details.
2015-11-30Reduced the number of GET method constants.Ruslan Ermilov
2015-11-30Increased the default "connection_pool_size" on 64-bit platforms.Valentin Bartenev
The previous default of 256 bytes isn't enough and results in two allocations on each accepted connection, which is suboptimal.
2015-11-30Configure: improved workaround for system perl on OS X.Ruslan Ermilov
The workaround from baf2816d556d stopped to work because the order of "-arch x86_64" and "-arch i386" has changed.
2015-11-30Configure: removed comment obsolete in 3b763d36e055.Ruslan Ermilov
2015-11-06Style: unified request method checks.Ruslan Ermilov
2015-11-23Core: enabled "include" inside http upstreams (ticket #635).Ruslan Ermilov
The directive already works inside stream upstream blocks.
2015-11-23Configure: fixed using OpenSSL include paths.Maxim Dounin
2015-11-21Upstream: fixed "no port" detection in evaluated upstreams.Ruslan Ermilov
If an upstream with variables evaluated to address without a port, then instead of a "no port in upstream" error an attempt was made to connect() which failed with EADDRNOTAVAIL.
2015-11-17Missing "variable" word added.Maxim Dounin
2015-11-17Used the pwritev() syscall for writing files where possible.Valentin Bartenev
It is more effective, because it doesn't require a separate lseek().
2015-11-17Moved file writev() handling code to a separate function.Valentin Bartenev
No functional changes.
2015-11-17Handled EINTR from write() and pwrite() syscalls.Valentin Bartenev
This is in addition to 6fce16b1fc10.
2015-11-17Adjusted file->sys_offset after the write() syscall.Valentin Bartenev
This fixes suboptimal behavior caused by surplus lseek() for sequential writes on systems without pwrite(). A consecutive read after write might result in an error on systems without pread() and pwrite(). Fortunately, at the moment there are no widely used systems without these syscalls.
2015-11-17Version bump.Valentin Bartenev
2015-11-17release-1.9.7 tagMaxim Dounin
2015-11-17nginx-1.9.7-RELEASEMaxim Dounin
2015-11-16Realip: the $realip_remote_addr variable.Ruslan Ermilov
2015-11-13HTTP/2: reused HEADERS and CONTINUATION frames buffers.Valentin Bartenev
2015-11-13HTTP/2: fixed handling of output HEADERS frames.Valentin Bartenev
The HEADERS frame is always represented by more than one buffer since b930e598a199, but the handling code hasn't been adjusted. Only the first buffer of HEADERS frame was checked and if it had been sent while others had not, the rest of the frame was dropped, resulting in broken connection. Before b930e598a199, the problem could only be seen in case of HEADERS frame with CONTINUATION.
2015-11-13HTTP/2: fixed invalid headers handling (ticket #831).Valentin Bartenev
The r->invalid_header flag wasn't reset once an invalid header appeared in a request, resulting in all subsequent headers in the request were also marked as invalid.
2015-11-11Upstream: proxy_cache_convert_head directive.Roman Arutyunyan
The directive toggles conversion of HEAD to GET for cacheable proxy requests. When disabled, $request_method must be added to cache key for consistency. By default, HEAD is converted to GET as before.
2015-11-05SSL: only select HTTP/2 using NPN if "http2" is enabled.Valentin Bartenev
OpenSSL doesn't check if the negotiated protocol has been announced. As a result, the client might force using HTTP/2 even if it wasn't enabled in configuration.
2015-11-05HTTP/2: backed out 16905ecbb49e (ticket #822).Valentin Bartenev
It caused inconsistency between setting "in_closed" flag and the moment when the last DATA frame was actually read. As a result, the body buffer might not be initialized properly in ngx_http_v2_init_request_body(), which led to a segmentation fault in ngx_http_v2_state_read_data(). Also it might cause start processing of incomplete body. This issue could be triggered when the processing of a request was delayed, e.g. in the limit_req or auth_request modules.
2015-10-30Fixed ngx_parse_time() out of bounds access (ticket #821).Maxim Dounin
The code failed to ensure that "s" is within the buffer passed for parsing when checking for "ms", and this resulted in unexpected errors when parsing non-null-terminated strings with trailing "m". The bug manifested itself when the expires directive was used with variables. Found by Roman Arutyunyan.
2015-10-26Syslog: added "nohostname" option.Vladimir Homutov
The option disables sending hostname in the syslog message header. This is useful with syslog daemons that do not expect it (tickets #677 and #783).
2015-10-27HTTP/2: changed behavior of the "http2_max_field_size" directive.Valentin Bartenev
Now it limits only the maximum length of literal string (either raw or compressed) in HPACK request header fields. It's easier to understand and to describe in the documentation.
2015-10-27HTTP/2: fixed spelling.Valentin Bartenev
2015-10-27Version bump.Valentin Bartenev
2015-10-27release-1.9.6 tagMaxim Dounin
2015-10-27nginx-1.9.6-RELEASEMaxim Dounin
2015-10-26HTTP/2: simplified checking the END_STREAM flag.Valentin Bartenev
No functional changes.
2015-10-26HTTP/2: improved the ngx_http_v2_integer_octets(v) macro.Valentin Bartenev
Previously, it didn't work well for 0, 127, and 128, returning less than needed.
2015-10-26HTTP/2: fixed the NGX_HTTP_V2_MAX_FIELD macro.Valentin Bartenev