From 31ac812d0664c72238c6c2266c35d478474c7697 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Mon, 25 Sep 2000 08:17:31 +0000 Subject: [PATCH] Synch with `t-gnus-6_14' and Gnus. --- ChangeLog | 8 +++ README | 2 +- README.semi | 8 +-- README.semi.ja | 8 +-- lisp/ChangeLog | 39 +++++++++++ lisp/gnus-group.el | 5 +- lisp/gnus-vers.el | 2 +- lisp/gnus.el | 2 +- lisp/imap.el | 187 +++++++++++++++++++++++++++++-------------------- lisp/mail-source.el | 13 ++-- lisp/nnimap.el | 9 ++- lisp/rfc2104.el | 29 +++++--- texi/ChangeLog | 4 ++ texi/emacs-mime.texi | 60 +++++++--------- texi/gnus-faq-ja.texi | 20 +++--- texi/gnus-ja.texi | 112 ++++++++++++----------------- texi/gnus.texi | 119 ++++++++++++++++--------------- texi/message-ja.texi | 85 +++++++--------------- texi/message.texi | 60 +++++++--------- 19 files changed, 404 insertions(+), 368 deletions(-) diff --git a/ChangeLog b/ChangeLog index f1cd6f8..b913eb0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2000-09-25 Katsumi Yamaoka + + * lisp/gnus-vers.el (gnus-revision-number): Increment to 05. + + * texi/gnus-faq-ja.texi, lisp/gnus.el, README.semi.ja, README.semi, + README: Replace "" with + "". + 2000-09-22 TAKAHASHI Kaoru * lisp/ptexinfmt.el (texinfo-format-printindex): Add diff --git a/README b/README index 698b02d..b5cefcd 100644 --- a/README +++ b/README @@ -56,4 +56,4 @@ There are four main things I want your help and input on: bit, and features you would like to see. Send any comments and all your bug fixes/complaints to -`semi-gnus-ja@meadow.scphys.kyoto-u.ac.jp' (or `bugs@gnus.org'). +`semi-gnus-ja@meadowy.org' (or `bugs@gnus.org'). diff --git a/README.semi b/README.semi index 7326e11..1c46eb6 100644 --- a/README.semi +++ b/README.semi @@ -98,8 +98,8 @@ send a bug report to the Gnus maintainers. is a Gnus proper, please send a bug report to the Semi-gnus mailing list: - semi-gnus-en@meadow.scphys.kyoto-u.ac.jp (English) - semi-gnus-ja@meadow.scphys.kyoto-u.ac.jp (Japanese) + semi-gnus-en@meadowy.org (English) + semi-gnus-ja@meadowy.org (Japanese) Suggestions for T-gnus improvements are also welcome. @@ -107,8 +107,8 @@ Suggestions for T-gnus improvements are also welcome. latest release of T-gnus, and discuss future enhancements to T-gnus. To join the Semi-gnus ML, send an empty e-mail to - semi-gnus-en-help@meadow.scphys.kyoto-u.ac.jp (English) - semi-gnus-ja-help@meadow.scphys.kyoto-u.ac.jp (Japanese) + semi-gnus-en-help@meadowy.org (English) + semi-gnus-ja-help@meadowy.org (Japanese) In addition, we need developers. If you would like to develop it, please send mail to cvs@cvs.m17n.org with your account name and your diff --git a/README.semi.ja b/README.semi.ja index b1af849..96f7204 100644 --- a/README.semi.ja +++ b/README.semi.ja @@ -99,8 +99,8 @@ ftp://ftp.m17n.org/pub/mule/semi/semi-1.13-for-flim-1.13/ T-gnus $B$N%P%0$r8+$D$1$?$+!"(BGnus $B$N%P%0$G$"$k$+$I$&$+$,J,$+$i$J$$$H$-(B $B$O!"%P%0Js9p$r(B Semi-gnus $B%a!<%j%s%0%j%9%H$KAw$C$F$/$@$5$$(B: - semi-gnus-en@meadow.scphys.kyoto-u.ac.jp ($B1Q8l(B) - semi-gnus-ja@meadow.scphys.kyoto-u.ac.jp ($BF|K\8l(B) + semi-gnus-en@meadowy.org ($B1Q8l(B) + semi-gnus-ja@meadowy.org ($BF|K\8l(B) T-gnus $B$N2~A1$N$?$a$NDs0F$b4?7^$5$l$^$9!#(B @@ -108,8 +108,8 @@ ftp://ftp.m17n.org/pub/mule/semi/semi-1.13-for-flim-1.13/ $B%j!<%9$r-Mh$N3HD%$r5DO@$7$?$j$9$k$3$H$,$G$-$^(B $B$9!#(BSemi-gnus ML $B$K;22C$9$k$?$a$K$O(B - semi-gnus-en-help@meadow.scphys.kyoto-u.ac.jp ($B1Q8l(B) - semi-gnus-ja-help@meadow.scphys.kyoto-u.ac.jp ($BF|K\8l(B) + semi-gnus-en-help@meadowy.org ($B1Q8l(B) + semi-gnus-ja-help@meadowy.org ($BF|K\8l(B) $B$K6u$N%a!<%k$rAw$C$F$/$@$5$$!#(B diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a7926f5..41ae8e2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,42 @@ +2000-09-24 Simon Josefsson + + * nnimap.el (nnimap-request-accept-article): Remove From[^:] lines. + + * gnus-group.el (gnus-group-nnimap-edit-acl): Check if server + support ACL's. + + * nnimap.el (nnimap-acl-get): Check capability. + + * mail-source.el (mail-source-imap-file-coding-system): New variable. + (mail-source-fetch-imap): Use it. + + * rfc2104.el (rfc2104-hexstring-to-bitstring): New function. + (rfc2104-hash): Use it. + + * imap.el (imap-starttls-p): Check for starttls binary. + (imap-starttls-open): More verbose. + (imap-gssapi-auth): Ditto. + (imap-kerberos4-auth): Ditto. + (imap-cram-md5-auth): Ditto. + (imap-login-auth): Ditto. + (imap-anonymous-auth): Ditto. + (imap-digest-md5-auth): Ditto. + (imap-open): Ditto. + (imap-digest-md5-p): Check capability first. + +2000-09-24 Simon Josefsson + + * imap.el (imap-parse-flag-list): Correctly parse empty lists. + (imap-login-p): Support LOGINDISABLED. + +2000-09-23 Simon Josefsson + + * rfc2104.el: Add SHA-1 example. + +2000-09-22 Simon Josefsson + + * imap.el (imap-parse-body): Work around bug in Sun SIMS. + 2000-09-21 21:54:48 ShengHuo ZHU * lpath.el: Bind nnkiboze-score-file. diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index 308e94d..3bf4bd0 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -2457,8 +2457,9 @@ score file entries for articles to include in the group." (error "Killed group; can't be edited")) (unless (eq (car (setq method (gnus-find-method-for-group group))) 'nnimap) (error "%s is not an nnimap group" group)) - (gnus-edit-form (setq acl (nnimap-acl-get mailbox (cadr method))) - (format "Editing the access control list for `%s'. + (unless (setq acl (nnimap-acl-get mailbox (cadr method))) + (error "Server does not support ACL's")) + (gnus-edit-form acl (format "Editing the access control list for `%s'. An access control list is a list of (identifier . rights) elements. diff --git a/lisp/gnus-vers.el b/lisp/gnus-vers.el index a3a888f..19997ff 100644 --- a/lisp/gnus-vers.el +++ b/lisp/gnus-vers.el @@ -31,7 +31,7 @@ (require 'product) (provide 'gnus-vers) -(defconst gnus-revision-number "04" +(defconst gnus-revision-number "05" "Revision number for this version of gnus.") ;; Product information of this gnus. diff --git a/lisp/gnus.el b/lisp/gnus.el index c911fc0..02e7e43 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -1597,7 +1597,7 @@ If nil, no default charset is assumed when posting." (defvar gnus-have-read-active-file nil) (defconst gnus-maintainer - "semi-gnus-ja@meadow.scphys.kyoto-u.ac.jp (T-gnus Bugfixing Girls + Boys)" + "semi-gnus-ja@meadowy.org (T-gnus Bugfixing Girls + Boys)" "The mail address of the T-gnus maintainers.") (defcustom gnus-info-filename nil diff --git a/lisp/imap.el b/lisp/imap.el index 0b22925..c82a726 100644 --- a/lisp/imap.el +++ b/lisp/imap.el @@ -75,11 +75,11 @@ ;; ;; imap.el support RFC1730/2060 (IMAP4/IMAP4rev1), implemented IMAP ;; extensions are RFC2195 (CRAM-MD5), RFC2086 (ACL), RFC2342 -;; (NAMESPACE), RFC2359 (UIDPLUS), the IMAP-part of RFC2595 (STARTTLS) -;; (with use of external library starttls.el and program starttls) and -;; the GSSAPI / kerberos V4 sections of RFC1731 (with use of external -;; program `imtest'). It also take advantage the UNSELECT extension -;; in Cyrus IMAPD. +;; (NAMESPACE), RFC2359 (UIDPLUS), the IMAP-part of RFC2595 (STARTTLS, +;; LOGINDISABLED) (with use of external library starttls.el and +;; program starttls) and the GSSAPI / kerberos V4 sections of RFC1731 +;; (with use of external program `imtest'). It also take advantage +;; the UNSELECT extension in Cyrus IMAPD. ;; ;; Without the work of John McClary Prevost and Jim Radford this library ;; would not have seen the light of day. Many thanks. @@ -469,7 +469,8 @@ If ARGS, PROMPT is used as an argument to `format'." (goto-char (point-max)) (insert-buffer-substring buffer))) (erase-buffer) - (message "Kerberos 4 IMAP connection: %s" (or response "failed")) + (message "Opening Kerberos 4 IMAP connection with `%s'...%s" cmd + (if response (concat "done, " response) "failed")) (if (and response (let ((case-fold-search nil)) (not (string-match "failed" response)))) (setq done process) @@ -584,7 +585,7 @@ If ARGS, PROMPT is used as an argument to `format'." (progn (message "imap: Opening SSL connection with `%s'...done" cmd) done) - (message "imap: Failed opening SSL connection") + (message "imap: Opening SSL connection with `%s'...failed" cmd) nil))) (defun imap-network-p (buffer) @@ -645,19 +646,23 @@ If ARGS, PROMPT is used as an argument to `format'." (progn (message "imap: Opening IMAP connection with `%s'...done" cmd) done) - (message "imap: Failed opening IMAP connection") + (message "imap: Opening IMAP connection with `%s'...failed" cmd) nil))) (defun imap-starttls-p (buffer) - (and (condition-case () - (require 'starttls) - (error nil)) - (imap-capability 'STARTTLS buffer))) + (and (imap-capability 'STARTTLS buffer) + (condition-case () + (progn + (require 'starttls) + (call-process "starttls")) + (error nil)))) (defun imap-starttls-open (name buffer server port) (let* ((port (or port imap-default-port)) (process (as-binary-process - (starttls-open-stream name buffer server port)))) + (starttls-open-stream name buffer server port))) + done) + (message "imap: Connecting with STARTTLS...") (when process (while (and (memq (process-status process) '(open run)) (goto-char (point-min)) @@ -678,7 +683,13 @@ If ARGS, PROMPT is used as an argument to `format'." (starttls-negotiate imap-process))) (set-process-filter imap-process nil))) (when (memq (process-status process) '(open run)) - process)))) + (setq done process))) + (if done + (progn + (message "imap: Connecting with STARTTLS...done") + done) + (message "imap: Connecting with STARTTLS...failed") + nil))) ;; Server functions; authenticator stuff: @@ -724,12 +735,16 @@ Returns t if login was successful, nil otherwise." (imap-capability 'AUTH=GSSAPI buffer)) (defun imap-gssapi-auth (buffer) + (message "imap: Authenticating using GSSAPI...%s" + (if (eq imap-stream 'gssapi) "done" "failed")) (eq imap-stream 'gssapi)) (defun imap-kerberos4-auth-p (buffer) (imap-capability 'AUTH=KERBEROS_V4 buffer)) (defun imap-kerberos4-auth (buffer) + (message "imap: Authenticating using Kerberos 4...%s" + (if (eq imap-stream 'kerberos4) "done" "failed")) (eq imap-stream 'kerberos4)) (defun imap-cram-md5-p (buffer) @@ -737,30 +752,38 @@ Returns t if login was successful, nil otherwise." (defun imap-cram-md5-auth (buffer) "Login to server using the AUTH CRAM-MD5 method." - (imap-interactive-login - buffer - (lambda (user passwd) - (imap-ok-p - (imap-send-command-wait - (list - "AUTHENTICATE CRAM-MD5" - (lambda (challenge) - (let* ((decoded (base64-decode-string challenge)) - (hash-function (if (and (featurep 'xemacs) - (>= (function-max-args 'md5) 4)) - (lambda (object &optional start end) - (md5 object start end 'binary)) - 'md5)) - (hash (rfc2104-hash hash-function 64 16 passwd decoded)) - (response (concat user " " hash)) - (encoded (base64-encode-string response))) - encoded)))))))) + (message "imap: Authenticating using CRAM-MD5...") + (let ((done (imap-interactive-login + buffer + (lambda (user passwd) + (imap-ok-p + (imap-send-command-wait + (list + "AUTHENTICATE CRAM-MD5" + (lambda (challenge) + (let* ((decoded (base64-decode-string challenge)) + (hash-function + (if (and (featurep 'xemacs) + (>= (function-max-args 'md5) 4)) + (lambda (object &optional start end) + (md5 object start end 'binary)) + 'md5)) + (hash (rfc2104-hash hash-function 64 16 + passwd decoded)) + (response (concat user " " hash)) + (encoded (base64-encode-string response))) + encoded))))))))) + (if done + (message "imap: Authenticating using CRAM-MD5...done") + (message "imap: Authenticating using CRAM-MD5...failed")))) (defun imap-login-p (buffer) - (not (imap-capability 'X-LOGIN-CMD-DISABLED buffer))) + (and (not (imap-capability 'LOGINDISABLED buffer)) + (not (imap-capability 'X-LOGIN-CMD-DISABLED buffer)))) (defun imap-login-auth (buffer) "Login to server using the LOGIN command." + (message "imap: Plaintext authentication...") (imap-interactive-login buffer (lambda (user passwd) (imap-ok-p (imap-send-command-wait @@ -771,19 +794,21 @@ Returns t if login was successful, nil otherwise." t) (defun imap-anonymous-auth (buffer) + (message "imap: Loging in anonymously...") (with-current-buffer buffer (imap-ok-p (imap-send-command-wait (concat "LOGIN anonymous \"" (concat (user-login-name) "@" (system-name)) "\""))))) (defun imap-digest-md5-p (buffer) - (and (condition-case () + (and (imap-capability 'AUTH=DIGEST-MD5 buffer) + (condition-case () (require 'digest-md5) - (error nil)) - (imap-capability 'AUTH=DIGEST-MD5 buffer))) + (error nil)))) (defun imap-digest-md5-auth (buffer) "Login to server using the AUTH DIGEST-MD5 method." + (message "imap: Authenticating using DIGEST-MD5...") (imap-interactive-login buffer (lambda (user passwd) @@ -849,37 +874,44 @@ necessery. If nil, the buffer name is generated." (setq imap-port (or port imap-port)) (setq imap-auth (or auth imap-auth)) (setq imap-stream (or stream imap-stream)) - (when (let ((imap-stream (or imap-stream imap-default-stream))) - (imap-open-1 buffer)) - ;; Choose stream. - (let (stream-changed) - (when (null imap-stream) - (let ((streams imap-streams)) - (while (setq stream (pop streams)) - (if (funcall (nth 1 (assq stream imap-stream-alist)) buffer) - (setq stream-changed (not (eq (or imap-stream - imap-default-stream) - stream)) - imap-stream stream - streams nil))) - (unless imap-stream - (error "Couldn't figure out a stream for server")))) - (when stream-changed - (message "Reconnecting with %s..." imap-stream) - (imap-close buffer) - (imap-open-1 buffer) - (setq imap-capability nil))) - (if (imap-opened buffer) - ;; Choose authenticator - (when (and (null imap-auth) (not (eq imap-state 'auth))) - (let ((auths imap-authenticators)) - (while (setq auth (pop auths)) - (if (funcall (nth 1 (assq auth imap-authenticator-alist)) - buffer) - (setq imap-auth auth - auths nil))) - (unless imap-auth - (error "Couldn't figure out authenticator for server")))))) + (message "imap: Connecting to %s..." imap-server) + (if (let ((imap-stream (or imap-stream imap-default-stream))) + (imap-open-1 buffer)) + ;; Choose stream. + (let (stream-changed) + (message "imap: Connecting to %s...done" imap-server) + (when (null imap-stream) + (let ((streams imap-streams)) + (while (setq stream (pop streams)) + (if (funcall (nth 1 (assq stream imap-stream-alist)) buffer) + (setq stream-changed (not (eq (or imap-stream + imap-default-stream) + stream)) + imap-stream stream + streams nil))) + (unless imap-stream + (error "Couldn't figure out a stream for server")))) + (when stream-changed + (message "imap: Reconnecting with stream `%s'..." imap-stream) + (imap-close buffer) + (if (imap-open-1 buffer) + (message "imap: Reconnecting with stream `%s'...done" + imap-stream) + (message "imap: Reconnecting with stream `%s'...failed" + imap-stream)) + (setq imap-capability nil)) + (if (imap-opened buffer) + ;; Choose authenticator + (when (and (null imap-auth) (not (eq imap-state 'auth))) + (let ((auths imap-authenticators)) + (while (setq auth (pop auths)) + (if (funcall (nth 1 (assq auth imap-authenticator-alist)) + buffer) + (setq imap-auth auth + auths nil))) + (unless imap-auth + (error "Couldn't figure out authenticator for server")))))) + (message "imap: Connecting to %s...failed" imap-server)) (when (imap-opened buffer) (setq imap-mailbox-data (make-vector imap-mailbox-prime 0)) buffer))) @@ -2167,14 +2199,14 @@ Return nil if no complete line has arrived." (defun imap-parse-flag-list () (let (flag-list start) - (when (eq (char-after) ?\() - (imap-forward) - (while (and (not (eq (char-before) ?\))) - (setq start (point)) - (> (skip-chars-forward "^ )" (gnus-point-at-eol)) 0)) - (push (buffer-substring start (point)) flag-list) - (imap-forward)) - (nreverse flag-list)))) + (assert (eq (char-after) ?\()) + (while (and (not (eq (char-after) ?\))) + (setq start (progn (imap-forward) (point))) + (> (skip-chars-forward "^ )" (gnus-point-at-eol)) 0)) + (push (buffer-substring start (point)) flag-list)) + (assert (eq (char-after) ?\))) + (imap-forward) + (nreverse flag-list))) ;; envelope = "(" env-date SP env-subject SP env-from SP env-sender SP ;; env-reply-to SP env-to SP env-cc SP env-bcc SP @@ -2399,7 +2431,10 @@ Return nil if no complete line has arrived." (imap-forward) (push (imap-parse-nstring) body);; body-fld-desc (imap-forward) - (push (imap-parse-string) body);; body-fld-enc + ;; next `or' for Sun SIMS bug, it regard body-fld-enc as a + ;; nstring and return NIL instead of defaulting back to 7BIT + ;; as the standard says. + (push (or (imap-parse-nstring) "7BIT") body);; body-fld-enc (imap-forward) (push (imap-parse-number) body);; body-fld-octets diff --git a/lisp/mail-source.el b/lisp/mail-source.el index 42ee683..70c3ff7 100644 --- a/lisp/mail-source.el +++ b/lisp/mail-source.el @@ -803,7 +803,11 @@ This only works when `display-time' is enabled." (autoload 'imap-close "imap") (autoload 'imap-error-text "imap") (autoload 'imap-message-flags-add "imap") - (autoload 'imap-list-to-message-set "imap")) + (autoload 'imap-list-to-message-set "imap") + (autoload 'imap-range-to-message-set "imap")) + +(defvar mail-source-imap-file-coding-system 'binary + "Coding system for the crashbox made by `mail-source-fetch-imap'.") (defun mail-source-fetch-imap (source callback) "Fetcher for imap sources." @@ -820,8 +824,8 @@ This only works when `display-time' is enabled." password) buf) (imap-mailbox-select mailbox nil buf)) (let (str - (coding-system-for-write 'binary) - (output-coding-system 'binary)) + (coding-system-for-write mail-source-imap-file-coding-system) + (output-coding-system mail-source-imap-file-coding-system)) (with-temp-file mail-source-crash-box ;; In some versions of FSF Emacs, inserting unibyte ;; string into multibyte buffer may convert 8-bit chars @@ -846,7 +850,8 @@ This only works when `display-time' is enabled." (incf found (mail-source-callback callback server)) (when (and remove fetchflag) (imap-message-flags-add - (imap-list-to-message-set remove) fetchflag nil buf)) + (imap-range-to-message-set (gnus-compress-sequence remove)) + fetchflag nil buf)) (if dontexpunge (imap-mailbox-unselect buf) (imap-mailbox-close buf)) diff --git a/lisp/nnimap.el b/lisp/nnimap.el index 8dcfe10..396f5a8 100644 --- a/lisp/nnimap.el +++ b/lisp/nnimap.el @@ -1119,9 +1119,13 @@ function is generally only called when Gnus is shutting down." nnimap-current-move-article) group 'dontcreate nil nnimap-server-buffer)) - ;; turn into rfc822 format (\r\n eol's) (with-current-buffer (current-buffer) (goto-char (point-min)) + ;; remove any 'From blabla' lines, some IMAP servers + ;; reject the entire message otherwise. + (when (looking-at "^From[^:]") + (kill-region (gnus-point-at-bol) (gnus-point-at-eol))) + ;; turn into rfc822 format (\r\n eol's) (while (search-forward "\n" nil t) (replace-match "\r\n"))) ;; this 'or' is for Cyrus server bug @@ -1151,7 +1155,8 @@ function is generally only called when Gnus is shutting down." (defun nnimap-acl-get (mailbox server) (when (nnimap-possibly-change-server server) - (imap-mailbox-acl-get mailbox nnimap-server-buffer))) + (and (imap-capability 'ACL nnimap-server-buffer) + (imap-mailbox-acl-get mailbox nnimap-server-buffer)))) (defun nnimap-acl-edit (mailbox method old-acls new-acls) (when (nnimap-possibly-change-server (cadr method)) diff --git a/lisp/rfc2104.el b/lisp/rfc2104.el index c7ce5ab..3d45982 100644 --- a/lisp/rfc2104.el +++ b/lisp/rfc2104.el @@ -1,5 +1,5 @@ ;;; rfc2104.el --- RFC2104 Hashed Message Authentication Codes -;; Copyright (C) 1998,1999 Free Software Foundation, Inc. +;; Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. ;; Author: Simon Josefsson ;; Keywords: mail @@ -31,10 +31,16 @@ ;;; (rfc2104-hash 'md5 64 16 "Jefe" "what do ya want for nothing?") ;;; "750c783e6ab0b503eaa86e310a5db738" ;;; +;;; (require 'sha-1) +;;; (rfc2104-hash 'sha1-encode 64 20 "Jefe" "what do ya want for nothing?") +;;; "effcdf6ae5eb2fa2d27416d5f184df9c259a7c79" +;;; ;;; 64 is block length of hash function (64 for MD5 and SHA), 16 is ;;; resulting hash length (16 for MD5, 20 for SHA). ;;; ;;; Tested with Emacs 20.2 and XEmacs 20.3. +;;; +;;; Test case reference: RFC 2202. ;;; Release history: ;;; @@ -43,6 +49,8 @@ ;;; 1998-08-26 don't require hexl ;;; 1998-09-25 renamed from hmac.el to rfc2104.el, also renamed functions ;;; 1999-10-23 included in pgnus +;;; 2000-08-15 `rfc2104-hexstring-to-bitstring' +;;; 2000-05-12 added sha-1 example, added test case reference (eval-when-compile (require 'cl)) @@ -76,6 +84,13 @@ (rfc2104-hex-to-int (reverse (append str nil)))) 0)) +(defun rfc2104-hexstring-to-bitstring (str) + (let (out) + (while (< 0 (length str)) + (push (rfc2104-hex-to-int (substring str -2)) out) + (setq str (substring str 0 -2))) + (concat out))) + (defun rfc2104-hash (hash block-length hash-length key text) (let* (;; if key is longer than B, reset it to HASH(key) (key (if (> (length key) block-length) @@ -90,14 +105,10 @@ ;; XOR key with ipad/opad into k_ipad/k_opad (setq k_ipad (mapcar (lambda (c) (logxor c rfc2104-ipad)) k_ipad)) (setq k_opad (mapcar (lambda (c) (logxor c rfc2104-opad)) k_opad)) - ;; perform inner hash - (let ((first-round (funcall hash (concat k_ipad text))) - de-hexed) - (while (< 0 (length first-round)) - (push (rfc2104-hex-to-int (substring first-round -2)) de-hexed) - (setq first-round (substring first-round 0 -2))) - ;; perform outer hash - (funcall hash (concat k_opad de-hexed))))) + ;; perform outer hash + (funcall hash (concat k_opad (rfc2104-hexstring-to-bitstring + ;; perform inner hash + (funcall hash (concat k_ipad text))))))) (provide 'rfc2104) diff --git a/texi/ChangeLog b/texi/ChangeLog index 5c20a34..ce2e674 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,7 @@ +2000-09-22 Dave Love + + * message.texi, gnus.texi, emacs-mime.texi: Convert to GFDL. + 2000-09-20 John H. Palmieri * gnus.texi (Mail Source Customization): Document of diff --git a/texi/emacs-mime.texi b/texi/emacs-mime.texi index 488a24c..ac2bc8f 100644 --- a/texi/emacs-mime.texi +++ b/texi/emacs-mime.texi @@ -14,31 +14,24 @@ @end iftex @setchapternewpage odd -@ifinfo +@ifnottex This file documents the Emacs MIME interface functionality. -Copyright (C) 1998,99 Free Software Foundation, Inc. +Copyright (C) 1998,99,2000 Free Software Foundation, Inc. -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being none, with the Front-Cover texts being ``A GNU +Manual'', and with the Back-Cover Texts as in (a) below. A copy of the +license is included in the section entitled ``GNU Free Documentation +License''. -@ignore -Permission is granted to process this file through Tex and print the -results, provided the printed document carries copying permission -notice identical to this one except for the removal of this paragraph -(this paragraph not being relevant to the printed manual). - -@end ignore -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. -@end ifinfo +(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify +this GNU Manual, like GNU software. Copies published by the Free +Software Foundation raise funds for GNU development.'' +@end ifnottex @tex @@ -49,20 +42,19 @@ into another language, under the above conditions for modified versions. @page @vskip 0pt plus 1filll -Copyright @copyright{} 1998,99 Free Software Foundation, Inc. - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. - +Copyright @copyright{} 1998,99,2000 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being none, with the Front-Cover texts being ``A GNU +Manual'', and with the Back-Cover Texts as in (a) below. A copy of the +license is included in the section entitled ``GNU Free Documentation +License''. + +(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify +this GNU Manual, like GNU software. Copies published by the Free +Software Foundation raise funds for GNU development.'' @end titlepage @page diff --git a/texi/gnus-faq-ja.texi b/texi/gnus-faq-ja.texi index 7ad9cb5..d145c7f 100644 --- a/texi/gnus-faq-ja.texi +++ b/texi/gnus-faq-ja.texi @@ -376,12 +376,12 @@ Q5.1: $B%a%$%j%s%0!&%j%9%H$+$iC&B`$9$k$K$O(B? @table @var @item $BF|K\8lMQ(B -@file{semi-gnus-ja-unsubscribe@@meadow.scphys.kyoto-u.ac.jp} $B$K6u$N%a%$(B -$B%k$rAw$C$F2<$5$$!#(B(Subject $B$bITMW$G$9!#(B) +@file{semi-gnus-ja-unsubscribe@@meadowy.org} $B$K6u$N%a%$%k$rAw$C$F2<$5$$!#(B +(Subject $B$bITMW$G$9!#(B) @item $B1Q8lMQ(B -@file{semi-gnus-en-unsubscribe@@meadow.scphys.kyoto-u.ac.jp} $B$K6u$N%a%$(B -$B%k$rAw$C$F2<$5$$!#(B(Subject $B$bITMW$G$9!#(B) +@file{semi-gnus-en-unsubscribe@@meadowy.org} $B$K6u$N%a%$%k$rAw$C$F2<$5$$!#(B +(Subject $B$bITMW$G$9!#(B) @end table @@ -394,12 +394,12 @@ T-gnus $B$G$O!"MxMQMh$NB?$/$N%Q%C%1!<%8$G:NMQ$5$l$F$$$k(B @table @var @item $BF|K\8lMQ(B -@file{semi-gnus-ja-help@@meadow.scphys.kyoto-u.ac.jp} $B$K6u$N%a!<%k$rAw$C(B -$B$F!"Aw$i$l$F$/$k%a!<%k$N;X<($K=>$C$F$/$/$@$5$$!#(B(Subject $B$bITMW$G$9!#(B) +@file{semi-gnus-ja-help@@meadowy.org} $B$K6u$N%a!<%k$rAw$C$F!"Aw$i$l$F$/$k(B +$B%a!<%k$N;X<($K=>$C$F$/$/$@$5$$!#(B(Subject $B$bITMW$G$9!#(B) @item $B1Q8lMQ(B -@file{semi-gnus-en-help@@meadow.scphys.kyoto-u.ac.jp} $B$K6u$N%a!<%k$rAw$C(B -$B$F!"Aw$i$l$F$/$k%a!<%k$N;X<($K=>$C$F$/$@$5$$!#(B(Subject $B$bITMW$G$9!#(B) +@file{semi-gnus-en-help@@meadowy.org} $B$K6u$N%a!<%k$rAw$C$F!"Aw$i$l$F$/$k(B +$B%a!<%k$N;X<($K=>$C$F$/$@$5$$!#(B(Subject $B$bITMW$G$9!#(B) @end table @@ -417,8 +417,8 @@ T-gnus $B$N3+H/Ey$K4X$9$kJ}?K$N7hDj$OA4$F(B Semi-gnus-ja/en $B%a!<%j%s%0%j%9% $B$7$F$OE,MQ$5$l$J$$!#(B @item -$B8xE*$J0F7o$NDs0F$*$h$S5DO@$O(B semi-gnus-ja@@meadow.scphys.kyoto-u.ac.jp $B$b(B -$B$7$/$O(Bsemi-gnus-en@@meadow.scphys.kyoto-u.ac.jp $B$G9T$&!#(B +$B8xE*$J0F7o$NDs0F$*$h$S5DO@$O(B semi-gnus-ja@@meadowy.org $B$b$7$/(B +$B$O(B semi-gnus-en@@meadowy.org $B$G9T$&!#(B @item $B:G=*E*$JJ}?K$O%"%s%1!<%H7k2L$NB??t0U8+$r:NMQ$9$k!#(B diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index bf18114..60ecfa7 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -272,77 +272,45 @@ \thispagestyle{empty} -Copyright \copyright{} 1995,96,97,98,99 Free Software Foundation, Inc. +Copyright \copyright{} 1995,96,97,98,99,2000 Free Software Foundation, Inc. -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. - -$BCx:n8"I=<($H$3$N5v2DJ8$,$9$Y$F$NJ#@=$KB8:_$9$k8B$j!"$3$N@bL@=q$N$^$C$?$/(B -$BF10l$NJ#@=$r:n$j!"G[I[$9$k$3$H$r5v2D$9$k!#(B - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -$BF10lJ#@=$N>r7o$N2<$G!"$=$l$K$h$C$FF@$i$l$?7k2L$r$3$N5v2DJ8$NI=<($HF10l$N(B -$B>r7o$N$b$H$GG[I[$9$k8B$j!"$3$N@bL@=q$N=$@5HG$NJ#@=$r$7!"G[I[$9$k$3$H$r5v(B -$B2D$9$k!#(B -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. - -$B>e5-$N=$@5HG$K4X$9$k>r7o$N2<$G!"$3$N@bL@=q$NK]Lu$NJ#@=$r:n$j!"G[I[$9$k$3(B -$B$H$r5v2D$9$k!#(B +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being none, with the Front-Cover texts being ``A GNU +Manual'', and with the Back-Cover Texts as in (a) below. A copy of the +license is included in the section entitled ``GNU Free Documentation +License''. +(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify +this GNU Manual, like GNU software. Copies published by the Free +Software Foundation raise funds for GNU development.'' \newpage \end{titlepage} @end iflatex @end iftex -@ifinfo +@ifnottex This file documents gnus, the GNU Emacs newsreader. $B$3$N%U%!%$%k$O(B GNU Emacs $B$N%K%e!<%9%j!<%@$G$"$k(B gnus $B$K4X$9$k@bL@=q$G$9!#(B -Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. - -$BCx:n8"I=<($H$3$N5v2DJ8$,$9$Y$F$NJ#@=$KB8:_$9$k8B$j!"$3$N@bL@=q$N$^$C$?$/(B -$BF10l$NJ#@=$r:n$j!"G[I[$9$k$3$H$r5v2D$9$k!#(B - -@ignore -Permission is granted to process this file through Tex and print the -results, provided the printed document carries copying permission -notice identical to this one except for the removal of this paragraph -(this paragraph not being relevant to the printed manual). - -$B$3$NCJMn$,H$5$l$^$;$s(B)$B!#(B - -@end ignore -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -$BF10lJ#@=$N>r7o$N2<$G!"$=$l$K$h$C$FF@$i$l$?7k2L$b$3$N5v2DJ8$NI=<($HF10l$N(B -$B>r7o$N$b$H$GG[I[$9$k8B$j!"$3$N@bL@=q$N=$@5HG$NJ#@=$r$7!"G[I[$9$k$3$H$r5v(B -$B2D$9$k!#(B +Copyright (C) 1995,96,97,98,99,2000 Free Software Foundation, Inc. -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being none, with the Front-Cover texts being ``A GNU +Manual'', and with the Back-Cover Texts as in (a) below. A copy of the +license is included in the section entitled ``GNU Free Documentation +License''. -$B>e5-$N=$@5HG$K4X$9$k>r7o$N2<$G!"$3$N@bL@=q$NK]Lu$NJ#@=$r:n$j!"G[I[$9$k$3(B -$B$H$r5v2D$9$k!#(B - -@end ifinfo +(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify +this GNU Manual, like GNU software. Copies published by the Free +Software Foundation raise funds for GNU development.'' +@end ifnottex @tex @@ -354,7 +322,7 @@ into another language, under the above conditions for modified versions. @page @vskip 0pt plus 1filll -Copyright @copyright{} 1995,96,97,98,99 Free Software Foundation, Inc. +Copyright @copyright{} 1995,96,97,98,99,2000 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -566,9 +534,6 @@ Marking Articles * Unread Articles:: $BL$FI5-;v$X$N0u(B * Read Articles:: $B4{FI5-;v$X$N0u(B * Other Marks:: $B9XFIEY$K1F6A$7$J$$0u(B - -Marking Articles - * Setting Marks:: $B0u$NIU$1J}$H>C$7J}(B * Generic Mark Commands:: $B0u$r$I$N$h$&$K%+%9%?%^%$%:$9$k$+(B * Setting Process Marks:: $B8e$N$l(B +$B$N%5!<%P!<$KBP$7$F;}$D;v$,$G$-$k$H$$$&;v$G$9!#(B @end table $B$3$NJQ?t$O4X?t$N%j%9%H$G$"$k;v$b$G$-$^$9!#$=$N>l9g$O!"$3$l$i$NA4$F$N4X?t(B -$B$,8F$P$l!"%9%3%"%U%!%$%k$NJV$5$l$?A4$F$N%j%9%H$,E,MQ$5$l$^$9!#$3$l$i$N4X(B -$B?t$OD>@\%9%3%"O"A[%j%9%H$N%j%9%H$rJV$9;v$b$G$-$^$9!#$=$N>l9g$O!"$=$l$i$N(B -$B%U%!%$%k$G$J$$%9%3%"O"A[%j%9%H$rJV$94X?t$O!"JV$5$l$k:G8e$N%9%3%"%U%!%$%k(B -$B$,%m!<%+%k%9%3%"%U%!%$%k$G$"$k;v$r3N$r0z?t$H$7$F8F$P$l!"%9%3%"%U%!%$%k$NJV$5$l$?A4$F$N%j%9%H$,E,(B +$BMQ$5$l$^$9!#$3$l$i$N4X?t$OD>@\%9%3%"O"A[%j%9%H$N%j%9%H$rJV$9;v$b$G$-$^$9!#(B +$B$=$N>l9g$O!"$=$l$i$N%U%!%$%k$G$J$$%9%3%"O"A[%j%9%H$rJV$94X?t$O!"JV$5$l$k(B +$B:G8e$N%9%3%"%U%!%$%k$,%m!<%+%k%9%3%"%U%!%$%k$G$"$k;v$r3NC5n%U%!%$%k$rJT=8$9$k$?$a$NFs$D$N35N,%P%C%U%!4X?t$,$"$j$^$9!#(B @end table +@c The URL below is invalid and the code isn't on gnus.org. +@ignore @node Converting Kill Files @section $B>C5n%U%!%$%k$NJQ49(B @cindex kill files @@ -15699,6 +15672,7 @@ GNUS $B>C5n%U%!%$%k$rJT=8$9$k$?$a$NFs$D$N35N,%P%C%U%!4X?t$,$"$j$^$9!#(B $B$K(B @code{gnus-kill} $B7A<00J30$N$b$N$,$?$/$5$s4^$^$l$F$$$l$P!"$=$l$i$rH$5$l$^$;$s(B)$B!#(B - -@end ignore -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -$BF10lJ#@=$N>r7o$N2<$G!"$=$l$K$h$C$FF@$i$l$?7k2L$b$3$N5v2DJ8$NI=<($HF10l$N(B -$B>r7o$N$b$H$GG[I[$9$k8B$j!"$3$N@bL@=q$N=$@5HG$NJ#@=$r$7!"G[I[$9$k$3$H$r5v(B -$B2D$9$k!#(B - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. - -$B>e5-$N=$@5HG$K4X$9$k>r7o$N2<$G!"$3$N@bL@=q$NK]Lu$NJ#@=$r:n$j!"G[I[$9$k$3(B -$B$H$r5v2D$9$k!#(B - -@end ifinfo +(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify +this GNU Manual, like GNU software. Copies published by the Free +Software Foundation raise funds for GNU development.'' +@end ifnottex @tex @@ -68,30 +46,19 @@ into another language, under the above conditions for modified versions. @page @vskip 0pt plus 1filll -Copyright @copyright{} 1996,97,98,99 Free Software Foundation, Inc. - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. - -$BCx:n8"I=<($H$3$N5v2DJ8$,$9$Y$F$NJ#@=$KB8:_$9$k8B$j!"$3$N@bL@=q$N$^$C$?$/(B -$BF10l$NJ#@=$r:n$j!"G[I[$9$k$3$H$r5v2D$9$k!#(B - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -$BF10lJ#@=$N>r7o$N2<$G!"$=$l$K$h$C$FF@$i$l$?7k2L$r$3$N5v2DJ8$NI=<($HF10l$N(B -$B>r7o$N$b$H$GG[I[$9$k8B$j!"$3$N@bL@=q$N=$@5HG$NJ#@=$r$7!"G[I[$9$k$3$H$r5v(B -$B2D$9$k!#(B - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. - -$B>e5-$N=$@5HG$K4X$9$k>r7o$N2<$G!"$3$N@bL@=q$NK]Lu$NJ#@=$r:n$j!"G[I[$9$k$3(B -$B$H$r5v2D$9$k!#(B - +Copyright @copyright{} 1996,97,98,99,2000 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being none, with the Front-Cover texts being ``A GNU +Manual'', and with the Back-Cover Texts as in (a) below. A copy of the +license is included in the section entitled ``GNU Free Documentation +License''. + +(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify +this GNU Manual, like GNU software. Copies published by the Free +Software Foundation raise funds for GNU development.'' @end titlepage @page diff --git a/texi/message.texi b/texi/message.texi index 27b5dfe..29a6cce 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -14,31 +14,24 @@ @end iftex @setchapternewpage odd -@ifinfo +@ifnottex This file documents Message, the Emacs message composition mode. -Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. +Copyright (C) 1996,97,98,99,2000 Free Software Foundation, Inc. -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being none, with the Front-Cover texts being ``A GNU +Manual'', and with the Back-Cover Texts as in (a) below. A copy of the +license is included in the section entitled ``GNU Free Documentation +License''. -@ignore -Permission is granted to process this file through Tex and print the -results, provided the printed document carries copying permission -notice identical to this one except for the removal of this paragraph -(this paragraph not being relevant to the printed manual). - -@end ignore -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. -@end ifinfo +(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify +this GNU Manual, like GNU software. Copies published by the Free +Software Foundation raise funds for GNU development.'' +@end ifnottex @tex @@ -49,20 +42,19 @@ into another language, under the above conditions for modified versions. @page @vskip 0pt plus 1filll -Copyright @copyright{} 1996,97,98,99 Free Software Foundation, Inc. - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. - +Copyright @copyright{} 1996,97,98,99,2000 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being none, with the Front-Cover texts being ``A GNU +Manual'', and with the Back-Cover Texts as in (a) below. A copy of the +license is included in the section entitled ``GNU Free Documentation +License''. + +(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify +this GNU Manual, like GNU software. Copies published by the Free +Software Foundation raise funds for GNU development.'' @end titlepage @page -- 1.7.10.4