+2000-10-28 16:54:45 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * mml.el (mml-generate-mime-postprocess-function): Set to
+ mml-postprocess.
+ (autoload): Autoload mml2015 and mml-smime.
+ (mml-postprocess-alist): Use mml2015-sign and mml2015-encrypt.
+ * mml2015.el (mml2015-encrypt): New function.
+ (mml2015-sign): New function.
+ (mml2015-encrypt-function): New variable.
+ (mml2015-sign-function): New variable.
+ (mml2015-mailcrypt-encrypt): Use message-recipients.
+ (mml2015-setup): Don't set mml-generate-mime-postprocess-function.
+ * mml-smime.el (mml-smime-setup): Ditto.
+
2000-10-28 Simon Josefsson <sj@extundo.com>
* imap.el (imap-parse-resp-text-code): Workaround bug in Stalker
2000-10-28 10:09:41 ShengHuo ZHU <zsh@cs.rochester.edu>
* message.el (message-options): New variable.
- (message-send): Use it.
- * gnus-int.el (gnus-request-replace-article): Use it.
+ (message-options-set-recipient): New function.
+ (message-send): Use them.
+ * gnus-int.el (gnus-request-replace-article): Use them.
(gnus-request-accept-article): Ditto.
- * mml.el (mml-preview): Use it.
- * gnus-sum.el (gnus-summary-edit-article): Use it.
+ * mml.el (mml-preview): Use them.
+ * gnus-sum.el (gnus-summary-edit-article): Use them.
* message.el (message-options-get): New function.
(message-options-get): New function.
(insert "\n"))
(unless no-encode
(let ((message-options message-options))
+ (message-options-set-recipient)
(save-restriction
(message-narrow-to-head)
(let ((mail-parse-charset message-default-charset))
(defun gnus-request-replace-article (article group buffer &optional no-encode)
(unless no-encode
(let ((message-options message-options))
+ (message-options-set-recipient)
(save-restriction
(message-narrow-to-head)
(let ((mail-parse-charset message-default-charset))
`(lambda (no-highlight)
(let ((mail-parse-charset ',gnus-newsgroup-charset)
(message-options message-options)
+ (message-options-set-recipient)
(mail-parse-ignored-charsets
',gnus-newsgroup-ignored-charsets))
,(if (not raw) '(progn
(success t)
elem sent
(message-options message-options))
+ (message-options-set-recipient)
(while (and success
(setq elem (pop alist)))
(when (funcall (cadr elem))
(push (cons symbol value) message-options))))
value)
+(defun message-options-set-recipient ()
+ (save-restriction
+ (message-narrow-to-headers-or-head)
+ (message-options-set 'message-sender
+ (mail-strip-quoted-names
+ (message-fetch-field "from")))
+ (message-options-set 'message-recipients
+ (mail-strip-quoted-names
+ (message-fetch-field "to")))))
+
(provide 'message)
(run-hooks 'message-load-hook)
;;;###autoload
(defun mml-smime-setup ()
- (setq mml-generate-mime-postprocess-function 'mml-postprocess))
+ )
(provide 'mml-smime)
The function is called with one parameter, which is the part to be
generated.")
-(defvar mml-generate-mime-postprocess-function nil
+(defvar mml-generate-mime-postprocess-function 'mml-postprocess
"A function called after generating a mime part.
The function is called with one parameter, which is the generated part.")
+(autoload 'mml2015-sign "mml2015")
+(autoload 'mml2015-encrypt "mml2015")
+(autoload 'mml-smime-encrypt "mml-smime")
+(autoload 'mml-smime-sign "mml-smime")
+
(defvar mml-postprocess-alist
- '(("pgp-sign" . mml2015-mailcrypt-sign)
- ("pgp-encrypt" . mml2015-mailcrypt-encrypt)
+ '(("pgp-sign" . mml2015-sign)
+ ("pgp-encrypt" . mml2015-encrypt)
("smime-sign" . mml-smime-sign)
("smime-encrypt" . mml-smime-encrypt))
"Alist of postprocess functions.")
(message-narrow-to-headers-or-head)
(message-fetch-field "Newsgroups")))
message-posting-charset)))
+ (message-options-set-recipient)
(switch-to-buffer (generate-new-buffer
(concat (if raw "*Raw MIME preview of "
"*MIME preview of ") (buffer-name))))
(defvar mml2015-decrypt-function 'mailcrypt-decrypt)
(defvar mml2015-verify-function 'mailcrypt-verify)
+(defvar mml2015-encrypt-function 'mml2015-mailcrypt-encrypt)
+(defvar mml2015-sign-function 'mml2015-mailcrypt-sign)
;;;###autoload
(defun mml2015-decrypt (handle)
(error "Corrupted pgp-encrypted part.")
(gnus-mime-display-mixed (cdr handle)))))))
-;; FIXME: mm-dissect-buffer loses information of micalg and the
-;; original header of signed part.
-
+;;;###autoload
(defun mml2015-verify (handle)
+ ;; FIXME: mm-dissect-buffer loses information of micalg and the
+ ;; original header of signed part.
(if (y-or-n-p "Verify signed part?" )
(let (child result hash)
(with-temp-buffer
(defvar mml2015-mailcrypt-prefix 0)
-;;;###autoload
(defun mml2015-mailcrypt-sign (cont)
(mailcrypt-sign mml2015-mailcrypt-prefix)
(let ((boundary
(insert (format "--%s--\n" boundary))
(goto-char (point-max))))
-;;;###autoload
(defun mml2015-mailcrypt-encrypt (cont)
- ;; FIXME:
- ;; You have to input the receiptant.
- (mailcrypt-encrypt mml2015-mailcrypt-prefix)
+ (require 'mc-toplev)
+ (mc-encrypt-generic
+ (or (message-options-get 'message-recipients)
+ (message-options-set 'message-recipients
+ (mc-cleanup-recipient-headers
+ (read-string "Recipients: ")))))
(let ((boundary
(funcall mml-boundary-function (incf mml-multipart-number))))
(goto-char (point-min))
(insert (format "--%s--\n" boundary))
(goto-char (point-max))))
+;;;###autoload
+(defun mml2015-encrypt (cont)
+ (funcall mml2015-encrypt-function cont))
+
+;;;###autoload
+(defun mml2015-sign (cont)
+ (funcall mml2015-sign-function cont))
+
;;;###autoload
(defun mml2015-setup ()
- (setq mml-generate-mime-postprocess-function 'mml-postprocess)
-; (push '("multipart/signed" . mml2015-verify)
-; gnus-mime-multipart-functions)
+ ;;(push '("multipart/signed" . mml2015-verify) gnus-mime-multipart-functions)
(push '("multipart/encrypted" . mml2015-decrypt)
gnus-mime-multipart-functions))