imapc-settings.c revision 53841bd6c67a24b60b64cec41b72eb8b474cfbc7
/* Copyright (c) 2011-2016 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>
static const struct setting_define imapc_setting_defines[] = {
};
static const struct imapc_settings imapc_default_settings = {
.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 = "",
.pop3_deleted_flag = ""
};
static const struct setting_parser_info imapc_setting_parser_info = {
.module_name = "imapc",
.struct_size = sizeof(struct imapc_settings),
};
const struct setting_parser_info *imapc_get_setting_parser_info(void)
{
return &imapc_setting_parser_info;
}
/* <settings checks> */
struct imapc_feature_list {
const char *name;
enum imapc_features num;
};
static const struct imapc_feature_list imapc_feature_list[] = {
{ "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 },
{ 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)
{
enum imapc_features features = 0;
const struct imapc_feature_list *list;
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;
}