]> granicus.if.org Git - mutt/commitdiff
Release global SASL state when quitting.
authorBrendan Cully <brendan@kublai.com>
Tue, 6 Sep 2005 00:24:49 +0000 (00:24 +0000)
committerBrendan Cully <brendan@kublai.com>
Tue, 6 Sep 2005 00:24:49 +0000 (00:24 +0000)
curs_main.c
mutt_sasl.c
mutt_sasl.h

index 635832a9e374ae6ee671fb04116641a9a2335fe3..0e7b44ca598ea3e94293ffb88879b71424bdb433 100644 (file)
 #include "imap_private.h"
 #endif
 
+#ifdef USE_SASL
+#include "mutt_sasl.h"
+#endif
+
 #include "mutt_crypt.h"
 
 
@@ -2195,11 +2199,16 @@ CHECK_IMAP_ACL(IMAP_ACL_DELETE);
     if (done) break;
   }
 
+  if (!attach_msg)
+  {
 #ifdef USE_IMAP
   /* Close all open IMAP connections */
-  if (!attach_msg)
     imap_logout_all ();
 #endif
+#ifdef USE_SASL
+    mutt_sasl_done ();
+#endif
+  }
 
   mutt_menuDestroy (&menu);
   return (close);
index 38f9b1e05b0b10972f99ddcdf2124d1c154d8f61..d46e684e44b66d766b481a179209a0979a9f2261 100644 (file)
@@ -371,6 +371,11 @@ static int mutt_sasl_cb_log (void* context, int priority, const char* message)
   return SASL_OK;
 }
 
+void mutt_sasl_done (void)
+{
+  sasl_done ();
+}
+
 /* mutt_sasl_cb_authname: callback to retrieve authname or user from ACCOUNT */
 static int mutt_sasl_cb_authname (void* context, int id, const char** result,
   unsigned* len)
index bedbba79f2b212917c9fab74bed2dc57ec8de266..7765b3393ed10a32b43b0658ce0ff9dca9f83262 100644 (file)
@@ -29,6 +29,7 @@ int mutt_sasl_client_new (CONNECTION*, sasl_conn_t**);
 sasl_callback_t* mutt_sasl_get_callbacks (ACCOUNT*);
 int mutt_sasl_interact (sasl_interact_t*);
 void mutt_sasl_setup_conn (CONNECTION*, sasl_conn_t*);
+void mutt_sasl_done (void);
 
 typedef struct 
 {