/* Copyright (c) 2011-2018 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "settings-parser.h"
#include "mail-storage-settings.h"
#include "imapc-settings.h"
#include <stddef.h>
};
.imapc_host = "",
.imapc_port = 143,
.imapc_user = "",
.imapc_master_user = "",
.imapc_password = "",
.imapc_sasl_mechanisms = "",
.imapc_ssl = "no:imaps:starttls",
.imapc_ssl_verify = TRUE,
.imapc_features = "",
.imapc_rawlog_dir = "",
.imapc_list_prefix = "",
.imapc_connection_retry_interval = 1000,
.imapc_max_line_length = 0,
.pop3_deleted_flag = ""
};
.module_name = "imapc",
.struct_size = sizeof(struct imapc_settings),
};
{
return &imapc_setting_parser_info;
}
/* <settings checks> */
struct imapc_feature_list {
const char *name;
};
{ "rfc822.size", IMAPC_FEATURE_RFC822_SIZE },
{ "guid-forced", IMAPC_FEATURE_GUID_FORCED },
{ "fetch-headers", IMAPC_FEATURE_FETCH_HEADERS },
{ "gmail-migration", IMAPC_FEATURE_GMAIL_MIGRATION },
{ "search", IMAPC_FEATURE_SEARCH },
{ "zimbra-workarounds", IMAPC_FEATURE_ZIMBRA_WORKAROUNDS },
{ "no-examine", IMAPC_FEATURE_NO_EXAMINE },
{ "proxyauth", IMAPC_FEATURE_PROXYAUTH },
{ "fetch-msn-workarounds", IMAPC_FEATURE_FETCH_MSN_WORKAROUNDS },
{ "fetch-fix-broken-mails", IMAPC_FEATURE_FETCH_FIX_BROKEN_MAILS },
{ "modseq", IMAPC_FEATURE_MODSEQ },
{ "delay-login", IMAPC_FEATURE_DELAY_LOGIN },
{ "fetch-bodystructure", IMAPC_FEATURE_FETCH_BODYSTRUCTURE },
{ "send-id", IMAPC_FEATURE_SEND_ID },
{ "fetch-empty-is-expunged", IMAPC_FEATURE_FETCH_EMPTY_IS_EXPUNGED },
{ "no-msn-updates", IMAPC_FEATURE_NO_MSN_UPDATES },
{ NULL, 0 }
};
static int
const char *throttle_str, const char **error_r)
{
const char *const *tmp;
*error_r = "imapc_features: Invalid throttle settings";
return -1;
}
return 0;
}
static int
const char **error_r)
{
const char *const *str;
break;
}
}
return -1;
continue;
}
"Unknown feature: %s", *str);
return -1;
}
}
return 0;
}
const char **error_r)
{
if (set->imapc_max_idle_time == 0) {
*error_r = "imapc_max_idle_time must not be 0";
return FALSE;
}
return FALSE;
return TRUE;
}