[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
nnimap 0.32 -> 0.33 patches
- To: gnus-imap@vic20.dzp.se
- Subject: nnimap 0.32 -> 0.33 patches
- From: Simon Josefsson <jas@pdc.kth.se>
- Date: 15 Oct 1998 20:21:41 +0200
- Mail-Copies-To: never
- User-Agent: Gnus/5.070034 (Pterodactyl Gnus v0.34) Emacs/20.3
Index: nnimap/ChangeLog
diff -u nnimap/ChangeLog:1.100 nnimap/ChangeLog:1.102
--- nnimap/ChangeLog:1.100 Sat Oct 10 13:02:31 1998
+++ nnimap/ChangeLog Thu Oct 15 10:54:15 1998
@@ -1,3 +1,36 @@
+1998-10-15 19:52:19 Simon Josefsson <jas@pdc.kth.se>
+
+ * nnimap 0.33 released.
+
+1998-10-15 19:32:08 Simon Josefsson <jas@pdc.kth.se>
+
+ * nnimap.texi: Updated to nnimap 0.33
+ (install): Gnus doc URL removed (keeps changing).
+ (config): Fix.
+ (config-authinfo): Fix.
+ (config-auth-method): Fix. CRAM-MD5 does not require XEmacs.
+ (config-expiring): Fix.
+
+1998-10-15 19:19:19 Simon Josefsson <jas@pdc.kth.se>
+
+ * nnimap.el (nnimap-request-update-info-internal): Only extend
+ group info if necessery.
+ (nnimap-request-update-info-internal): Simplify finding of read
+ articles.
+
+1998-10-15 16:32:57 Simon Josefsson <jas@pdc.kth.se>
+
+ * imap.el (imap-authenticate-cram-md5): Use base64-decode, don't
+ require TM/FLIM.
+
+1998-10-14 19:59:25 Simon Josefsson <jas@pdc.kth.se>
+
+ * imap.el (imap-authenticate-login): Quote username/password.
+
+1998-10-10 23:15:07 Simon Josefsson <jas@pdc.kth.se>
+
+ * nnimap.texi (download): New URL.
+
1998-10-10 22:00:32 Simon Josefsson <jas@pdc.kth.se>
* nnimap 0.32 released.
Index: nnimap/imap.el
diff -u nnimap/imap.el:1.43 nnimap/imap.el:1.45
--- nnimap/imap.el:1.43 Sat Oct 10 12:23:55 1998
+++ nnimap/imap.el Thu Oct 15 07:36:14 1998
@@ -40,7 +40,6 @@
;;; o On expunge, remove messages from message-data. Note it doesn't
;;; return UIDs. Ouch.
;;; o Rename "folder" to "mailbox".
-;;; o Use pGnus's base64 if available.
;;;
(eval-when-compile (require 'cl))
@@ -348,12 +347,11 @@
(with-current-buffer (or buffer (current-buffer))
(and (imap-authinfo-get server)
(imap-ok-p (imap-send-command-wait
- (concat "LOGIN " (car imap-authinfo)
- " " (cdr imap-authinfo)))))))
+ (concat "LOGIN \"" (car imap-authinfo)
+ "\" \"" (cdr imap-authinfo) "\""))))))
(defun imap-authenticate-cram-md5 (server &optional buffer)
"Login to server using the AUTH CRAM-MD5 method."
- (require 'mel-b) ;; from TM/FLIM
(require 'rfc2104)
(require 'md5)
(with-current-buffer (or buffer (current-buffer))
@@ -364,10 +362,10 @@
(list
"AUTHENTICATE CRAM-MD5"
(lambda (challenge)
- (let* ((decoded (base64-decode-string challenge))
+ (let* ((decoded (base64-decode challenge))
(hash (rfc2104-hash 'md5 64 16 (cdr imap-authinfo) decoded))
(response (concat (car imap-authinfo) " " hash))
- (encoded (base64-encode-string response)))
+ (encoded (base64-encode response)))
encoded))))))))
(defun imap-authenticate (server &optional buffer)
Index: nnimap/nnimap.el
diff -u nnimap/nnimap.el:1.77 nnimap/nnimap.el:1.79
--- nnimap/nnimap.el:1.77 Sat Oct 10 12:48:56 1998
+++ nnimap/nnimap.el Thu Oct 15 10:53:59 1998
@@ -71,11 +71,10 @@
;;; about the group (possible?) (fixed?)
;;; o split to other backends, different split rules for different
;;; servers/inboxes
-;;; o UTF-7 encode mailbox names (does Gnus deal with SPC in group names?)
-;;; o Fix Gnus to handle leading '.' in group names
+;;; o Fix Gnus to handle SPC and leading '.' in group names
;;; o Fix the flag situation when using the Gnus Agent
;;; o Support RFC2221 (Login referrals)
-;;; o IMAP2BIS compatibility (RFC2061)
+;;; o IMAP2BIS compatibility? (RFC2061)
;;; o Debug imtest, it dumps with "Time is out of bounds" sometimes
;;; o ACAP stuff (perhaps a different project, would be nice to ACAPify
;;; .newsrc.eld)
@@ -96,7 +95,7 @@
(nnoo-declare nnimap) ; we derive from no one
-(defconst nnimap-version "nnimap 0.3.31")
+(defconst nnimap-version "nnimap 0.33")
;; Various server variables.
@@ -720,44 +719,26 @@
;; We reset the uidvalidity here because we are about to do a full resync.
(gnus-info-set-params info (nnimap-update-alist-soft
'uidvalidity nil (gnus-info-params info)) t)
-
+
(with-current-buffer nnimap-server-buffer
(gnus-message 5 "Updating info for mailbox %s" group)
- ;; extend info to have parameters (otherwise when we set them,
- ;; they don't get set)
- (unless (gnus-info-params info)
- (gnus-info-set-params info nil t))
-
;; Replace list of read and marked articles with authoritative
;; data from server.
-
+
;; If server is read-only (no article mark memory), we don't
;; overwrite local flags -- this way one can use it as a nntp type
;; of server (all mark memory in client).
(when (nnimap-mark-permanent-p 'read)
- (gnus-info-set-read
- info
- ;; xxx This is extremely slow.
- (let* (
- ;; oldseen could contain articles marked unread by other
- ;; imap clients! we correct this
- (oldseentmp (gnus-uncompress-range (gnus-info-read info)))
- (unseen (imap-search "UNSEEN UNDELETED"))
- (oldseen (gnus-set-difference oldseentmp unseen))
- ;; oldseen might lack articles marked as read by other
- ;; imap clients! we correct this
- (newseen (imap-search "SEEN"))
- ;; ok, read articles are in oldseen+newseen (xxx lots of dupes)
- (seen (append oldseen newseen))
- ;; sort to have gnus-compress-sequence remove dupes
- (seens (sort seen '<))
- (read (gnus-compress-sequence seens t)))
- (if (and read
- (atom (car read)))
- (list (cons (car read) (car read))) ;; xxx not my bug
- read))))
+ (let ((seen (gnus-compress-sequence (imap-search "SEEN") t)))
+ ;; we can't return '(1) since this isn't a "list of ranges",
+ ;; and we can't return '((1)) since gnus-list-of-unread-articles
+ ;; is buggy so we return '((1 . 1)).
+ (gnus-info-set-read info (if (and (atom (car seen))
+ (null (cdr seen)))
+ (list (cons (car seen) (car seen)))
+ seen))))
(mapc (lambda (pred)
(when (and (nnimap-mark-permanent-p (cdr pred))
@@ -765,11 +746,12 @@
(imap-folder-get 'list-flags)))
(gnus-info-set-marks
info
- (nnimap-update-alist-soft
+ (nnimap-update-alist-soft
(cdr pred)
(gnus-compress-sequence
(imap-search (nnimap-mark-to-predicate (cdr pred))))
- (gnus-info-marks info)))))
+ (gnus-info-marks info))
+ t)))
gnus-article-mark-lists)))
info)
Index: nnimap/nnimap.texi
diff -u nnimap/nnimap.texi:1.10 nnimap/nnimap.texi:1.12
--- nnimap/nnimap.texi:1.10 Mon Aug 31 08:36:49 1998
+++ nnimap/nnimap.texi Thu Oct 15 10:34:26 1998
@@ -7,8 +7,8 @@
@setchapternewpage odd
@paragraphindent 0
-@set VERSION $Revision: 1.1 $
-@set NNIMAP-VERSION 0.3.30
+@set VERSION $Revision: 1.1 $
+@set NNIMAP-VERSION 0.33
@ifinfo
This file documents nnimap, an Emacs Lisp package for accessing
@@ -108,7 +108,7 @@
@cindex Getting nnimap
The latest version of this nnimap implementation is always available as
-@url{http://vic20.dzp.se/gnus-imap/nnimap.tar.gz}@*
+@url{http://www.extundo.com/gnus-imap/nnimap.tar.gz}@*
Download the archive and unpack it.
@@ -153,10 +153,8 @@
Fire up Gnus and you should be able to tinker with nnimap in the server
buffer. If you aren't familiar with the server buffer, never mind you
-wont miss anything. (Ok, ok, the excellent Gnus manual has a section on
-the server buffer at
-@url{http://www.gnus.org/manual/gnus_6.html#SEC130}
-if you want to know.)
+wont miss anything. (The excellent Gnus manual has a section on the
+server buffer if you really want to know.)
@node config, using, install, Top
@chapter Configuring nnimap
@@ -184,7 +182,7 @@
(nnimap-server-address "your.mail.server"))))
@end lisp
-The imap variables used above are described below:
+The nnimap server variables used above are described below:
@itemize @bullet
@item
@ref{config-server-address}.
@@ -218,7 +216,8 @@
@vindex nnimap-authinfo-file
Tired of telling nnimap about your username/password all the time? The
-New and Improved Gnus, Gnus series 5.6.x that is, can do this for you.
+New and Improved Gnus, Gnus series 5.6.x and later that is, can do this
+for you.
Unfortunately, you still have to tell it your username/password
once. Whee, what a bugger. A bigger bugger (huh?) however is that you
@@ -333,7 +332,8 @@
@cindex Authorization method
@vindex nnimap-auth-method
-This server variable let's you change the login scheme used for the server.
+This server variable let's you change the login scheme used for the
+server. Naturally, the server must support the scheme selected.
Valid options are:
@@ -345,8 +345,7 @@
@item
@dfn{login:} Force plain text password LOGIN.
@item
-@dfn{cram-md5:} Force CRAM MD5 authentication. @strong{Note!} Requires
-(X)Emacs 20.x.
+@dfn{cram-md5:} Force CRAM MD5 authentication.
@item
@dfn{kerberos4:} Force KERBEROS_V4 authentication. @xref{config-krb}
@item
@@ -503,15 +502,16 @@
way you can think of).
To hopefully not confuse things (but possibly confuse things further),
-nnimap has decided to use @code{nnmail-expiry-wait} and
-@code{nnmail-expiry-wait-function} variables for configuring the
-expiring process, so you would only need to tinker with the
+nnimap has decided to use the @code{nnmail-expiry-wait} and
+@code{nnmail-expiry-wait-function} variables to configure the expiring
+process. So you would only need to tinker with the
@code{gnus-auto-expirable-newsgroups} regexp to include nnimap folders,
or set the @code{auto-expire}, @code{total-expire} group parameters on
nnimap folders to enable expiring.
(The reasoning behind the decision to use nnmail variables is that these
-variables are set by the @code{expiry-wait} group parameter.)
+variables are set by Gnus when you set the @code{expiry-wait} group
+parameter.)
@node config-krb, config-ssl, config-expiring, config
@section Required programs for kerberos