unsigned status : 2;
unsigned capabilities : 1;
- unsigned use_stls : 2;
cmd_status cmd_capa : 2; /* optional command CAPA */
cmd_status cmd_stls : 2; /* optional command STLS */
cmd_status cmd_uidl : 2; /* optional command UIDL */
cmd_status cmd_top : 2; /* optional command TOP */
cmd_status cmd_user : 2; /* optional command USER */
- unsigned resp_codes : 1; /* server supports extended response codes */
unsigned clear_cache : 1;
ssize_t size;
pop_data->cmd_uidl = CMD_NOT_AVAILABLE;
pop_data->cmd_top = CMD_NOT_AVAILABLE;
pop_data->cmd_user = CMD_NOT_AVAILABLE;
- pop_data->resp_codes = 0;
p_delete(&pop_data->auth_list);
}
}
/* Check capabilities */
- if (mode == 2) {
+ if (mode == 1) {
const char *msg = NULL;
if (pop_data->cmd_top == CMD_NOT_AVAILABLE)
/* Attempt STLS if available and desired. */
if (!pop_data->conn->ssf && (pop_data->cmd_stls || mod_ssl.force_tls)) {
- if (mod_ssl.force_tls)
- pop_data->use_stls = 2;
- if (pop_data->use_stls == 0) {
- pop_data->use_stls = 1;
- if (mod_ssl.starttls)
- pop_data->use_stls = 2;
+ ret = pop_query(pop_data, buf, sizeof(buf), "STLS");
+ if (ret == PQ_NOT_CONNECTED)
+ goto err_conn;
+ if (ret != PQ_OK) {
+ mutt_error ("%s", pop_data->err_msg);
+ mutt_sleep (2);
}
- if (pop_data->use_stls == 2) {
- ret = pop_query(pop_data, buf, sizeof(buf), "STLS");
- if (ret == PQ_NOT_CONNECTED)
- goto err_conn;
- if (ret != PQ_OK) {
- mutt_error ("%s", pop_data->err_msg);
- mutt_sleep (2);
- }
- else if (mutt_ssl_starttls (pop_data->conn))
- {
- mutt_error (_("Could not negotiate TLS connection"));
- mutt_sleep (2);
- return PQ_ERR;
- }
- else {
- /* recheck capabilities after STLS completes */
- ret = pop_capabilities (pop_data, 1);
- if (ret == PQ_NOT_CONNECTED)
- goto err_conn;
- if (ret == PQ_ERR) {
- mutt_sleep (2);
- return PQ_ERR;
- }
- }
+ else if (mutt_ssl_starttls (pop_data->conn))
+ {
+ mutt_error (_("Could not negotiate TLS connection"));
+ mutt_sleep (2);
+ return PQ_ERR;
}
}
return ret;
/* recheck capabilities after authentication */
- ret = pop_capabilities (pop_data, 2);
+ ret = pop_capabilities (pop_data, 1);
if (ret == PQ_NOT_CONNECTED)
goto err_conn;
if (ret == PQ_ERR) {