nnimap.el (nnimap-open-connection): Use port stuff.
authorSimon Josefsson <jas@extundo.com>
Tue, 27 Jun 2000 12:58:10 +0000 (12:58 +0000)
committerSimon Josefsson <jas@extundo.com>
Tue, 27 Jun 2000 12:58:10 +0000 (12:58 +0000)
gnus-util.el (gnus-netrc-machine): Add defaultport parameter, document
port and defaultport.

lisp/ChangeLog
lisp/gnus-util.el
lisp/nnimap.el

index e19b72c..b31e90b 100644 (file)
@@ -1,3 +1,10 @@
+2000-06-28  Simon Josefsson  <simon@josefsson.org>
+
+       * nnimap.el (nnimap-open-connection): Use port stuff.
+
+       * gnus-util.el (gnus-netrc-machine): Add defaultport parameter,
+       document port and defaultport.
+
 2000-06-27  Paul Stodghill <stodghil@CS.Cornell.EDU>
 
        * gnus-agent.el (gnus-agent-synchronize): Kill flags buffer.
index 460e83d..dbe3ac7 100644 (file)
@@ -859,8 +859,10 @@ ARG is passed to the first function."
          (forward-line 1))
        (nreverse result)))))
 
-(defun gnus-netrc-machine (list machine &optional port)
-  "Return the netrc values from LIST for MACHINE or for the default entry."
+(defun gnus-netrc-machine (list machine &optional port defaultport)
+  "Return the netrc values from LIST for MACHINE or for the default entry.
+If PORT specified, only return entries with matching port tokens.
+Entries without port tokens default to DEFAULTPORT."
   (let ((rest list)
        result)
     (while list
@@ -876,9 +878,9 @@ ARG is passed to the first function."
     (when result
       (setq result (nreverse result))
       (while (and result
-                 (not (equal (or port "nntp")
+                 (not (equal (or port defaultport "nntp")
                              (or (gnus-netrc-get (car result) "port")
-                                 "nntp"))))
+                                 defaultport "nntp"))))
        (pop result))
       (car result))))
 
index e5edb70..4868429 100644 (file)
@@ -523,15 +523,14 @@ If EXAMINE is non-nil the group is selected read-only."
                (imap-capability 'IMAP4rev1 nnimap-server-buffer))
       (imap-close nnimap-server-buffer)
       (nnheader-report 'nnimap "Server %s is not IMAP4 compliant" server))
-    (let (list alist user passwd)
-      (and (fboundp 'gnus-parse-netrc)
-          (setq list (gnus-parse-netrc nnimap-authinfo-file)
-                alist (or (and (gnus-netrc-get
-                                (gnus-netrc-machine list server) "machine")
-                               (gnus-netrc-machine list server))
-                          (gnus-netrc-machine list nnimap-address))
-                user (gnus-netrc-get alist "login")
-                passwd (gnus-netrc-get alist "password")))
+    (let* ((list (gnus-parse-netrc nnimap-authinfo-file))
+          (port (if nnimap-server-port
+                    (int-to-string nnimap-server-port)
+                  "imap"))
+          (alist (or (gnus-netrc-machine list server port "imap")
+                     (gnus-netrc-machine list nnimap-address port "imap")))
+          (user (gnus-netrc-get alist "login"))
+          (passwd (gnus-netrc-get alist "password")))
       (if (imap-authenticate user passwd nnimap-server-buffer)
          (prog1
              (push (list server nnimap-server-buffer)