aboutsummaryrefslogtreecommitdiff
path: root/src/stream/ngx_stream.h
Commit message (Collapse)AuthorAge
* Stream: the "setfib" parameter of the "listen" directive.Sergey Kandaurov2024-03-22
| | | | The FreeBSD SO_SETFIB support.
* Stream: the "accept_filter" parameter of the "listen" directive.Sergey Kandaurov2024-03-22
| | | | The FreeBSD accept filters support.
* Stream: the "deferred" parameter of the "listen" directive.Sergey Kandaurov2024-03-22
| | | | The Linux TCP_DEFER_ACCEPT support.
* Stream: reshuffled ngx_stream_listen_opt_t fields.Sergey Kandaurov2024-03-22
| | | | | | In preparation for adding more parameters to the listen directive, and to be in sync with the corresponding structure in the http module. No functional changes.
* Stream: virtual servers.Roman Arutyunyan2023-12-14
| | | | | | | | | Server name is taken either from ngx_stream_ssl_module or ngx_stream_ssl_preread_module. The change adds "default_server" parameter to the "listen" directive, as well as the following directives: "server_names_hash_max_size", "server_names_hash_bucket_size", "server_name" and "ssl_reject_handshake".
* Stream: the "fastopen" parameter of the "listen" directive.Ruslan Ermilov2021-05-20
| | | | Based on a patch by Anbang Wen.
* Limit conn: $limit_conn_status variable.Roman Arutyunyan2019-11-18
| | | | The variable takes one of the values: PASSED, REJECTED or REJECTED_DRY_RUN.
* Multiple addresses in "listen".Roman Arutyunyan2019-03-15
| | | | | | Previously only one address was used by the listen directive handler even if host name resolved to multiple addresses. Now a separate listening socket is created for each address.
* Stream: configurable socket buffer sizes.Vladimir Homutov2017-04-03
| | | | | The "rcvbuf" and "sndbuf" parameters are now supported by the "listen" directive.
* Variables: generic prefix variables.Dmitry Volyntsev2017-01-31
|
* Modules compatibility: removed dependencies on NGX_STREAM_SSL.Maxim Dounin2016-10-10
| | | | | External structures are now identical regardless of stream SSL module compiled in or not.
* Modules compatibility: removed unneeded NGX_HAVE_REUSEPORT checks.Maxim Dounin2016-10-03
| | | | Removed NGX_HAVE_REUSEPORT from the signature accordingly.
* Modules compatibility: removed unneeded IPV6_V6ONLY checks.Maxim Dounin2016-10-03
| | | | | | | | | | The IPV6_V6ONLY macro is now checked only while parsing appropriate flag and when using the macro. The ipv6only field in listen structures is always initialized to 1, even if not supported on a given platform. This is expected to prevent a module compiled without IPV6_V6ONLY from accidentally creating dual sockets if loaded into main binary with proper IPV6_V6ONLY support.
* Modules compatibility: status fields.Maxim Dounin2016-09-29
|
* Modules compatibility: health check fields.Maxim Dounin2016-09-29
|
* Stream: preread phase.Vladimir Homutov2016-09-15
| | | | | | | | | | | | In this phase, head of a stream is read and analysed before proceeding to the content phase. Amount of data read is controlled by the module implementing the phase, but not more than defined by the "preread_buffer_size" directive. The time spent on processing preread is controlled by the "preread_timeout" directive. The typical preread phase module will parse the beginning of a stream and set variable that may be used by the content phase, for example to make routing decision.
* Stream: phases.Roman Arutyunyan2016-09-15
|
* Stream: filters.Roman Arutyunyan2016-09-15
|
* Stream: realip module.Dmitry Volyntsev2016-09-01
|
* Stream: the "proxy_protocol" parameter of the "listen" directive.Dmitry Volyntsev2016-09-06
|
* Stream: postpone session initialization under accept mutex.Dmitry Volyntsev2016-09-06
| | | | | | | Previously, it was possible that some system calls could be invoked while holding the accept mutex. This is clearly wrong as it prevents incoming connections from being accepted as quickly as possible.
* Stream: log module.Vladimir Homutov2016-09-05
|
* Stream: the $upstream_addr variable.Vladimir Homutov2016-09-02
| | | | | | Keeps the full address of the upstream server. If several servers were contacted during proxying, their addresses are separated by commas, e.g. "192.168.1.1:80, 192.168.1.2:80".
* Stream: the $status variable.Roman Arutyunyan2016-08-11
| | | | | | | | | | The stream session status is one of the following: 200 - normal completion 403 - access forbidden 500 - internal server error 502 - bad gateway 503 - limit conn
* Stream: the $session_time variable.Vladimir Homutov2016-08-26
| | | | The variable keeps time spent on processing the stream session.
* Ensure "listen" exists in a mail or stream server (ticket #1049).Roman Arutyunyan2016-08-17
|
* Fixed wrong type of the "line" field.Roman Arutyunyan2016-08-18
| | | | The new type ngx_uint_t was supposed when formatting the line number.
* Stream: resolver.Vladimir Homutov2016-07-07
|
* Stream: variables and script.Vladimir Homutov2016-07-04
| | | | This is a port of corresponding http code with unrelated features excluded.
* Stream: added preconfiguration step.Vladimir Homutov2016-06-15
|
* Renamed "u" to "sockaddr" in listen options types.Maxim Dounin2016-05-23
|
* Introduced the ngx_sockaddr_t type.Ruslan Ermilov2016-05-23
| | | | It's properly aligned and can hold any supported sockaddr.
* Use ngx_cmp_sockaddr() where appropriate.Ruslan Ermilov2016-05-20
|
* Stream: UDP proxy.Roman Arutyunyan2016-01-20
|
* Stream: the "tcp_nodelay" directive.Vladimir Homutov2015-08-10
|
* Stream: connection limiting module.Vladimir Homutov2015-06-18
| | | | | | | | | | | | stream { limit_conn_zone $binary_remote_addr zone=perip:1m; limit_conn_log_level error; server { ... limit_conn perip 1; } }
* Stream: access module.Vladimir Homutov2015-06-04
| | | | | | | | | | stream { server { ... allow 127.0.0.1; deny all; } }
* Stream: added postconfiguration method to stream modules.Vladimir Homutov2015-06-09
|
* Stream: listen backlog=.Ruslan Ermilov2015-06-08
|
* Stream: embed ngx_stream_listen_t into ngx_stream_conf_addr_t.Ruslan Ermilov2015-06-08
|
* Stream: fixed "reuseport" to actually work.Ruslan Ermilov2015-06-05
|
* The "reuseport" option of the "listen" directive.Maxim Dounin2015-05-20
| | | | | | | | | | | | | | | When configured, an individual listen socket on a given address is created for each worker process. This allows to reduce in-kernel lock contention on configurations with high accept rates, resulting in better performance. As of now it works on Linux and DragonFly BSD. Note that on Linux incoming connection requests are currently tied up to a specific listen socket, and if some sockets are closed, connection requests will be reset, see https://lwn.net/Articles/542629/. With nginx, this may happen if the number of worker processes is reduced. There is no such problem on DragonFly BSD. Based on previous work by Sepherosa Ziehau and Yingqi Lu.
* Core: the ngx_set_connection_log() macro.Vladimir Homutov2015-04-25
| | | | The http and stream versions of this macro were identical.
* Stream: port from NGINX+.Ruslan Ermilov2015-04-20