Commit Graph

170 Commits

Author SHA1 Message Date
Ruslan Ermilov da7d48ca9f Merged with the default branch. 2021-12-24 15:53:59 +03:00
Ruslan Ermilov 9cfe1fb704 Moved Huffman coding out of HTTP/2.
ngx_http_v2_huff_decode.c and ngx_http_v2_huff_encode.c are renamed
to ngx_http_huff_decode.c and ngx_http_huff_encode.c.
2021-12-21 07:54:16 +03:00
Vladimir Homutov 906023d724 Core: the ngx_event_udp.h header file. 2021-07-12 16:40:57 +03:00
Vladimir Homutov b16ca606b1 QUIC: moved all quic sources into src/event/quic. 2020-12-25 14:01:28 +03:00
Maxim Dounin b8dd2ddff6 Win32: added WSAPoll() support.
WSAPoll() is only available with Windows Vista and newer (and only
available during compilation if _WIN32_WINNT >= 0x0600).  To make
sure the code works with Windows XP, we do not redefine _WIN32_WINNT,
but instead load WSAPoll() dynamically if it is not available during
compilation.

Also, sockets are not guaranteed to be small integers on Windows.
So an index array is used instead of NGX_USE_FD_EVENT to map
events to connections.
2019-01-24 21:51:21 +03:00
Roman Arutyunyan 07270ff0ca Events: moved ngx_recvmsg() to new file src/event/ngx_event_udp.c. 2018-06-01 16:55:49 +03:00
Roman Arutyunyan bb3fcf3e3f Stream: filters. 2016-09-15 14:55:46 +03:00
Maxim Dounin c2e391c832 An internal SHA1 implementation. 2016-06-09 16:55:38 +03:00
Roman Arutyunyan 4221836322 Stream: UDP proxy. 2016-01-20 19:52:12 +03:00
Maxim Dounin ab19074ae2 Dynamic modules: auto/module script.
This script simplifies configuration of additional modules,
including 3rd party ones.  The script is extensible, and
will be used to introduce dynamic linking of modules in upcoming
changes.

3rd party module config scripts are called with ngx_module_link
preset to "ADDON" - this allows config scripts to call auto/module
without ngx_module_link explicitly defined, as well as testing if
new interface is in place if compatibility with older nginx versions
is desired.

In collaboration with Ruslan Ermilov.
2016-02-04 18:30:21 +03:00
Maxim Dounin 875356ff27 Dynamic modules: dlopen() support. 2016-02-04 18:30:21 +03:00
Maxim Dounin b1c24662c3 Dynamic modules: moved module-related stuff to separate files. 2016-02-04 18:30:21 +03:00
Roman Arutyunyan 2ed10244f9 Slice filter.
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-07 16:30:48 +03:00
Ruslan Ermilov 9fb313832a Configure: removed comment obsolete in 3b763d36e055. 2015-11-30 19:01:53 +03:00
Valentin Bartenev 02f6fb29a2 The HTTP/2 implementation (RFC 7240, 7241).
The SPDY support is removed, as it's incompatible with the new module.
2015-09-11 20:13:06 +03:00
Vladimir Homutov 0262c3d9c6 Stream: connection limiting module.
stream {
    limit_conn_zone $binary_remote_addr zone=perip:1m;
    limit_conn_log_level error;

    server {
        ...
        limit_conn perip 1;
    }
}
2015-06-18 14:17:30 +03:00
Maxim Dounin 08a4e52aa8 Moved ngx_http_parse_time() to core, renamed accordingly.
The function is now called ngx_parse_http_time(), and can be used by
any code to parse HTTP-style date and time.  In particular, it will be
used for OCSP stapling.

For compatibility, a macro to map ngx_http_parse_time() to the new name
provided for a while.
2015-06-11 20:42:31 +03:00
Vladimir Homutov ba1eec3b04 Stream: access module.
stream {
    server {
        ...
        allow 127.0.0.1;
        deny all;
    }
}
2015-06-04 13:04:12 +03:00
Ruslan Ermilov 71b90a9bdd Removed the obsolete rtsig module. 2015-04-23 14:17:40 +03:00
Ruslan Ermilov 90fca2303b Removed the obsolete aio module. 2015-04-22 18:57:32 +03:00
Ruslan Ermilov c6d6ff095f Stream: port from NGINX+. 2015-04-20 13:05:11 +03:00
Ruslan Ermilov fb2cb325d9 Upstream: the "zone" directive.
Upstreams with the "zone" directive are kept in shared memory,
with a consistent view of all worker processes.
2015-04-14 19:01:25 +03:00
Ruslan Ermilov ec8cab3f7f Core: read/write locks. 2015-03-21 14:05:08 +03:00
Ruslan Ermilov fbfd78c669 Removed busy locks. 2015-03-20 06:45:32 +03:00
Ruslan Ermilov 1d16dc7eea Removed old pthread implementation. 2015-03-20 06:43:19 +03:00
Ruslan Ermilov 891c8a01c4 Removed old FreeBSD rfork() thread implementation. 2015-03-20 06:43:19 +03:00
Valentin Bartenev 065a0f544a Thread pools implementation. 2015-03-14 17:37:07 +03:00
Roman Arutyunyan 3846484df1 Upstream: generic hash module. 2014-06-02 16:16:22 +04:00
Vladimir Homutov 4b60d6a406 Added syslog support for error_log and access_log directives. 2014-05-12 16:34:15 +04:00
Roman Arutyunyan db53bb57ad Added server-side support for PROXY protocol v1 (ticket #355).
Client address specified in the PROXY protocol header is now
saved in the $proxy_protocol_addr variable and can be used in
the realip module.

This is currently not implemented for mail.
2014-03-17 17:41:24 +04:00
Maxim Dounin b261aefe78 Auth request module import. 2013-08-21 19:19:47 +04:00
Valentin Bartenev c9594dd61c Preliminary experimental support for SPDY draft 2. 2013-03-20 10:36:57 +00:00
Maxim Dounin f82645a67a OCSP stapling: ssl_stapling_file support.
Very basic version without any OCSP responder query code, assuming valid
DER-encoded OCSP response is present in a ssl_stapling_file configured.

Such file might be produced with openssl like this:

openssl ocsp -issuer root.crt -cert domain.crt -respout domain.staple \
             -url http://ocsp.example.com
2012-10-01 12:41:08 +00:00
Maxim Dounin 1187730f7b Gunzip filter import. 2012-09-10 16:52:47 +00:00
Maxim Dounin 57fb58a1e8 Upstream: least_conn balancer module. 2012-06-03 23:21:26 +00:00
Ruslan Ermilov 448f8672fd worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support. 2012-03-21 13:58:51 +00:00
Maxim Konovalov 0330b7ef84 Copyright updated. 2012-01-18 15:07:43 +00:00
Valentin Bartenev 498cc8846a Added support for regex study and PCRE JIT (ticket #41) optimizations on
configuration phase.
2011-12-26 13:10:36 +00:00
Valentin Bartenev 86fc57edd5 Renamed ngx_http_limit_zone_module to ngx_http_limit_conn_module. 2011-11-14 14:04:42 +00:00
Maxim Dounin 01923d7828 Upstream keepalive module. 2011-09-15 19:28:18 +00:00
Igor Sysoev 97b9bde764 ngx_http_mp4_module 2011-09-09 10:22:34 +00:00
Igor Sysoev 2cd05c70d8 "$apr1", "{PLAIN}", and "{SSHA}" password methods in auth basic module
patch by Maxim Dounin
2011-05-16 14:54:50 +00:00
Igor Sysoev d3292d115b an internal MD5 implemenation
patch by Maxim Dounin
2011-04-15 15:58:06 +00:00
Igor Sysoev 4210c99839 ngx_murmur_hash2() 2011-04-15 10:59:24 +00:00
Igor Sysoev 8c0c0c4231 ngx_http_scgi_module 2010-06-18 15:51:14 +00:00
Igor Sysoev 171cb44cd0 import original ngx_http_uwsgi_module version 2010-06-01 15:53:11 +00:00
Igor Sysoev 294b17b1c4 ngx_http_split_clients_module 2010-05-14 09:02:10 +00:00
Igor Sysoev 572e4d890e ngx_http_degradation_module 2009-11-16 12:20:00 +00:00
Igor Sysoev 6ae55a7a8f FreeBSD and Linux AIO support 2009-08-28 08:12:35 +00:00
Igor Sysoev 83a626137c ngx_http_geoip_module 2009-07-20 07:10:43 +00:00