X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mx%2Fpop.c;h=ee18bc3910cf3aaf2340a3efd18e4a17474190b0;hp=876be67c0a8901586b625ed0ca0087cbc41b020f;hb=98f62b5fcbd680fd5214ee85e1635b84322cbdd1;hpb=db3bd72d8b48f1f9b49899da081ffbec4ce2c1c6 diff --git a/lib-mx/pop.c b/lib-mx/pop.c index 876be67..ee18bc3 100644 --- a/lib-mx/pop.c +++ b/lib-mx/pop.c @@ -64,7 +64,6 @@ typedef struct { 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 */ @@ -586,7 +585,7 @@ static pop_query_status pop_capabilities(pop_data_t * pop_data, int mode) } /* Check capabilities */ - if (mode == 2) { + if (mode == 1) { const char *msg = NULL; if (pop_data->cmd_top == CMD_NOT_AVAILABLE) @@ -661,37 +660,18 @@ static pop_query_status pop_open_connection (pop_data_t * pop_data) /* 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; } } @@ -710,7 +690,7 @@ static pop_query_status pop_open_connection (pop_data_t * pop_data) 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) {