#include "login-common.h"
#include "base64.h"
+#include "array.h"
#include "buffer.h"
#include "ioloop.h"
#include "istream.h"
#include "auth-client.h"
#include "submission-proxy.h"
#include "submission-login-settings.h"
+#include "settings-parser.h"
/* Disconnect client when it sends too many bad commands */
#define CLIENT_MAX_BAD_COMMANDS 10
const struct submission_login_settings *set = subm_client->set;
const char *const *str;
- if (set->submission_backend_capabilities[0] == '\0') {
+ if (array_is_empty(&set->submission_backend_capabilities)) {
subm_client->backend_capabilities = SMTP_CAPABILITY_8BITMIME;
return;
}
subm_client->backend_capabilities = SMTP_CAPABILITY_NONE;
- str = t_strsplit_spaces(set->submission_backend_capabilities, " ,");
+ str = settings_boollist_get(&set->submission_backend_capabilities);
for (; *str != NULL; str++) {
if (strcmp(*str, "none") == 0)
continue;
DEF(SIZE, submission_max_mail_size),
DEF(BOOLLIST, submission_client_workarounds),
- DEF(STR, submission_backend_capabilities),
+ DEF(BOOLLIST, submission_backend_capabilities),
SETTING_DEFINE_LIST_END
};
.submission_max_mail_size = 0,
.submission_client_workarounds = ARRAY_INIT,
- .submission_backend_capabilities = "",
+ .submission_backend_capabilities = ARRAY_INIT,
};
const struct setting_parser_info submission_login_setting_parser_info = {
/* submission: */
uoff_t submission_max_mail_size;
ARRAY_TYPE(const_string) submission_client_workarounds;
- const char *submission_backend_capabilities;
+ ARRAY_TYPE(const_string) submission_backend_capabilities;
enum submission_login_client_workarounds parsed_workarounds;
};