aboutsummaryrefslogtreecommitdiff
path: root/src/imap/ngx_imap_core_module.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2005-12-07 14:51:31 +0000
committerIgor Sysoev <igor@sysoev.ru>2005-12-07 14:51:31 +0000
commitcdc463042b9406e4703d21202bc363e86321bb5d (patch)
tree1f6d050377dafbf42bb3d7c8c7e15e86939500ff /src/imap/ngx_imap_core_module.c
parentc20f0c28ff5478dcafd2ce2e5056da3757eb62ff (diff)
downloadnginx-cdc463042b9406e4703d21202bc363e86321bb5d.tar.gz
nginx-cdc463042b9406e4703d21202bc363e86321bb5d.zip
nginx-0.3.15-RELEASE importrelease-0.3.15
*) Feature: the new 444 code of the "return" directive to close connection. *) Feature: the "so_keepalive" directive in IMAP/POP3 proxy. *) Bugfix: if there are unclosed connection nginx now calls abort() only on gracefull quit and active "debug_points" directive.
Diffstat (limited to 'src/imap/ngx_imap_core_module.c')
-rw-r--r--src/imap/ngx_imap_core_module.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/imap/ngx_imap_core_module.c b/src/imap/ngx_imap_core_module.c
index e805a8161..44484acc8 100644
--- a/src/imap/ngx_imap_core_module.c
+++ b/src/imap/ngx_imap_core_module.c
@@ -75,6 +75,13 @@ static ngx_command_t ngx_imap_core_commands[] = {
offsetof(ngx_imap_core_srv_conf_t, imap_client_buffer_size),
NULL },
+ { ngx_string("so_keepalive"),
+ NGX_IMAP_MAIN_CONF|NGX_IMAP_SRV_CONF|NGX_CONF_FLAG,
+ ngx_conf_set_flag_slot,
+ NGX_IMAP_SRV_CONF_OFFSET,
+ offsetof(ngx_imap_core_srv_conf_t, so_keepalive),
+ NULL },
+
{ ngx_string("timeout"),
NGX_IMAP_MAIN_CONF|NGX_IMAP_SRV_CONF|NGX_CONF_TAKE1,
ngx_conf_set_msec_slot,
@@ -156,8 +163,9 @@ ngx_imap_core_create_srv_conf(ngx_conf_t *cf)
}
cscf->imap_client_buffer_size = NGX_CONF_UNSET_SIZE;
- cscf->timeout = NGX_CONF_UNSET_MSEC;
cscf->protocol = NGX_CONF_UNSET_UINT;
+ cscf->timeout = NGX_CONF_UNSET_MSEC;
+ cscf->so_keepalive = NGX_CONF_UNSET;
if (ngx_array_init(&cscf->pop3_capabilities, cf->pool, 4, sizeof(ngx_str_t))
!= NGX_OK)
@@ -192,6 +200,7 @@ ngx_imap_core_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
ngx_conf_merge_msec_value(conf->timeout, prev->timeout, 60000);
ngx_conf_merge_unsigned_value(conf->protocol, prev->protocol,
NGX_IMAP_IMAP_PROTOCOL);
+ ngx_conf_merge_value(conf->so_keepalive, prev->so_keepalive, 0);
if (conf->pop3_capabilities.nelts == 0) {