X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fsasl.el;h=9321efdfda823894603f23716f9b787f376830cb;hb=151fca5f294dfac0150d9b4338bc0c6b27d3e4a2;hp=593f46bd1bce44d2b2872e74c92811cec7f60b46;hpb=1295539d3e6e60d8960459aa3b2dfd0a38978332;p=gnus diff --git a/lisp/sasl.el b/lisp/sasl.el index 593f46bd1..9321efdfd 100644 --- a/lisp/sasl.el +++ b/lisp/sasl.el @@ -1,26 +1,24 @@ ;;; sasl.el --- SASL client framework -;; Copyright (C) 2000 Free Software Foundation, Inc. +;; Copyright (C) 2000, 2007-2015 Free Software Foundation, Inc. ;; Author: Daiki Ueno ;; Keywords: SASL -;; This file is part of FLIM (Faithful Library about Internet Message). +;; This file is part of GNU Emacs. -;; This program is free software; you can redistribute it and/or -;; modify it under the terms of the GNU General Public License as -;; published by the Free Software Foundation; either version 2, or (at -;; your option) any later version. +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. -;; This program is distributed in the hope that it will be useful, but -;; WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; General Public License for more details. +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with this program; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -37,8 +35,8 @@ ;;; Code: (defvar sasl-mechanisms - '("CRAM-MD5" "DIGEST-MD5" "PLAIN" "LOGIN" "ANONYMOUS" - "NTLM" "SCRAM-MD5")) + '("SCRAM-SHA-1" "CRAM-MD5" "DIGEST-MD5" "PLAIN" "LOGIN" "ANONYMOUS" + "NTLM")) (defvar sasl-mechanism-alist '(("CRAM-MD5" sasl-cram) @@ -47,7 +45,7 @@ ("LOGIN" sasl-login) ("ANONYMOUS" sasl-anonymous) ("NTLM" sasl-ntlm) - ("SCRAM-MD5" sasl-scram))) + ("SCRAM-SHA-1" sasl-scram-rfc))) (defvar sasl-unique-id-function #'sasl-unique-id-function) @@ -88,7 +86,7 @@ The second argument PLIST is the new property list." (setplist (aref client 4) plist)) (defun sasl-client-set-property (client property value) - "Add the given property/value to CLIENT." + "Add the given PROPERTY/VALUE to CLIENT." (put (aref client 4) property value)) (defun sasl-client-property (client property) @@ -105,7 +103,7 @@ The second argument PLIST is the new property list." (defun sasl-make-mechanism (name steps) "Make an authentication mechanism. NAME is a IANA registered SASL mechanism name. -STEPS is list of continuation function." +STEPS is list of continuation functions." (vector name (mapcar (lambda (step) @@ -123,7 +121,7 @@ STEPS is list of continuation function." (aref mechanism 1)) (defun sasl-find-mechanism (mechanisms) - "Retrieve an apropriate mechanism object from MECHANISMS hints." + "Retrieve an appropriate mechanism object from MECHANISMS hints." (let* ((sasl-mechanisms sasl-mechanisms) (mechanism (catch 'done @@ -149,9 +147,9 @@ STEPS is list of continuation function." (defun sasl-next-step (client step) "Evaluate the challenge and prepare an appropriate next response. -The data type of the value and optional 2nd argument STEP is nil or -opaque authentication step which holds the reference to the next action -and the current challenge. At the first time STEP should be set to nil." +The data type of the value and 2nd argument STEP is nil or opaque +authentication step which holds the reference to the next action and +the current challenge. At the first time STEP should be set to nil." (let* ((steps (sasl-mechanism-steps (sasl-client-mechanism client))) @@ -185,7 +183,7 @@ It contain at least 64 bits of entropy." ;; Don't use microseconds from (current-time), they may be unsupported. ;; Instead we use this randomly inited counter. (setq sasl-unique-id-char - (% (1+ (or sasl-unique-id-char (logand (random t) (1- (lsh 1 20))))) + (% (1+ (or sasl-unique-id-char (logand (random) (1- (lsh 1 20))))) ;; (current-time) returns 16-bit ints, ;; and 2^16*25 just fits into 4 digits i base 36. (* 25 25)))