]> granicus.if.org Git - mutt/commitdiff
pdmef+fix+sslinterface. Triggered by a warning when compiling
authorRocco Rutte <pdmef@gmx.net>
Fri, 28 Apr 2006 08:35:02 +0000 (08:35 +0000)
committerRocco Rutte <pdmef@gmx.net>
Fri, 28 Apr 2006 08:35:02 +0000 (08:35 +0000)
with POP and GNUTLS, I noticed the SSL interfaces for OpenSSL
and GNUTLS internally are different which doesn't make sense.

13 files changed:
buffy.c
configure.in
globals.h
imap/imap.c
init.c
init.h
main.c
mutt.h
mutt_socket.c
mutt_ssl.c
mutt_ssl.h
mutt_ssl_gnutls.c
pop_lib.c

diff --git a/buffy.c b/buffy.c
index 0404b3db90f49c91aadb4dccc98ef76d6f197967..f359529a01262a29ebbcc7fa69dd82b8d5dd72ac 100644 (file)
--- a/buffy.c
+++ b/buffy.c
@@ -309,6 +309,7 @@ int mutt_buffy_check (int force)
 
 #ifdef USE_IMAP
     if (tmp->magic != M_IMAP)
+    {
 #endif
 #ifdef USE_POP
     if (mx_is_pop (tmp->path))
@@ -327,6 +328,9 @@ int mutt_buffy_check (int force)
 #endif
       continue;
     }
+#ifdef USE_IMAP
+    }
+#endif
 
     /* check to see if the folder is the currently selected folder
      * before polling */
index 7c07a8586b4de55ad812a54233d48e87d6bfac6a..b49bdb483919d4f67a0a685fb84ce5de0eb9a3d8 100644 (file)
@@ -587,6 +587,7 @@ AC_ARG_WITH(ssl, AC_HELP_STRING([--with-ssl[=PFX]], [Compile in SSL support for
           AC_CHECK_FUNCS(RAND_status RAND_egd)
 
           AC_DEFINE(USE_SSL,1,[ Define if you want support for SSL. ])
+          AC_DEFINE(USE_SSL_OPENSSL,1,[ Define if you want support for SSL via OpenSSL. ])
           LIBS="$saved_LIBS"
           MUTTLIBS="$MUTTLIBS -lssl -lcrypto"
           MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_ssl.o"
@@ -597,7 +598,7 @@ AC_ARG_WITH(ssl, AC_HELP_STRING([--with-ssl[=PFX]], [Compile in SSL support for
 
 AC_ARG_WITH([gnutls], AC_HELP_STRING([--with-gnutls[=PFX]], [Enable SSL support using gnutls]),
     [gnutls_prefix="$withval"], [gnutls_prefix="no"])
-if test "$gnutls_prefix" != "no"
+if test "$gnutls_prefix" != "no" -a x"$need_ssl" != xyes
 then
   if test "$need_socket" != "yes"
   then
@@ -607,7 +608,9 @@ then
     [dnl GNUTLS found
     CPPFLAGS="$CPPFLAGS $LIBGNUTLS_CFLAGS"
     MUTTLIBS="$MUTTLIBS $LIBGNUTLS_LIBS"
-    AC_DEFINE(USE_GNUTLS, 1, [Define if you want support for SSL via the gnutls library.])
+
+    AC_DEFINE(USE_SSL,1,[ Define if you want support for SSL. ])
+    AC_DEFINE(USE_SSL_GNUTLS,1,[ Define if you want support for SSL via GNUTLS. ])
 
     MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_ssl_gnutls.o"
     need_ssl=yes],
index a7b7da1f3fea3d500ab742b0a4b6164fc48c7d3c..cf1bafdeafdf0940c17503e59ec63ea3d5c74aea 100644 (file)
--- a/globals.h
+++ b/globals.h
@@ -115,17 +115,17 @@ WHERE char *Signature;
 WHERE char *SimpleSearch;
 WHERE char *Spoolfile;
 WHERE char *SpamSep;
-#if defined(USE_SSL) || defined(USE_GNUTLS)
+#if defined(USE_SSL)
 WHERE char *SslCertFile INITVAL (NULL);
 #endif
-#ifdef USE_SSL
+#ifdef USE_SSL_OPENSSL
 WHERE char *SslClientCert INITVAL (NULL);
 WHERE LIST *SslSessionCerts INITVAL (NULL);
 #endif
 #if defined(USE_SSL)
 WHERE char *SslEntropyFile INITVAL (NULL);
 #endif
-#ifdef USE_GNUTLS
+#ifdef USE_SSL_GNUTLS
 WHERE short SslDHPrimeBits;
 WHERE char *SslCACertFile INITVAL (NULL);
 #endif
index 1ab9a08fac1d0798889e43866892e74068397ef2..f707f3d416b4f7497c743950e81d58ed9c89e025 100644 (file)
@@ -32,7 +32,7 @@
 #include "browser.h"
 #include "message.h"
 #include "imap_private.h"
-#if defined(USE_SSL) || defined(USE_GNUTLS)
+#if defined(USE_SSL)
 # include "mutt_ssl.h"
 #endif
 #include "buffy.h"
@@ -409,7 +409,7 @@ int imap_open_connection (IMAP_DATA* idata)
     if (ascii_strncasecmp ("* OK [CAPABILITY", idata->buf, 16)
         && imap_check_capabilities (idata))
       goto bail;
-#if defined(USE_SSL) || defined(USE_GNUTLS)
+#if defined(USE_SSL)
     /* Attempt STARTTLS if available and desired. */
     if (!idata->conn->ssf && (option(OPTSSLFORCETLS) ||
                               mutt_bit_isset (idata->capabilities, STARTTLS)))
@@ -426,11 +426,7 @@ int imap_open_connection (IMAP_DATA* idata)
          goto bail;
        if (rc != -2)
        {
-#ifdef USE_SSL
          if (mutt_ssl_starttls (idata->conn))
-#elif USE_GNUTLS
-         if (mutt_gnutls_starttls (idata->conn))
-#endif
          {
            mutt_error (_("Could not negotiate TLS connection"));
            mutt_sleep (1);
@@ -469,9 +465,11 @@ int imap_open_connection (IMAP_DATA* idata)
 
   return 0;
 
+#if defined(USE_SSL)
  err_close_conn:
   mutt_socket_close (idata->conn);
   idata->state = IMAP_DISCONNECTED;
+#endif
  bail:
   FREE (&idata->capstr);
   return -1;
diff --git a/init.c b/init.c
index da3d82e0cd467348359a9dde864a92ebdbe815b3..bd23c3445d197458bcdeb9c6cf8914d8fd059d3c 100644 (file)
--- a/init.c
+++ b/init.c
@@ -31,7 +31,7 @@
 #include "mutt_crypt.h"
 #include "mutt_idna.h"
 
-#if defined(USE_SSL) || defined(USE_GNUTLS)
+#if defined(USE_SSL)
 #include "mutt_ssl.h"
 #endif
 
diff --git a/init.h b/init.h
index bf4196002ec3785a14938d4151745bd24de01dc6..ee09d743c1e703768e8bba67e88b70d42c1835b8 100644 (file)
--- a/init.h
+++ b/init.h
@@ -92,12 +92,15 @@ struct option_t
 # ifndef USE_POP
 #  define USE_POP
 # endif
+# ifndef USE_SSL_OPENSSL
+#  define USE_SSL_OPENSSL
+# endif
+# ifndef USE_SSL_GNUTLS
+#  define USE_SSL_GNUTLS
+# endif
 # ifndef USE_SSL
 #  define USE_SSL
 # endif
-# ifndef USE_GNUTLS
-#  define USE_GNUTLS
-# endif
 # ifndef USE_SOCKET
 #  define USE_SOCKET
 # endif
@@ -1914,15 +1917,15 @@ struct option_t MuttVars[] = {
   ** (S/MIME only)
   */
   
-#if defined(USE_SSL) || defined(USE_GNUTLS)
-#ifdef USE_SSL
+#if defined(USE_SSL)
+#ifdef USE_SSL_OPENSSL
   { "ssl_client_cert", DT_PATH, R_NONE, UL &SslClientCert, 0 },
   /*
   ** .pp
   ** The file containing a client certificate and its associated private
   ** key.
   */
-#endif /* USE_SSL */
+#endif /* USE_SSL_OPENSSL */
   { "ssl_force_tls",           DT_BOOL, R_NONE, OPTSSLFORCETLS, 0 },
   /*
    ** .pp
@@ -1954,7 +1957,7 @@ struct option_t MuttVars[] = {
   ** .pp
   ** Example: set certificate_file=~/.mutt/certificates
   */
-# if defined _MAKEDOC || !defined(USE_GNUTLS)
+# if defined _MAKEDOC || !defined(USE_SSL_GNUTLS)
   { "ssl_usesystemcerts", DT_BOOL, R_NONE, OPTSSLSYSTEMCERTS, 1 },
   /*
   ** .pp
@@ -1974,7 +1977,7 @@ struct option_t MuttVars[] = {
   ** This variables specifies whether to attempt to use SSLv2 in the
   ** SSL authentication process.
   */
-# endif /* defined _MAKEDOC || !defined(USE_GNUTLS) */
+# endif /* defined _MAKEDOC || !defined(USE_SSL_GNUTLS) */
   { "ssl_use_sslv3", DT_BOOL, R_NONE, OPTSSLV3, 1 },
   /*
   ** .pp
@@ -1987,7 +1990,7 @@ struct option_t MuttVars[] = {
   ** This variables specifies whether to attempt to use TLSv1 in the
   ** SSL authentication process.
   */
-# ifdef USE_GNUTLS
+# ifdef USE_SSL_GNUTLS
   { "ssl_min_dh_prime_bits", DT_NUM, R_NONE, UL &SslDHPrimeBits, 0 },
   /*
   ** .pp
@@ -2004,8 +2007,8 @@ struct option_t MuttVars[] = {
   ** .pp
   ** Example: set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt
   */
-# endif /* USE_GNUTLS */
-#endif /* defined(USE_SSL) || defined(USE_GNUTLS) */
+# endif /* USE_SSL_GNUTLS */
+#endif /* defined(USE_SSL) */
 
   { "pipe_split",      DT_BOOL, R_NONE, OPTPIPESPLIT, 0 },
   /*
diff --git a/main.c b/main.c
index 33dddf841ced73e79b8a33199f62ee3aa36f3381..0d9d113dcfdb6c09a8dad199ec084a072b6c758e 100644 (file)
--- a/main.c
+++ b/main.c
@@ -264,16 +264,16 @@ static void show_version (void)
 #endif
 
        
-#ifdef USE_SSL
-       "+USE_SSL  "
+#ifdef USE_SSL_OPENSSL
+       "+USE_SSL_OPENSSL  "
 #else
-       "-USE_SSL  "
+       "-USE_SSL_OPENSSL  "
 #endif
 
-#ifdef USE_GNUTLS
-       "+USE_GNUTLS  "
+#ifdef USE_SSL_GNUTLS
+       "+USE_SSL_GNUTLS  "
 #else
-       "-USE_GNUTLS  "
+       "-USE_SSL_GNUTLS  "
 #endif
 
 #ifdef USE_SASL
diff --git a/mutt.h b/mutt.h
index 0af519d977778baa3076d8000a8182ba3f487a57..105d368746f8f3fbc7c828fd0207b936b436416a 100644 (file)
--- a/mutt.h
+++ b/mutt.h
@@ -248,7 +248,7 @@ enum
 
   /* options for socket code */
   M_NEW_SOCKET,
-#ifdef USE_SSL
+#ifdef USE_SSL_OPENSSL
   M_NEW_SSL_SOCKET,
 #endif
 
@@ -289,7 +289,7 @@ enum
   OPT_QUIT,
   OPT_REPLYTO,
   OPT_RECALL,
-#if defined(USE_SSL) || defined(USE_GNUTLS)
+#if defined(USE_SSL)
   OPT_SSLSTARTTLS,
 #endif
   OPT_SUBJECT,
@@ -376,15 +376,15 @@ enum
   OPTIMAPPEEK,
   OPTIMAPSERVERNOISE,
 #endif
-#if defined(USE_SSL) || defined(USE_GNUTLS)
-# ifndef USE_GNUTLS
+#if defined(USE_SSL)
+# ifndef USE_SSL_GNUTLS
   OPTSSLSYSTEMCERTS,
   OPTSSLV2,
-# endif /* USE_GNUTLS */
+# endif /* USE_SSL_GNUTLS */
   OPTSSLV3,
   OPTTLSV1,
   OPTSSLFORCETLS,
-#endif /* defined(USE_SSL) || defined(USE_GNUTLS) */
+#endif /* defined(USE_SSL) */
   OPTIMPLICITAUTOVIEW,
   OPTINCLUDEONLYFIRST,
   OPTKEEPFLAGGED,
index 08edee346809ae0d41443e9d1ad9e63803fcc986..ff64ee8b9f52d59340ded56e674c8981ed66c154 100644 (file)
@@ -26,7 +26,7 @@
 #include "globals.h"
 #include "mutt_socket.h"
 #include "mutt_tunnel.h"
-#if defined(USE_SSL) || defined(USE_GNUTLS)
+#if defined(USE_SSL)
 # include "mutt_ssl.h"
 #endif
 
@@ -275,10 +275,8 @@ CONNECTION* mutt_conn_find (const CONNECTION* start, const ACCOUNT* account)
     mutt_tunnel_socket_setup (conn);
   else if (account->flags & M_ACCT_SSL) 
   {
-#ifdef USE_SSL
-    ssl_socket_setup (conn);
-#elif USE_GNUTLS
-    if (mutt_gnutls_socket_setup (conn) < 0)
+#if defined(USE_SSL)
+    if (mutt_ssl_socket_setup (conn) < 0)
     {
       mutt_socket_free (conn);
       return NULL;
index 35fae093796b61d86e6f8c2d2d9b6f96132c120a..2a388f9d87fc170ec224cd65a550be99c04132a4 100644 (file)
@@ -229,7 +229,7 @@ static int ssl_socket_open_err (CONNECTION *conn)
 }
 
 
-int ssl_socket_setup (CONNECTION * conn)
+int mutt_ssl_socket_setup (CONNECTION * conn)
 {
   if (ssl_init() < 0)
   {
index ee98f633bd9becdce6014f01d801738d50ddcc10..d579ab487e89144ff415d1efa0bbe874b172cc7c 100644 (file)
 
 #include "mutt_socket.h"
 
-#ifdef USE_SSL
+#if defined(USE_SSL)
 int mutt_ssl_starttls (CONNECTION* conn);
-
-extern int ssl_socket_setup (CONNECTION *conn);
+int mutt_ssl_socket_setup (CONNECTION *conn);
 #endif
-#ifdef USE_GNUTLS
-int mutt_gnutls_starttls (CONNECTION* conn);
 
-extern int mutt_gnutls_socket_setup (CONNECTION *conn);
-#endif
 #endif /* _MUTT_SSL_H_ */
index 1dfa8b687f2733e921720dda2581365c4ab0916f..1f1bca230da0f4e3babb5a22efadd96b96a4c2d1 100644 (file)
@@ -72,7 +72,7 @@ static int tls_init (void)
   return 0;
 }
 
-int mutt_gnutls_socket_setup (CONNECTION* conn)
+int mutt_ssl_socket_setup (CONNECTION* conn)
 {
   if (tls_init() < 0)
     return -1;
@@ -144,7 +144,7 @@ static int tls_socket_open (CONNECTION* conn)
   return 0;
 }
 
-int mutt_gnutls_starttls (CONNECTION* conn)
+int mutt_ssl_starttls (CONNECTION* conn)
 {
   if (tls_init() < 0)
     return -1;
@@ -441,7 +441,7 @@ static int tls_check_stored_hostname (const gnutls_datum *cert,
               strcmp(linestr + pmatch[2].rm_so, buf) == 0)
           {
             regfree(&preg);
-            safe_free((void**)&linestr);
+            FREE(&linestr);
             fclose(fp);
             return 1;
           }
index b976bf67fc0ffcc49512a3841d18388476221670..c3f1e3c2cda9b5e7985b7c2bfba746248be413a8 100644 (file)
--- a/pop_lib.c
+++ b/pop_lib.c
@@ -24,7 +24,7 @@
 #include "mx.h"
 #include "url.h"
 #include "pop.h"
-#ifdef USE_SSL
+#if defined(USE_SSL)
 # include "mutt_ssl.h"
 #endif
 
@@ -274,7 +274,7 @@ int pop_open_connection (POP_DATA *pop_data)
     return -2;
   }
 
-#if defined(USE_SSL) || defined(USE_GNUTLS)
+#if defined(USE_SSL)
   /* Attempt STLS if available and desired. */
   if (!pop_data->conn->ssf && (pop_data->cmd_stls || option(OPTSSLFORCETLS)))
   {
@@ -301,11 +301,7 @@ int pop_open_connection (POP_DATA *pop_data)
        mutt_error ("%s", pop_data->err_msg);
        mutt_sleep (2);
       }
-#ifdef USE_SSL
       else if (mutt_ssl_starttls (pop_data->conn))
-#elif USE_GNUTLS
-      else if (mutt_gnutls_starttls (pop_data->conn))
-#endif
       {
        mutt_error (_("Could not negotiate TLS connection"));
        mutt_sleep (2);