Gnus development mailing list
 help / color / mirror / Atom feed
From: "François Pinard" <pinard@iro.umontreal.ca>
Cc: Gnus Mailing List <ding@gnus.org>
Subject: PGP with Gnus [was: Re: TinyPGP/TM]
Date: 14 Mar 1999 08:14:17 -0500	[thread overview]
Message-ID: <oqr9qsp61i.fsf@titan.progiciels-bpi.ca> (raw)
In-Reply-To: Thomas Hungenberg's message of "14 Mar 1999 13:29:30 +0100"

Thomas Hungenberg <th@hansa.rhein.de> writes:

> Where can I find a recent version of the two tm-tipgp-*.els which work
> with tinypgp 2.101 ?!

Hello, Thomas.  I know I'm not really replying to your question, but I'm
nevertheless trying to be useful.  I'm using `mailcrypt.el' with PGP 5.0 and
it works rather well for me.  According to my notes (hopefully up-to-date :-)

   http://www.nb.net/~lbudney/linux/software/mailcrypt/mailcrypt-3.5b7.tar.gz

and installation was quite straightforward, no patch needed.

I use the same configuration files on a few different machines (and some
friends also use my files :-), so I gave myself a bit of portability.
Here is my PGP related `.bash_login' stuff:

---------------------------------------------------------------------->
setprog ()
{
  saveifs="$IFS"; IFS="$IFS:"
  for dir in $PATH; do
    if test -z "$dir"; then
      dir=`pwd`
    fi
    if test -x $dir/$2; then
      setenv $1 $dir/$2
      break
    fi
  done
  IFS="$saveifs"
}

setprog PGP pgp
# If we have `pgpe', then we have PGP5.
setprog PGPE pgpe
----------------------------------------------------------------------<

Here is my related `.emacs' stuff:

---------------------------------------------------------------------->
(unless (boundp 'PGP) (setq PGP (getenv "PGP")))

;;;; `Mailcrypt' mode.

(autoload 'mc-install-write-mode "mailcrypt" nil t)
(autoload 'mc-install-read-mode "mailcrypt" nil t)
(autoload 'mc-sign-message "mc-toplev")

(setq mc-always-replace t
      mc-pgp-always-sign t
      mc-pgp-path PGP
      mc-read-mode-string ""
      mc-write-mode-string "")

(when PGP
  (add-hook 'rmail-mode-hook 'mc-install-read-mode)
  (add-hook 'rmail-summary-mode-hook 'mc-install-read-mode)
  (when (getenv "PGPE")
    (eval-after-load "mailcrypt"
      '(mc-setversion "pgp50")))
  (eval-after-load "sendmail"
    '(add-hook 'mail-mode-hook 'mc-install-write-mode))
  (eval-after-load "message"
    '(add-hook 'message-mode-hook 'mc-install-write-mode))
  (eval-after-load "gnus-sum"
    '(add-hook 'gnus-summary-mode-hook 'mc-install-read-mode)))
----------------------------------------------------------------------<

Here is my `.gnus' related stuff:

---------------------------------------------------------------------->
(setq ;; [...]
      gnus-treat-strip-pgp t)

(add-hook 'gnus-article-hide-pgp-hook
	  (lambda ()
	    (save-excursion
	      (set-buffer gnus-original-article-buffer)
	      (mc-verify))))
----------------------------------------------------------------------<

My only problem with this, so far, is that it does not snarf keys (it does
not extract keys from messages to put them on my key ring).

Oh, there is another optional bit about interactively deciding how I sign
each message.  Here it is, for completeness.

---------------------------------------------------------------------->
(defconst fp-signature-type
  (cond ((member user-login-name '("bourbeau" "payette" "pinard")) 'ask)
	(t 'clear))
  "Possible values are 'clear, 'pgp, 'none or 'ask.")

(defun fp-sign-message ()
  (let* ((request (if PGP "Signature (c-clear, p-pgp, n-none)? [c] "
		    "Signature (y/n)? [y] "))
	 (replies (if PGP '((?c . clear) (?p . pgp) (?n . none)
			    (?y . clear) (?  . clear) (?\C-m . clear))
		    '((?y . clear) (?n . none)
		      (?c . clear) (?  . clear) (?\C-m . clear))))
	 (signature-type (if (eq fp-signature-type 'ask)
			     (let ((cursor-in-echo-area t)
				   (reply 0))
			       (while (not (assq reply replies))
				 (message request)
				 (setq reply (read-char-exclusive)))
			       (cdr (assq reply replies)))
			   fp-signature-type)))
    (cond ((eq signature-type 'clear) (mail-signature nil))
	  ((eq signature-type 'pgp) (mc-sign-message)))))

(defun fp-mail-send-routine ()
  ;; [...]
  (or mail-signature (fp-sign-message)))

(defun fp-message-send-routine ()
  ;; [...]
  (or message-signature (fp-sign-message))
  ;; [...]
  )

(eval-after-load "sendmail"
  '(progn
     ;; [...]
     (add-hook 'mail-send-hook 'fp-mail-send-routine)))

(eval-after-load "message"
  '(progn
     ;; [...]
     (add-hook 'message-send-hook 'fp-message-send-routine)))
----------------------------------------------------------------------<

-- 
François Pinard                            mailto:pinard@iro.umontreal.ca
Join the free Translation Project!    http://www.iro.umontreal.ca/~pinard



  reply	other threads:[~1999-03-14 13:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-03-14 12:29 TinyPGP/TM Thomas Hungenberg
1999-03-14 13:14 ` François Pinard [this message]
1999-03-14 13:38   ` PGP with Gnus [was: Re: TinyPGP/TM] Stainless Steel Rat
1999-03-14 13:58     ` François Pinard
1999-03-15  1:07       ` Stainless Steel Rat
1999-04-23 23:49     ` François Pinard
1999-03-15 23:24   ` Edward J. Sabol

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=oqr9qsp61i.fsf@titan.progiciels-bpi.ca \
    --to=pinard@iro.umontreal.ca \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).