(mm-codepage-setup): New helper function.
[gnus] / lisp / pop3.el
index 84e9234..b6fdad4 100644 (file)
@@ -1,7 +1,7 @@
 ;;; pop3.el --- Post Office Protocol (RFC 1460) interface
 
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
-;;        Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+;;   2004, 2005 Free Software Foundation, Inc.
 
 ;; Author: Richard L. Pieri <ratinox@peorth.gweep.net>
 ;; Maintainer: FSF
@@ -21,8 +21,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
@@ -38,7 +38,7 @@
 (require 'mail-utils)
 
 (defgroup pop3 nil
-  "Post Office Protocol"
+  "Post Office Protocol."
   :group 'mail
   :group 'mail-source)
 
                             (getenv "LOGNAME")
                             (getenv "USER"))
   "*POP3 maildrop."
-  :version "21.4" ;; Oort Gnus
+  :version "22.1" ;; Oort Gnus
   :type 'string
   :group 'pop3)
 
 (defcustom pop3-mailhost (or (getenv "MAILHOST") ;; nil -> mismatch
                             "pop3")
   "*POP3 mailhost."
-  :version "21.4" ;; Oort Gnus
+  :version "22.1" ;; Oort Gnus
   :type 'string
   :group 'pop3)
 
 (defcustom pop3-port 110
   "*POP3 port."
-  :version "21.4" ;; Oort Gnus
+  :version "22.1" ;; Oort Gnus
   :type 'number
   :group 'pop3)
 
 (defcustom pop3-password-required t
   "*Non-nil if a password is required when connecting to POP server."
-  :version "21.4" ;; Oort Gnus
+  :version "22.1" ;; Oort Gnus
   :type 'boolean
   :group 'pop3)
 
@@ -77,7 +77,7 @@
   "*POP3 authentication scheme.
 Defaults to 'pass, for the standard USER/PASS authentication.  Other valid
 values are 'apop."
-  :version "21.4" ;; Oort Gnus
+  :version "22.1" ;; Oort Gnus
   :type '(choice (const :tag "USER/PASS" pass)
                 (const :tag "APOP" apop))
   :group 'pop3)
@@ -91,7 +91,7 @@ no state information between sessions, so what the client
 believes is there and what is actually there may not match up.
 If they do not, then the whole thing can fall apart and leave you
 with a corrupt mailbox."
-  :version "21.4" ;; Oort Gnus
+  :version "22.1" ;; Oort Gnus
   :type 'boolean
   :group 'pop3)
 
@@ -348,28 +348,12 @@ If NOW, use that time instead."
 
 ;; AUTHORIZATION STATE
 
-(eval-and-compile
-  (if (fboundp 'md5)
-      (defalias 'pop3-md5 'md5)
-    (defvar pop3-md5-program "md5"
-      "*Program to encode its input in MD5.")
-
-    (defun pop3-md5 (string)
-      (with-temp-buffer
-       (insert string)
-       (call-process-region (point-min) (point-max)
-                            pop3-md5-program
-                            t (current-buffer) nil)
-       ;; The meaningful output is the first 32 characters.
-       ;; Don't return the newline that follows them!
-       (buffer-substring (point-min) (+ 32 (point-min)))))))
-
 (defun pop3-user (process user)
   "Send USER information to POP3 server."
   (pop3-send-command process (format "USER %s" user))
   (let ((response (pop3-read-response process t)))
     (if (not (and response (string-match "+OK" response)))
-       (error (format "USER %s not valid" user)))))
+       (error "USER %s not valid" user))))
 
 (defun pop3-pass (process)
   "Send authentication information to the server."
@@ -385,7 +369,7 @@ If NOW, use that time instead."
        (setq pass
              (read-passwd (format "Password for %s: " pop3-maildrop))))
     (if pass
-       (let ((hash (md5 (concat pop3-timestamp pass))))
+       (let ((hash (md5 (concat pop3-timestamp pass) nil nil 'binary)))
          (pop3-send-command process (format "APOP %s %s" user hash))
          (let ((response (pop3-read-response process t)))
            (if (not (and response (string-match "+OK" response)))
@@ -398,8 +382,8 @@ If NOW, use that time instead."
   "Return the number of messages in the maildrop and the maildrop's size."
   (pop3-send-command process "STAT")
   (let ((response (pop3-read-response process t)))
-    (list (string-to-int (nth 1 (split-string response " ")))
-         (string-to-int (nth 2 (split-string response " "))))
+    (list (string-to-number (nth 1 (split-string response " ")))
+         (string-to-number (nth 2 (split-string response " "))))
     ))
 
 (defun pop3-list (process &optional msg)
@@ -449,7 +433,7 @@ This function currently does nothing.")
   "Return highest accessed message-id number for the session."
   (pop3-send-command process "LAST")
   (let ((response (pop3-read-response process t)))
-    (string-to-int (nth 1 (split-string response " ")))
+    (string-to-number (nth 1 (split-string response " ")))
     ))
 
 (defun pop3-rset (process)