const char *login_protocol = "imap";
const char *login_process_name = "imap-login";
-unsigned int login_default_port = 143;
+unsigned int login_default_port = 143, login_default_ssl_port = 993;
void login_process_preinit(void)
{
const char *key, *value, *p;
memset(reply_r, 0, sizeof(*reply_r));
- reply_r->port = login_default_port;
for (; *args != NULL; args++) {
p = strchr(*args, '=');
else if (strcmp(key, "master") == 0)
reply_r->master_user = value;
else if (strcmp(key, "ssl") == 0) {
- if (strcmp(value, "yes") == 0)
+ if (strcmp(value, "yes") == 0) {
reply_r->ssl_flags |= PROXY_SSL_FLAG_YES;
- else if (strcmp(value, "any-cert") == 0) {
+ if (reply_r->port == 0)
+ reply_r->port = login_default_ssl_port;
+ } else if (strcmp(value, "any-cert") == 0) {
reply_r->ssl_flags |= PROXY_SSL_FLAG_YES |
PROXY_SSL_FLAG_ANY_CERT;
}
} else if (client->set->auth_debug)
i_debug("Ignoring unknown passdb extra field: %s", key);
}
+ if (reply_r->port == 0)
+ reply_r->port = login_default_port;
if (reply_r->destuser == NULL)
reply_r->destuser = client->virtual_user;
"Plaintext authentication disallowed on non-secure (SSL/TLS) connections."
extern const char *login_protocol, *login_process_name;
-extern unsigned int login_default_port;
+extern unsigned int login_default_port, login_default_ssl_port;
extern struct auth_client *auth_client;
extern struct master_auth *master_auth;
const char *login_protocol = "pop3";
const char *login_process_name = "pop3-login";
-unsigned int login_default_port = 110;
+unsigned int login_default_port = 110, login_default_ssl_port = 995;
void login_process_preinit(void)
{