X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=pop%2Fpop_lib.c;h=693259d90325feb4554104a512123aeef4240fb2;hp=424ca73f73d5024c6647f604427d2d10869286e7;hb=4f1b1414371cc373f50ca79a888928635a3a3763;hpb=23e6291cb5d5b4cd2008403d8b628007fd75ff23;ds=sidebyside diff --git a/pop/pop_lib.c b/pop/pop_lib.c index 424ca73..693259d 100644 --- a/pop/pop_lib.c +++ b/pop/pop_lib.c @@ -7,26 +7,11 @@ * please see the file GPL in the top level source directory. */ -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include - -#include -#include -#include -#include -#include +#include +#include #include "mutt.h" -#include "mx.h" #include "pop.h" -#if defined (USE_SSL) || defined (USE_GNUTLS) -# include -#endif /* given an POP mailbox name, return host, port, username and password */ int pop_parse_path (const char *path, ACCOUNT * act) @@ -106,15 +91,17 @@ static int fetch_capa (char *line, void *data) static int fetch_auth (char *line, void *data) { POP_DATA *pop_data = (POP_DATA *) data; + ssize_t auth_list_len; if (!pop_data->auth_list) { - pop_data->auth_list = p_new(char, strlen(line) + 1); + auth_list_len = m_strlen(line) + 1; + pop_data->auth_list = p_new(char, auth_list_len); } else { - p_realloc(&pop_data->auth_list, - strlen(pop_data->auth_list) + strlen(line) + 2); - strcat (pop_data->auth_list, " "); /* __STRCAT_CHECKED__ */ + auth_list_len = m_strlen(pop_data->auth_list) + m_strlen(line) + 2; + p_realloc(&pop_data->auth_list, auth_list_len); + m_strcat(pop_data->auth_list, auth_list_len, " "); } - strcat (pop_data->auth_list, line); /* __STRCAT_CHECKED__ */ + m_strcat(pop_data->auth_list, auth_list_len, line); return 0; } @@ -256,18 +243,13 @@ pop_query_status pop_open_connection (POP_DATA * pop_data) return PQ_ERR; } -#if (defined(USE_SSL) || defined(USE_GNUTLS)) /* Attempt STLS if available and desired. */ - if (!pop_data->conn->ssf && (pop_data->cmd_stls || option(OPTSSLFORCETLS))) { - if (option (OPTSSLFORCETLS)) + 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) { - ret = query_quadoption (OPT_SSLSTARTTLS, - _("Secure connection with TLS?")); - if (ret == -1) - return PQ_ERR; pop_data->use_stls = 1; - if (ret == M_YES) + if (mod_ssl.starttls) pop_data->use_stls = 2; } if (pop_data->use_stls == 2) { @@ -279,9 +261,7 @@ pop_query_status pop_open_connection (POP_DATA * pop_data) mutt_error ("%s", pop_data->err_msg); mutt_sleep (2); } -#if defined (USE_SSL) || defined (USE_GNUTLS) else if (mutt_ssl_starttls (pop_data->conn)) -#endif { mutt_error (_("Could not negotiate TLS connection")); mutt_sleep (2); @@ -300,12 +280,11 @@ pop_query_status pop_open_connection (POP_DATA * pop_data) } } - if (option(OPTSSLFORCETLS) && !pop_data->conn->ssf) { + if (mod_ssl.force_tls && !pop_data->conn->ssf) { mutt_error _("Encrypted connection unavailable"); mutt_sleep (1); return -2; } -#endif ret = pop_authenticate (pop_data); if (ret == PQ_NOT_CONNECTED) @@ -380,15 +359,14 @@ void pop_logout (CONTEXT * ctx) * -1 - conection lost, * -2 - invalid command or execution error. */ -pop_query_status pop_query_d (POP_DATA * pop_data, char *buf, size_t buflen, const char *msg) +pop_query_status pop_query (POP_DATA * pop_data, char *buf, size_t buflen) { - int dbg = M_SOCK_LOG_CMD; char *c; if (pop_data->status != POP_CONNECTED) return PQ_NOT_CONNECTED; - mutt_socket_write_d (pop_data->conn, buf, dbg); + mutt_socket_write(pop_data->conn, buf); c = strpbrk (buf, " \r\n"); *c = '\0'; @@ -434,8 +412,7 @@ pop_query_status pop_fetch_data (POP_DATA * pop_data, const char *query, progres for (;;) { chunk = - mutt_socket_readln_d (buf, sizeof (buf), pop_data->conn, - M_SOCK_LOG_HDR); + mutt_socket_readln(buf, sizeof (buf), pop_data->conn); if (chunk < 0) { pop_data->status = POP_DISCONNECTED; ret = PQ_NOT_CONNECTED;