#include "lib/mem.h"
#include "lib/intl.h"
+#include "lib/debug.h"
+#include "lib/str.h"
#include <string.h>
#include <unistd.h>
t = strchr (pop_data->err_msg, '\0');
c = msg;
- if (!mutt_strncmp (msg, "-ERR ", 5)) {
+ if (!safe_strncmp (msg, "-ERR ", 5)) {
c2 = msg + 5;
SKIPWS (c2);
}
strfcpy (t, c, sizeof (pop_data->err_msg) - strlen (pop_data->err_msg));
- mutt_remove_trailing_ws (pop_data->err_msg);
+ str_skip_trailws (pop_data->err_msg);
}
/* Parse CAPA output */
pop_data->status = POP_CONNECTED;
- if (mutt_strncmp (buf, "+OK", 3)) {
+ if (safe_strncmp (buf, "+OK", 3)) {
*pop_data->err_msg = '\0';
pop_error (pop_data, buf);
mutt_error ("%s", pop_data->err_msg);
return PQ_ERR;
}
-#if (defined(USE_SSL) || defined(USE_GNUTLS)) && !defined(USE_NSS)
+#if (defined(USE_SSL) || defined(USE_GNUTLS))
/* Attempt STLS if available and desired. */
- if (pop_data->cmd_stls && !pop_data->conn->ssf) {
+ if (!pop_data->conn->ssf && (pop_data->cmd_stls || option(OPTSSLFORCETLS))) {
+ if (option (OPTSSLFORCETLS))
+ pop_data->use_stls = 2;
if (pop_data->use_stls == 0) {
ret = query_quadoption (OPT_SSLSTARTTLS,
_("Secure connection with TLS?"));
}
}
}
+
+ if (option(OPTSSLFORCETLS) && !pop_data->conn->ssf) {
+ mutt_error _("Encrypted connection unavailable");
+ mutt_sleep (1);
+ return -2;
+ }
#endif
ret = pop_authenticate (pop_data);
/* print msg instaed of real command */
if (msg) {
dbg = M_SOCK_LOG_FULL;
- dprint (M_SOCK_LOG_CMD, (debugfile, "> %s", msg));
+ debug_print (M_SOCK_LOG_CMD, ("> %s", msg));
}
#endif
pop_data->status = POP_DISCONNECTED;
return PQ_NOT_CONNECTED;
}
- if (!mutt_strncmp (buf, "+OK", 3))
+ if (!safe_strncmp (buf, "+OK", 3))
return PQ_OK;
pop_error (pop_data, buf);