create mod_ssl.
[apps/madmutt.git] / pop / pop_lib.c
index a96a01c..693259d 100644 (file)
@@ -8,13 +8,10 @@
  */
 
 #include <lib-lib/lib-lib.h>
+#include <lib-mx/mx.h>
 
 #include "mutt.h"
-#include "mx.h"
 #include "pop.h"
-#if defined (USE_SSL) || defined (USE_GNUTLS)
-# include <lib-sys/mutt_ssl.h>
-#endif
 
 /* given an POP mailbox name, return host, port, username and password */
 int pop_parse_path (const char *path, ACCOUNT * act)
@@ -94,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;
 }
@@ -244,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) {
@@ -267,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);
@@ -288,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)