]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imapc: Added imapc_cmd_timeout setting to control the command wait timeouts.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Sun, 24 Jan 2016 15:41:01 +0000 (17:41 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Sun, 24 Jan 2016 15:41:01 +0000 (17:41 +0200)
src/lib-storage/index/imapc/imapc-settings.c
src/lib-storage/index/imapc/imapc-settings.h
src/lib-storage/index/imapc/imapc-storage.c

index d05e05edd71dba616f1383d100227aa237a6782c..60d2ba2337f90f18e7b60e79a1021fd8a4db584c 100644 (file)
@@ -28,6 +28,7 @@ static const struct setting_define imapc_setting_defines[] = {
        DEF(SET_STR, imapc_features),
        DEF(SET_STR, imapc_rawlog_dir),
        DEF(SET_STR, imapc_list_prefix),
+       DEF(SET_TIME, imapc_cmd_timeout),
        DEF(SET_TIME, imapc_max_idle_time),
 
        DEF(SET_STR, pop3_deleted_flag),
@@ -50,6 +51,7 @@ static const struct imapc_settings imapc_default_settings = {
        .imapc_features = "",
        .imapc_rawlog_dir = "",
        .imapc_list_prefix = "",
+       .imapc_cmd_timeout = 5*60,
        .imapc_max_idle_time = 60*29,
 
        .pop3_deleted_flag = ""
index 6d9c861428c6e4c116001c3044b23e9f5e331f0a..d4c7a62882084c2d53fa32fc98434dcda143affb 100644 (file)
@@ -32,6 +32,7 @@ struct imapc_settings {
        const char *imapc_features;
        const char *imapc_rawlog_dir;
        const char *imapc_list_prefix;
+       unsigned int imapc_cmd_timeout;
        unsigned int imapc_max_idle_time;
 
        const char *pop3_deleted_flag;
index 217d2fbe2fdb72dfbe2441c787d3fc7652d77403..da2295fbfd68903024444e1d6c1db03938acb23d 100644 (file)
@@ -266,6 +266,7 @@ int imapc_storage_client_create(struct mail_namespace *ns,
        }
        set.sasl_mechanisms = imapc_set->imapc_sasl_mechanisms;
        set.use_proxyauth = (imapc_set->parsed_features & IMAPC_FEATURE_PROXYAUTH) != 0;
+       set.cmd_timeout_msecs = imapc_set->imapc_cmd_timeout * 1000;
        set.max_idle_time = imapc_set->imapc_max_idle_time;
        set.dns_client_socket_path = *ns->user->set->base_dir == '\0' ? "" :
                t_strconcat(ns->user->set->base_dir, "/",