]> granicus.if.org Git - mutt/commitdiff
This small patch:
authorThomas Roessler <roessler@does-not-exist.org>
Thu, 23 Sep 1999 20:09:59 +0000 (20:09 +0000)
committerThomas Roessler <roessler@does-not-exist.org>
Thu, 23 Sep 1999 20:09:59 +0000 (20:09 +0000)
* catches a possible null-pointer dereference in mx_close_mailbox when
  logging out of the server.
* fixes IMAP tab-completion cosmetics (slightly broken with last
  Cyrus-compatibility updates)
* adds a bit to the IMAP part of the manual.

Brendan Cully <brendan@kublai.com>

curs_main.c
doc/manual.sgml.head
imap/browse.c

index 285f96b71d891524d089b36644a590e464ac15ab..0d251a039f557c35ea5096a4067590be823c01bc 100644 (file)
@@ -753,7 +753,7 @@ int mutt_index_menu (void)
        { 
 #ifdef USE_IMAP
           /* logout gracefully from the IMAP server */
-          if (Context->magic == M_IMAP)
+          if (Context && Context->magic == M_IMAP)
             imap_set_logout (Context);
 #endif
          if (!Context || mx_close_mailbox (Context) == 0)
index d5743dddaaae28a3d0ba4e214825c8ba69e0d704..4ef1eae0099094bab2a8d435af91b3ca9436621b 100644 (file)
@@ -1946,7 +1946,7 @@ server and <tt/inbox/ is the special name for your spool mailbox on
 the IMAP server. If you want to access another mail folder at the IMAP
 server, you should use <tt>{imapserver}path/to/folder</tt> where
 <tt>path/to/folder</tt> is the path of the folder you want to access
-relative to your home directory.
+(relative to your home directory if you aren't using Cyrus).
 
 You can select an alternative port by specifying it with the server, ie:
 <tt/{imapserver:port}inbox/.
@@ -1960,14 +1960,46 @@ at only the folders you are subscribed to, or all folders with the
 <em/toggle-subscribed/ command.  See also the 
 <ref id="imap&lowbar;list&lowbar;subscribed" name="&dollar;imap&lowbar;list&lowbar;subscribed"> variable.
 
-Mutt was designed to work with IMAP4rev1 servers, and has been tested
+Polling for new mail is more expensive over IMAP than locally. For this reason
+the frequency at which Mutt will check for mail remotely can be controlled by
+the
+<ref id="imap&lowbar;checkinterval" name="&dollar;imap&lowbar;checkinterval">
+variable, which defaults to every 60 seconds.
+
+Mutt is designed to work with IMAP4rev1 servers, and was originally tested
 with both the UWash IMAP server v11.241 and the Cyrus IMAP server v1.5.14.
-Note that if you are using mbox as the mail store on the UWash server,
-the server will disconnect a client if another client selects the same
-folder.
+Nowadays it is primarily developed against UW-IMAP 12.250. It works
+more-or-less correctly against Cyrus 1.6.11, though there are a few minor
+quirks in the folder browser.
+
+Note that if you are using mbox as the mail store on UW servers prior to
+v12.250, the server has been reported to disconnect a client if another client
+selects the same folder.
+
+<sect2>Authentication
+<p>
 
-Mutt currently does not support completion of IMAP folder names.  Hit
-the <em/complete/ key again to go to the IMAP browser.
+Mutt supports three authentication methods with IMAP servers: GSSAPI, CRAM-MD5,
+and LOGIN (there is a patch by Grant Edwards to add NTLM authentication for you
+poor exchange users out there, but it has yet to be integrated into the main
+tree). Mutt will try whichever methods are available on the server, in order from
+most secure to least. That is, mutt will first try GSSAPI authentication (ie
+Kerberos V), then CRAM-MD5, and finally LOGIN (the worst possible choice - your
+password travels across the net in the clear).
+
+There are a few variables which control authentication: 
+<itemize>
+<item><ref id="imap&lowbar;user" name="&dollar;imap&lowbar;user"> - controls the
+  username under which you request authentication on the IMAP server, for all
+  authenticators.
+<item><ref id="imap&lowbar;pass" name="&dollar;imap&lowbar;pass"> - the password
+  to use to authenticate you using the LOGIN method. If this is set, and other
+  methods fail, Mutt will use this without asking you. So if you use GSSAPI
+  or CRAM-MD5, don't set this variable.
+<item><ref id="imap&lowbar;cramkey" name="&dollar;imap&lowbar;cramkey"> - the
+  secret used in CRAM-MD5 authentication (ie your CRAM password). If this is
+  not set and your server supports CRAM-MD5, Mutt will prompt you for it.
+</itemize>
 
 <bf/Note:/ The IMAP support has had very limited testing due to a lack
 of developers using it.  It should work with the reference servers
index 7c4031367a98979061000961cce08ccef167e147..6c32cda7bfdef5a2e1bc140bc6a646358be0fdd8 100644 (file)
@@ -177,6 +177,10 @@ int imap_init_browse (char *path, struct browser_state *state)
       /* if our target isn't a folder, we are in our superior */
       if (!state->folder)
       {
+        /* store folder with delimiter */
+        mbox[n++] = ctmp;
+        ctmp = mbox[n];
+        mbox[n] = '\0';
         imap_qualify_path (buf, sizeof (buf), host, port, mbox, NULL);
         state->folder = safe_strdup (buf);
       }