Rocco Rutte:
[apps/madmutt.git] / mutt_socket.c
index 90ae621..94dbfc5 100644 (file)
 #include "globals.h"
 #include "mutt_socket.h"
 #include "mutt_tunnel.h"
-#if defined(USE_SSL) || defined(USE_GNUTLS) || defined(USE_NSS)
+#if defined(USE_SSL) || defined(USE_GNUTLS)
 # include "mutt_ssl.h"
 #endif
 
 #include "mutt_idna.h"
 
+#include "lib/mem.h"
+#include "lib/intl.h"
+#include "lib/str.h"
+#include "lib/debug.h"
+
 #include <unistd.h>
 #include <netinet/in.h>
 #include <netdb.h>
@@ -39,7 +44,7 @@ static CONNECTION *Connections = NULL;
 /* forward declarations */
 static int socket_preconnect (void);
 static int socket_connect (int fd, struct sockaddr *sa);
-static CONNECTION *socket_new_conn ();
+static CONNECTION *socket_new_conn (void);
 
 /* Wrappers */
 int mutt_socket_open (CONNECTION * conn)
@@ -55,9 +60,7 @@ int mutt_socket_close (CONNECTION * conn)
   int rc = -1;
 
   if (conn->fd < 0)
-    dprint (1,
-            (debugfile,
-             "mutt_socket_close: Attempt to close closed connection.\n"));
+    debug_print (1, ("Attempt to close closed connection.\n"));
   else
     rc = conn->conn_close (conn);
 
@@ -72,9 +75,7 @@ int mutt_socket_read (CONNECTION * conn, char *buf, size_t len)
   int rc;
 
   if (conn->fd < 0) {
-    dprint (1,
-            (debugfile,
-             "mutt_socket_read: attempt to read from closed connection\n"));
+    debug_print (1, ("attempt to read from closed connection\n"));
     return -1;
   }
 
@@ -95,28 +96,23 @@ int mutt_socket_write_d (CONNECTION * conn, const char *buf, int dbg)
   int rc;
   int len;
 
-  dprint (dbg, (debugfile, "> %s", buf));
+  debug_print (dbg, ("> %s", buf));
 
   if (conn->fd < 0) {
-    dprint (1,
-            (debugfile,
-             "mutt_socket_write: attempt to write to closed connection\n"));
+    debug_print (1, ("attempt to write to closed connection\n"));
     return -1;
   }
 
-  len = mutt_strlen (buf);
+  len = str_len (buf);
   if ((rc = conn->conn_write (conn, buf, len)) < 0) {
-    dprint (1, (debugfile,
-                "mutt_socket_write: error writing, closing socket\n"));
+    debug_print (1, ("error writing, closing socket\n"));
     mutt_socket_close (conn);
 
     return -1;
   }
 
   if (rc < len) {
-    dprint (1, (debugfile,
-                "mutt_socket_write: ERROR: wrote %d of %d bytes!\n", rc,
-                len));
+    debug_print (1, ("ERROR: wrote %d of %d bytes!\n", rc, len));
   }
 
   return rc;
@@ -130,9 +126,7 @@ int mutt_socket_readchar (CONNECTION * conn, char *c)
       conn->available =
         conn->conn_read (conn, conn->inbuf, sizeof (conn->inbuf));
     else {
-      dprint (1,
-              (debugfile,
-               "mutt_socket_readchar: attempt to read from closed connection.\n"));
+      debug_print (1, ("attempt to read from closed connection.\n"));
       return -1;
     }
     conn->bufpos = 0;
@@ -173,9 +167,9 @@ int mutt_socket_readln_d (char *buf, size_t buflen, CONNECTION * conn,
   else
     buf[i] = '\0';
 
-  dprint (dbg, (debugfile, "< %s\n", buf));
+  debug_print (dbg, ("< %s\n", buf));
 
-  /* number of bytes read, not mutt_strlen */
+  /* number of bytes read, not str_len */
   return i + 1;
 }
 
@@ -195,7 +189,7 @@ void mutt_socket_free (CONNECTION * conn)
   /* head is special case, doesn't need prev updated */
   if (iter == conn) {
     Connections = iter->next;
-    FREE (&iter);
+    mem_free (&iter);
     return;
   }
 
@@ -203,7 +197,7 @@ void mutt_socket_free (CONNECTION * conn)
     if (iter->next == conn) {
       tmp = iter->next;
       iter->next = tmp->next;
-      FREE (&tmp);
+      mem_free (&tmp);
       return;
     }
     iter = iter->next;
@@ -245,8 +239,6 @@ CONNECTION *mutt_conn_find (const CONNECTION * start, const ACCOUNT * account)
   else if (account->flags & M_ACCT_SSL) {
 #ifdef USE_SSL
     ssl_socket_setup (conn);
-#elif USE_NSS
-    mutt_nss_socket_setup (conn);
 #elif USE_GNUTLS
     if (mutt_gnutls_socket_setup (conn) < 0) {
       mutt_socket_free (conn);
@@ -276,10 +268,10 @@ static int socket_preconnect (void)
   int rc;
   int save_errno;
 
-  if (mutt_strlen (Preconnect)) {
-    dprint (2, (debugfile, "Executing preconnect: %s\n", Preconnect));
+  if (str_len (Preconnect)) {
+    debug_print (2, ("Executing preconnect: %s\n", Preconnect));
     rc = mutt_system (Preconnect);
-    dprint (2, (debugfile, "Preconnect result: %d\n", rc));
+    debug_print (2, ("Preconnect result: %d\n", rc));
     if (rc) {
       save_errno = errno;
       mutt_perror (_("Preconnect command failed."));
@@ -305,7 +297,7 @@ static int socket_connect (int fd, struct sockaddr *sa)
     sa_size = sizeof (struct sockaddr_in6);
 #endif
   else {
-    dprint (1, (debugfile, "Unknown address family!\n"));
+    debug_print (1, ("Unknown address family!\n"));
     return -1;
   }
 
@@ -318,7 +310,7 @@ static int socket_connect (int fd, struct sockaddr *sa)
 
   if (connect (fd, sa, sa_size) < 0) {
     save_errno = errno;
-    dprint (2, (debugfile, "Connection failed. errno: %d...\n", errno));
+    debug_print (2, ("Connection failed. errno: %d...\n", errno));
     SigInt = 0;                 /* reset in case we caught SIGINTR while in connect() */
   }
 
@@ -330,11 +322,11 @@ static int socket_connect (int fd, struct sockaddr *sa)
 }
 
 /* socket_new_conn: allocate and initialise a new connection. */
-static CONNECTION *socket_new_conn ()
+static CONNECTION *socket_new_conn (void)
 {
   CONNECTION *conn;
 
-  conn = (CONNECTION *) safe_calloc (1, sizeof (CONNECTION));
+  conn = (CONNECTION *) mem_calloc (1, sizeof (CONNECTION));
   conn->fd = -1;
 
   return conn;
@@ -414,11 +406,12 @@ int raw_socket_open (CONNECTION * conn)
   rc = getaddrinfo (host_idna, port, &hints, &res);
 
 # ifdef HAVE_LIBIDN
-  FREE (&host_idna);
+  mem_free (&host_idna);
 # endif
 
   if (rc) {
     mutt_error (_("Could not find the host \"%s\""), conn->account.host);
+    mutt_sleep (2);
     return -1;
   }
 
@@ -464,7 +457,7 @@ int raw_socket_open (CONNECTION * conn)
 
   if ((he = gethostbyname (host_idna)) == NULL) {
 # ifdef HAVE_LIBIDN
-    FREE (&host_idna);
+    mem_free (&host_idna);
 # endif
     mutt_error (_("Could not find the host \"%s\""), conn->account.host);
 
@@ -472,7 +465,7 @@ int raw_socket_open (CONNECTION * conn)
   }
 
 # ifdef HAVE_LIBIDN
-  FREE (&host_idna);
+  mem_free (&host_idna);
 # endif
 
   mutt_message (_("Connecting to %s..."), conn->account.host);