diff src/imap/ngx_imap_core_module.c @ 587:284cc140593b release-0.3.15

nginx-0.3.15-RELEASE import *) 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.
author Igor Sysoev <igor@sysoev.ru>
date Wed, 07 Dec 2005 14:51:31 +0000
parents 4e296b7d25bf
children 7a16e281c01f
line wrap: on
line diff
--- 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_comm
       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
     }
 
     cscf->imap_client_buffer_size = NGX_CONF_UNSET_SIZE;
+    cscf->protocol = NGX_CONF_UNSET_UINT;
     cscf->timeout = NGX_CONF_UNSET_MSEC;
-    cscf->protocol = NGX_CONF_UNSET_UINT;
+    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 
     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) {