summaryrefslogtreecommitdiffhomepage
path: root/src/mail/ngx_mail.c (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2021-03-05Mail: parsing of the PROXY protocol from clients.Maxim Dounin1-0/+2
Activated with the "proxy_protocol" parameter of the "listen" directive. Obtained information is passed to the auth_http script in Proxy-Protocol-Addr, Proxy-Protocol-Port, Proxy-Protocol-Server-Addr, and Proxy-Protocol-Server-Port headers.
2019-03-15Multiple addresses in "listen".Roman Arutyunyan1-36/+6
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.
2017-04-03Mail: configurable socket buffer sizes.Vladimir Homutov1-0/+2
The "rcvbuf" and "sndbuf" parameters are now supported by the "listen" directive.
2016-10-03Modules compatibility: removed unneeded IPV6_V6ONLY checks.Maxim Dounin1-1/+1
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.
2016-06-20Introduced ngx_inet_get_port() and ngx_inet_set_port() functions.Roman Arutyunyan1-25/+1
2016-05-23Renamed "u" to "sockaddr" in listen options types.Maxim Dounin1-10/+10
2016-02-04Dynamic modules: changed ngx_modules to cycle->modules.Maxim Dounin1-8/+8
2016-02-04Dynamic modules: moved module-related stuff to separate files.Maxim Dounin1-8/+1
2015-06-16Disabled duplicate http, mail, and stream blocks.Vladimir Homutov1-0/+4
Such configurations have very limited use, introduce various problems and are not officially supported.
2015-06-08Mail: listen backlog=.Ruslan Ermilov1-0/+2
2015-06-08Mail: embed ngx_mail_listen_t into ngx_mail_conf_addr_t.Ruslan Ermilov1-42/+27
2015-05-20Simplified ngx_http_init_listening().Maxim Dounin1-7/+1
There is no need to set "i" to 0, as it's expected to be 0 assuming the bindings are properly sorted, and we already rely on this when explicitly set hport->naddrs to 1. Remaining conditional code is replaced with identical "hport->naddrs = i + 1". Identical modifications are done in the mail and stream modules, in the ngx_mail_optimize_servers() and ngx_stream_optimize_servers() functions, respectively. No functional changes.
2015-04-29Removed the deprecated "imap" directive.Ruslan Ermilov1-13/+0
2015-02-20Mail: error_log support.Vladimir Homutov1-7/+9
2015-01-23Mail: fixed a comment.Ruslan Ermilov1-1/+1
2014-08-20Mail: fixed a comment.Valentin Bartenev1-2/+1
There's no loc_conf in the mail module.
2013-07-11Style.Maxim Dounin1-1/+1
2013-07-11Core: extended ngx_sock_ntop() with socklen parameter.Vladimir Homutov1-2/+4
On Linux, sockaddr length is required to process unix socket addresses properly due to unnamed sockets (which don't have sun_path set at all) and abstract namespace sockets.
2012-08-17Mail: fixed handling of AF_UNIX addresses in "listen".Ruslan Ermilov1-0/+6
This makes AF_UNIX addresses in mail officially supported.
2012-08-17Mail: fixed sorting of listen addresses (ticket #187).Ruslan Ermilov1-0/+5
For http module this problem was already fixed in r4756.
2012-01-18Copyright updated.Maxim Konovalov1-0/+1
2011-12-05Added the "so_keepalive=" parameter to the "listen" directive.Valentin Bartenev1-0/+13
The "so_keepalive" directive in mail module was deprecated. Thanks to Vsevolod Stakhov for initial work.
2009-05-18mail proxy listen IPv6 supportIgor Sysoev1-121/+237
2009-05-05ngx_create_listening()Igor Sysoev1-49/+7
2009-05-04delete ngx_listening_inet_stream_socket()Igor Sysoev1-3/+47
2009-05-04axe imap module artifactsIgor Sysoev1-25/+25
2009-04-30*) refactor error_log processing: listen socket log might inherit built-inIgor Sysoev1-3/+2
error_log with zero level, and r2447, r2466, r2467 were not enough *) remove bogus "stderr" level *) some functions and fields renames
2008-09-01*) listen sslIgor Sysoev1-0/+7
*) no default ssl_cetificate and ssl_cetificate_key
2008-08-21*) remove zero termination in ngx_inet_ntop() and ngx_sock_ntop()Igor Sysoev1-2/+2
*) use ngx_snprintf() in ngx_inet_ntop() and ngx_sock_ntop() as they are called just once per connection *) NGX_INET_ADDRSTRLEN
2008-06-17*) back out r2040Igor Sysoev1-2/+2
*) refactor ngx_palloc() *) introduce ngx_pnalloc() *) additional pool blocks have smaller header
2008-03-24use ngx_int_t in ngx_sort() callbackIgor Sysoev1-2/+2
2007-09-15ngx_mail_pop3_module, ngx_mail_imap_module, and ngx_mail_smtp_moduleIgor Sysoev1-2/+4
2007-08-09set default listen() backlog to 511 on all platforms except FreeBSDIgor Sysoev1-1/+1
2007-05-21use stable search where it is requiredIgor Sysoev1-5/+4
2007-03-19Many changes:Igor Sysoev1-52/+65
*) rename imap to mail, sort pop3/imap functions *) smtp auth support *) pop3 starttls only *) fix segfault if cram-md5 was used without apop
2006-04-26nginx-0.3.42-RELEASE importrelease-0.3.42Igor Sysoev1-1/+209
*) Feature: the "bind" option of the "listen" directive in IMAP/POP3 proxy. *) Bugfix: if the same capture in the "rewrite" directive was used more then once. *) Bugfix: the $sent_http_content_type, $sent_http_content_length, $sent_http_last_modified, $sent_http_connection, $sent_http_keep_alive, and $sent_http_transfer_encoding variables were not written to access log. *) Bugfix: the $sent_http_cache_control returned value of the single "Cache-Control" response header line.
2005-11-15nginx-0.3.10-RELEASE importrelease-0.3.10Igor Sysoev1-8/+8
*) Change: the "valid_referers" directive and the "$invalid_referer" variable were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module. *) Change: the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent". *) Feature: the "$sent_http_..." variables. *) Feature: the "if" directive supports the "=" and "!=" operations. *) Feature: the "proxy_pass" directive supports the HTTPS protocol. *) Feature: the "proxy_set_body" directive. *) Feature: the "post_action" directive. *) Feature: the ngx_http_empty_gif_module. *) Feature: the "worker_cpu_affinity" directive for Linux. *) Bugfix: the "rewrite" directive did not unescape URI part in redirect, now it is unescaped except the %00-%25 and %7F-%FF characters. *) Bugfix: nginx could not be built by the icc 9.0 compiler. *) Bugfix: if the SSI was enabled for zero size static file, then the chunked response was encoded incorrectly.
2005-09-08nginx-0.1.45-RELEASE importrelease-0.1.45Igor Sysoev1-1/+7
*) Change: the "ssl_engine" directive was canceled in the ngx_http_ssl_module and now is introduced at global level. *) Bugfix: the responses with SSI subrequests did not transferred via SSL connection. *) Various bug fixes in the IMAP/POP3 proxy.
2005-06-07nginx-0.1.35-RELEASE importrelease-0.1.35Igor Sysoev1-12/+134
*) Feature: the "working_directory" directive. *) Feature: the "port_in_redirect" directive. *) Bugfix: the segmentation fault was occurred if the backend response header was in several packets; the bug had appeared in 0.1.29. *) Bugfix: if more than 10 servers were configured or some server did not use the "listen" directive, then the segmentation fault was occurred on the start. *) Bugfix: the segmentation fault might occur if the response was bigger than the temporary file. *) Bugfix: nginx returned the 400 response on requests like "GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in 0.1.28.
2005-05-12nginx-0.1.29-RELEASE importrelease-0.1.29Igor Sysoev1-1/+1
*) Feature: the ngx_http_ssi_module supports "include virtual" command. *) Feature: the ngx_http_ssi_module supports the condition command like 'if expr="$NAME"' and "else" and "endif" commands. Only one nested level is supported. *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables and "config timefmt" command. *) Feature: the "ssi_ignore_recycled_buffers" directive. *) Bugfix: the "echo" command did not show the default value for the empty QUERY_STRING variable. *) Change: the ngx_http_proxy_module was rewritten. *) Feature: the "proxy_redirect", "proxy_pass_request_headers", "proxy_pass_request_body", and "proxy_method" directives. *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was canceled and must be replaced with the proxy_set_header directive. *) Change: the "proxy_preserve_host" is canceled and must be replaced with the "proxy_set_header Host $host" and the "proxy_redirect off" directives, the "proxy_set_header Host $host:$proxy_port" directive and the appropriate proxy_redirect directives. *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced with the "proxy_set_header X-Real-IP $remote_addr" directive. *) Change: the "proxy_add_x_forwarded_for" is canceled and must be replaced with the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for" directive. *) Change: the "proxy_set_x_url" is canceled and must be replaced with the "proxy_set_header X-URL http://$host:$server_port$request_uri" directive. *) Feature: the "fastcgi_param" directive. *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive are canceled and must be replaced with the fastcgi_param directives. *) Feature: the "index" directive can use the variables. *) Feature: the "index" directive can be used at http and server levels. *) Change: the last index only in the "index" directive can be absolute. *) Feature: the "rewrite" directive can use the variables. *) Feature: the "internal" directive. *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables. *) Change: nginx now passes the invalid lines in a client request headers or a backend response header. *) Bugfix: if the backend did not transfer response for a long time and the "send_timeout" was less than "proxy_read_timeout", then nginx returned the 408 response. *) Bugfix: the segmentation fault was occurred if the backend sent an invalid line in response header; the bug had appeared in 0.1.26. *) Bugfix: the segmentation fault may occurred in FastCGI fault tolerance configuration. *) Bugfix: the "expires" directive did not remove the previous "Expires" and "Cache-Control" headers. *) Bugfix: nginx did not take into account trailing dot in "Host" header line. *) Bugfix: the ngx_http_auth_module did not work under Linux. *) Bugfix: the rewrite directive worked incorrectly, if the arguments were in a request. *) Bugfix: nginx could not be built on MacOS X.
2004-09-29nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyrightIgor Sysoev1-1/+1
2004-09-28nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused filesIgor Sysoev1-0/+5
2004-09-09nginx-0.0.10-2004-09-09-19:40:48 importIgor Sysoev1-0/+1
2004-09-07nginx-0.0.10-2004-09-07-19:29:22 importIgor Sysoev1-1/+28
2004-09-05nginx-0.0.10-2004-09-05-23:54:02 importIgor Sysoev1-0/+0
2004-08-31nginx-0.0.10-2004-08-31-23:05:39 importIgor Sysoev1-0/+34