2004-09-04 13:13:48 +00:00
|
|
|
\input texinfo @c -*-texinfo-*-
|
|
|
|
|
|
|
|
@setfilename ../info/pgg
|
|
|
|
|
|
|
|
@set VERSION 0.1
|
|
|
|
|
|
|
|
|
|
|
|
@copying
|
2006-03-25 23:15:32 +00:00
|
|
|
This file describes PGG, an Emacs interface to various PGP implementations.
|
2004-09-04 13:13:48 +00:00
|
|
|
|
2006-03-25 23:15:32 +00:00
|
|
|
Copyright @copyright{} 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
|
|
|
Copyright @copyright{} 2001 Daiki Ueno.
|
2004-09-04 13:13:48 +00:00
|
|
|
|
|
|
|
@quotation
|
|
|
|
Permission is granted to copy, distribute and/or modify this document
|
2005-09-16 22:11:06 +00:00
|
|
|
under the terms of the GNU Free Documentation License, Version 1.2 or
|
2004-09-04 13:13:48 +00:00
|
|
|
any later version published by the Free Software Foundation; with no
|
|
|
|
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
|
|
|
|
Texts. A copy of the license is included in the section entitled ``GNU
|
2006-07-24 17:48:06 +00:00
|
|
|
Free Documentation License.''
|
2004-09-04 13:13:48 +00:00
|
|
|
@end quotation
|
|
|
|
@end copying
|
|
|
|
|
|
|
|
@dircategory Emacs
|
|
|
|
@direntry
|
|
|
|
* PGG: (pgg). Emacs interface to various PGP implementations.
|
|
|
|
@end direntry
|
|
|
|
|
|
|
|
@settitle PGG @value{VERSION}
|
|
|
|
|
|
|
|
|
|
|
|
@titlepage
|
|
|
|
@title PGG
|
|
|
|
|
|
|
|
@author by Daiki Ueno
|
|
|
|
@page
|
|
|
|
|
|
|
|
@vskip 0pt plus 1filll
|
|
|
|
@insertcopying
|
|
|
|
@end titlepage
|
|
|
|
@page
|
|
|
|
|
|
|
|
@node Top
|
|
|
|
@top PGG
|
|
|
|
This manual describes PGG. PGG is an interface library between Emacs
|
|
|
|
and various tools for secure communication. PGG also provides a simple
|
|
|
|
user interface to encrypt, decrypt, sign, and verify MIME messages.
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* Overview:: What PGG is.
|
|
|
|
* Prerequisites:: Complicated stuff you may have to do.
|
|
|
|
* How to use:: Getting started quickly.
|
|
|
|
* Architecture::
|
|
|
|
* Parsing OpenPGP packets::
|
|
|
|
* Function Index::
|
|
|
|
* Variable Index::
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
@node Overview
|
|
|
|
@chapter Overview
|
|
|
|
|
|
|
|
PGG is an interface library between Emacs and various tools for secure
|
|
|
|
communication. Even though Mailcrypt has similar feature, it does not
|
|
|
|
deal with detached PGP messages, normally used in PGP/MIME
|
|
|
|
infrastructure. This was the main reason why I wrote the new library.
|
|
|
|
|
|
|
|
PGP/MIME is an application of MIME Object Security Services (RFC1848).
|
|
|
|
The standard is documented in RFC2015.
|
|
|
|
|
|
|
|
@node Prerequisites
|
|
|
|
@chapter Prerequisites
|
|
|
|
|
|
|
|
PGG requires at least one implementation of privacy guard system.
|
|
|
|
This document assumes that you have already obtained and installed them
|
|
|
|
and that you are familiar with its basic functions.
|
|
|
|
|
|
|
|
By default, PGG uses GnuPG, but Pretty Good Privacy version 2 or version
|
|
|
|
5 are also supported. If you are new to such a system, I recommend that
|
|
|
|
you should look over the GNU Privacy Handbook (GPH) which is available
|
|
|
|
at @uref{http://www.gnupg.org/gph/}.
|
|
|
|
|
|
|
|
@node How to use
|
|
|
|
@chapter How to use
|
|
|
|
|
|
|
|
The toplevel interface of this library is quite simple, and only
|
|
|
|
intended to use with public-key cryptographic operation.
|
|
|
|
|
|
|
|
To use PGG, evaluate following expression at the beginning of your
|
|
|
|
application program.
|
|
|
|
|
|
|
|
@lisp
|
|
|
|
(require 'pgg)
|
|
|
|
@end lisp
|
|
|
|
|
|
|
|
If you want to check existence of pgg.el at runtime, instead you can
|
|
|
|
list autoload setting for desired functions as follows.
|
|
|
|
|
|
|
|
@lisp
|
|
|
|
(autoload 'pgg-encrypt-region "pgg"
|
|
|
|
"Encrypt the current region." t)
|
2005-10-29 11:39:49 +00:00
|
|
|
(autoload 'pgg-encrypt-symmetric-region "pgg"
|
|
|
|
"Encrypt the current region with symmetric algorithm." t)
|
2004-09-04 13:13:48 +00:00
|
|
|
(autoload 'pgg-decrypt-region "pgg"
|
|
|
|
"Decrypt the current region." t)
|
|
|
|
(autoload 'pgg-sign-region "pgg"
|
|
|
|
"Sign the current region." t)
|
|
|
|
(autoload 'pgg-verify-region "pgg"
|
|
|
|
"Verify the current region." t)
|
|
|
|
(autoload 'pgg-insert-key "pgg"
|
|
|
|
"Insert the ASCII armored public key." t)
|
|
|
|
(autoload 'pgg-snarf-keys-region "pgg"
|
|
|
|
"Import public keys in the current region." t)
|
|
|
|
@end lisp
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* User Commands::
|
|
|
|
* Selecting an implementation::
|
|
|
|
* Caching passphrase::
|
|
|
|
* Default user identity::
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
@node User Commands
|
|
|
|
@section User Commands
|
|
|
|
|
|
|
|
At this time you can use some cryptographic commands. The behavior of
|
|
|
|
these commands relies on a fashion of invocation because they are also
|
|
|
|
intended to be used as library functions. In case you don't have the
|
|
|
|
signer's public key, for example, the function @code{pgg-verify-region}
|
|
|
|
fails immediately, but if the function had been called interactively, it
|
|
|
|
would ask you to retrieve the signer's public key from the server.
|
|
|
|
|
2005-11-04 14:44:06 +00:00
|
|
|
@deffn Command pgg-encrypt-region start end recipients &optional sign passphrase
|
2004-09-04 13:13:48 +00:00
|
|
|
Encrypt the current region between @var{start} and @var{end} for
|
|
|
|
@var{recipients}. When the function were called interactively, you
|
|
|
|
would be asked about the recipients.
|
|
|
|
|
|
|
|
If encryption is successful, it replaces the current region contents (in
|
|
|
|
the accessible portion) with the resulting data.
|
|
|
|
|
2004-09-27 07:44:44 +00:00
|
|
|
If optional argument @var{sign} is non-@code{nil}, the function is
|
2005-11-04 14:44:06 +00:00
|
|
|
request to do a combined sign and encrypt. This currently is
|
|
|
|
confirmed to work with GnuPG, but might not work with PGP or PGP5.
|
|
|
|
|
|
|
|
If optional @var{passphrase} is @code{nil}, the passphrase will be
|
|
|
|
obtained from the passphrase cache or user.
|
2004-09-04 13:13:48 +00:00
|
|
|
@end deffn
|
|
|
|
|
2005-11-04 14:44:06 +00:00
|
|
|
@deffn Command pgg-encrypt-symmetric-region &optional start end passphrase
|
2005-10-29 11:39:49 +00:00
|
|
|
Encrypt the current region between @var{start} and @var{end} using a
|
|
|
|
symmetric cipher. After invocation you are asked for a passphrase.
|
|
|
|
|
2005-11-04 14:44:06 +00:00
|
|
|
If optional @var{passphrase} is @code{nil}, the passphrase will be
|
|
|
|
obtained from the passphrase cache or user.
|
|
|
|
|
|
|
|
symmetric-cipher encryption is currently only implemented for GnuPG.
|
2005-10-29 11:39:49 +00:00
|
|
|
@end deffn
|
|
|
|
|
2005-11-04 14:44:06 +00:00
|
|
|
@deffn Command pgg-decrypt-region start end &optional passphrase
|
2004-09-04 13:13:48 +00:00
|
|
|
Decrypt the current region between @var{start} and @var{end}. If
|
|
|
|
decryption is successful, it replaces the current region contents (in
|
|
|
|
the accessible portion) with the resulting data.
|
2005-11-04 14:44:06 +00:00
|
|
|
|
|
|
|
If optional @var{passphrase} is @code{nil}, the passphrase will be
|
|
|
|
obtained from the passphrase cache or user.
|
2004-09-04 13:13:48 +00:00
|
|
|
@end deffn
|
|
|
|
|
2005-11-04 14:44:06 +00:00
|
|
|
@deffn Command pgg-sign-region start end &optional cleartext passphrase
|
2004-09-04 13:13:48 +00:00
|
|
|
Make the signature from text between @var{start} and @var{end}. If the
|
|
|
|
optional third argument @var{cleartext} is non-@code{nil}, or the
|
|
|
|
function is called interactively, it does not create a detached
|
|
|
|
signature. In such a case, it replaces the current region contents (in
|
|
|
|
the accessible portion) with the resulting data.
|
2005-11-04 14:44:06 +00:00
|
|
|
|
|
|
|
If optional @var{passphrase} is @code{nil}, the passphrase will be
|
|
|
|
obtained from the passphrase cache or user.
|
2004-09-04 13:13:48 +00:00
|
|
|
@end deffn
|
|
|
|
|
|
|
|
@deffn Command pgg-verify-region start end &optional signature fetch
|
|
|
|
Verify the current region between @var{start} and @var{end}. If the
|
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Merge from gnus--rel--5.10
Patches applied:
* gnus--rel--5.10 (patch 157-168)
- Merge from emacs--cvs-trunk--0
- Update from CVS
- Update from CVS: texi/message.texi: Fix default values.
2005-12-08 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/mm-decode.el (mm-discouraged-alternatives): Fix custom type.
Suggest image/.* in the doc string.
2005-12-07 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/mm-decode.el (mm-display-external): Use nametemplate (defined in
RFC1524) if it is in mailcap or add a suffix according to
mailcap-mime-extensions when generating a temp filename; postpone
deleting a temp file for 2 seconds for some wrappers, shell
scripts, and so on, which might exit right after having started a
viewer command as a background job.
2005-12-06 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/gnus-art.el (gnus-default-article-saver): Add user-defined
`function' to custom type.
2005-12-02 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
* lisp/gnus/mm-view.el (mm-inline-text-html-render-with-w3m): Fix misplaced
parens.
2005-11-29 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/gnus-cache.el (gnus-cache-rename-group): Wrap doc strings and
long lines.
(gnus-cache-delete-group): Wrap doc strings.
* lisp/gnus/gnus-agent.el (gnus-agent-rename-group)
(gnus-agent-delete-group): Wrap doc strings.
2005-11-24 Pascal Rigaux <pixel@mandriva.com> (tiny change)
* lisp/gnus/rfc2231.el (rfc2231-parse-string): Support non-ascii chars.
2005-11-22 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Use current-time instead
of current-time-string.
2005-11-20 Stefan Schimanski <schimmi@debian.org> (tiny change)
* lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Protect against invalid
date header.
2005-11-16 Boris Samorodov <bsam@ipt.ru> (tiny patch)
* lisp/gnus/imap.el (imap-kerberos4-open): Ignore SSL stuff.
2005-11-14 Kevin Greiner <kevin.greiner@compsol.cc>
* lisp/gnus/gnus-agent.el (gnus-agent-article-alist-save-format): Changed
internal variable to a custom variable. Changed default value
from compressed(2) to uncompressed(1).
(gnus-agent-read-agentview): Reversed revision 7.8 to restore
support for uncompressed agentview files. Taken together, reading
the agentview file should now be 6-7 times faster.
(gnus-agent-long-article,
gnus-agent-short-article, gnus-agent-score): Renamed category
keywords to match gnus-cus.
(gnus-agent-summary-fetch-series): Modified to protect against
gnus-agent-summary-fetch-group clearing processable flags.
(gnus-agent-synchronize-group-flags): Update live group buffer as
synchronization may occur due to the user toggling the plugged
status.
(gnus-agent-braid-nov): Now tests new nov entries
for duplicates which are removed. The invalid sort check then
triggers a rescan after the sort as sorting may have moved
duplicate entries such that they can be cheaply detected.
(gnus-agent-read-local): Trivial fix to format of
error message to display actual error condition.
(gnus-agent-save-local): Avoid saving symbols that are bound to
nil as they simply result in a warning message in
gnus-agent-read-local.
(gnus-agent-fetch-group-1): Clear downloadable flag when article
successfully downloaded.
(gnus-agent-regenerate-group): Use
gnus-agent-synchronize-group-flags to reset read status in both
gnus and server.
* lisp/gnus/nntp.el (nntp-end-of-line): Doc fix.
(nntp-authinfo-rejected): New error condition.
(nntp-wait-for): Use new error condition to signal authentication
error.
(nntp-retrieve-data): Rethrow new error condition to break out of
recursive call to nntp-send-authinfo.
2005-11-13 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Use make-local-variable
rather than make-variable-buffer-local for file-precious-flag.
2005-11-13 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Quote file-precious-flag.
2005-11-11 Jan Nieuwenhuizen <janneke@gnu.org>
* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Set file-precious-flag,
as a buffer-local variable. This avoids creating truncated
dribble files as a result of a hang up, eg.
2005-11-04 Ken Manheimer <ken.manheimer@gmail.com>
* lisp/gnus/pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
(pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
(pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
pgg-add-passphrase-to-cache function.
* lisp/gnus/pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
(pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
(pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
(pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase'
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
(pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
function.
2005-10-30 Chong Yidong <cyd@stupidchicken.com>
* lisp/gnus/imap.el (imap-open): Handle case where buffer is a buffer
object.
2005-10-29 Ken Manheimer <ken.manheimer@gmail.com>
* lisp/gnus/pgg-gpg.el (pgg-gpg-select-matching-key): Fix: look at the right
part of the decoded armor to find the key-identifier.
(pgg-gpg-lookup-key-owner): New function to return the
human-readable identifier of a key owner.
(pgg-gpg-lookup-id-from-key-owner): Make it easy to identify the
key itself.
(pgg-gpg-decrypt-region): Prompt with the key owner (rather than
the key value) if we have a key and can match it against a secret
key. Also, added a note pointing out fact that the prompt only
indicates the first matching key.
* lisp/gnus/pgg.el (pgg-decrypt): Passing along 'passphrase' in call to
pgg-decrypt-region.
(pgg-pending-timers): A new hash for tracking the passphrase cache
timers, so that new ones supercede old ones.
(pgg-add-passphrase-to-cache): Rename from
`pgg-add-passphrase-cache' to reduce confusion (all callers
changed). Modified to cancel old timers when new ones are added.
(pgg-remove-passphrase-from-cache): Rename from
`pgg-remove-passphrase-cache' to reduce confusion (all callers
changed). Modified to cancel old timers when their keys are
removed from the cache.
(pgg-cancel-timer): In Emacs, an alias for cancel-timer; in
XEmacs, an indirection to delete-itimer.
(pgg-read-passphrase-from-cache, pgg-read-passphrase):
Extract pgg-read-passphrase-from-cache from pgg-read-passphrase so
users can only check cache without risk of prompting. Correct bug in
notruncate behavior.
(pgg-read-passphrase-from-cache, pgg-read-passphrase)
(pgg-add-passphrase-cache, pgg-remove-passphrase-cache):
Add informative docstrings.
(pgg-decrypt): Convey provided passphrase in subordinate call to
pgg-decrypt-region.
2005-10-20 Ken Manheimer <ken.manheimer+emacs@gmail.com>
* lisp/gnus/pgg.el (pgg-encrypt-region, pgg-encrypt-symmetric-region)
(pgg-encrypt-symmetric, pgg-encrypt, pgg-decrypt-region)
(pgg-decrypt, pgg-sign-region, pgg-sign): Add optional
'passphrase' argument, so the passphrase can be managed externally
and then passed in to the system.
* lisp/gnus/pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
(pgg-remove-passphrase-cache): Add optional 'notruncate' argument,
so the passphrase cache can be used reliably with identifiers
besides a pgp packet's key id.
* lisp/gnus/pgg-gpg.el (pgg-pgp-encrypt-region)
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
(pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
* lisp/gnus/pgg-gpg.el (pgg-gpg-possibly-cache-passphrase): Add optional
'notruncate' argument, so the passphrase cache can be used
reliably with identifiers besides a pgp packet's key id.
2005-10-29 Sascha Wilde <swilde@sha-bang.de>
* lisp/gnus/pgg-gpg.el (pgg-gpg-encrypt-symmetric-region): New function for
symmetric encryption.
(pgg-gpg-symmetric-key-p): New function to check for an symmetric
encrypted session key.
(pgg-gpg-decrypt-region): When decrypting a symmetric encrypted
message ask for the passphrase in a proper way.
* lisp/gnus/pgg.el (pgg-encrypt-symmetric, pgg-encrypt-symmetric-region):
New user commands for symmetric encryption.
2005-12-05 Katsumi Yamaoka <yamaoka@jpl.org>
* man/pgg.texi (User Commands): Fix description of pgg-verify-region.
(Selecting an implementation): Fix descriptions.
2005-11-30 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi (Various Message Variables): Addition.
2005-11-29 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi: Fix default values.
2005-11-25 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi (Header Commands): Clarify descriptions of
message-cross-post-followup-to, message-reduce-to-to-cc, and
message-insert-wide-reply.
(Various Commands): Fix kindex for message-kill-to-signature;
clarify description of message-tab.
2005-11-22 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi (Mailing Lists): Fix description about MFT.
* man/gnus.texi (Emacs Lisp): Use ~/.gnus.el instead of ~/.emacs.
2005-11-17 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Slow Terminal Connection): Replace old description
with new one.
2005-11-16 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Oort Gnus): Use ~/.gnus.el instead of ~/.emacs;
replace X-Draft-Headers with X-Draft-From.
2005-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Various Various): Fix the default value of
nnheader-max-head-length.
(Gnus Versions): Fix typo.
2005-12-09 08:57:58 +00:00
|
|
|
optional third argument @var{signature} is non-@code{nil}, it is treated
|
|
|
|
as the detached signature file of the current region.
|
2004-09-04 13:13:48 +00:00
|
|
|
|
|
|
|
If the optional 4th argument @var{fetch} is non-@code{nil}, or the
|
|
|
|
function is called interactively, we attempt to fetch the signer's
|
|
|
|
public key from the key server.
|
|
|
|
@end deffn
|
|
|
|
|
|
|
|
@deffn Command pgg-insert-key
|
|
|
|
Retrieve the user's public key and insert it as ASCII-armored format.
|
|
|
|
@end deffn
|
|
|
|
|
|
|
|
@deffn Command pgg-snarf-keys-region start end
|
|
|
|
Collect public keys in the current region between @var{start} and
|
|
|
|
@var{end}, and add them into the user's keyring.
|
|
|
|
@end deffn
|
|
|
|
|
|
|
|
@node Selecting an implementation
|
|
|
|
@section Selecting an implementation
|
|
|
|
|
|
|
|
Since PGP has a long history and there are a number of PGP
|
|
|
|
implementations available today, the function which each one has differs
|
|
|
|
considerably. For example, if you are using GnuPG, you know you can
|
|
|
|
select cipher algorithm from 3DES, CAST5, BLOWFISH, and so on, but on
|
|
|
|
the other hand the version 2 of PGP only supports IDEA.
|
|
|
|
|
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Merge from gnus--rel--5.10
Patches applied:
* gnus--rel--5.10 (patch 157-168)
- Merge from emacs--cvs-trunk--0
- Update from CVS
- Update from CVS: texi/message.texi: Fix default values.
2005-12-08 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/mm-decode.el (mm-discouraged-alternatives): Fix custom type.
Suggest image/.* in the doc string.
2005-12-07 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/mm-decode.el (mm-display-external): Use nametemplate (defined in
RFC1524) if it is in mailcap or add a suffix according to
mailcap-mime-extensions when generating a temp filename; postpone
deleting a temp file for 2 seconds for some wrappers, shell
scripts, and so on, which might exit right after having started a
viewer command as a background job.
2005-12-06 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/gnus-art.el (gnus-default-article-saver): Add user-defined
`function' to custom type.
2005-12-02 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
* lisp/gnus/mm-view.el (mm-inline-text-html-render-with-w3m): Fix misplaced
parens.
2005-11-29 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/gnus-cache.el (gnus-cache-rename-group): Wrap doc strings and
long lines.
(gnus-cache-delete-group): Wrap doc strings.
* lisp/gnus/gnus-agent.el (gnus-agent-rename-group)
(gnus-agent-delete-group): Wrap doc strings.
2005-11-24 Pascal Rigaux <pixel@mandriva.com> (tiny change)
* lisp/gnus/rfc2231.el (rfc2231-parse-string): Support non-ascii chars.
2005-11-22 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Use current-time instead
of current-time-string.
2005-11-20 Stefan Schimanski <schimmi@debian.org> (tiny change)
* lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Protect against invalid
date header.
2005-11-16 Boris Samorodov <bsam@ipt.ru> (tiny patch)
* lisp/gnus/imap.el (imap-kerberos4-open): Ignore SSL stuff.
2005-11-14 Kevin Greiner <kevin.greiner@compsol.cc>
* lisp/gnus/gnus-agent.el (gnus-agent-article-alist-save-format): Changed
internal variable to a custom variable. Changed default value
from compressed(2) to uncompressed(1).
(gnus-agent-read-agentview): Reversed revision 7.8 to restore
support for uncompressed agentview files. Taken together, reading
the agentview file should now be 6-7 times faster.
(gnus-agent-long-article,
gnus-agent-short-article, gnus-agent-score): Renamed category
keywords to match gnus-cus.
(gnus-agent-summary-fetch-series): Modified to protect against
gnus-agent-summary-fetch-group clearing processable flags.
(gnus-agent-synchronize-group-flags): Update live group buffer as
synchronization may occur due to the user toggling the plugged
status.
(gnus-agent-braid-nov): Now tests new nov entries
for duplicates which are removed. The invalid sort check then
triggers a rescan after the sort as sorting may have moved
duplicate entries such that they can be cheaply detected.
(gnus-agent-read-local): Trivial fix to format of
error message to display actual error condition.
(gnus-agent-save-local): Avoid saving symbols that are bound to
nil as they simply result in a warning message in
gnus-agent-read-local.
(gnus-agent-fetch-group-1): Clear downloadable flag when article
successfully downloaded.
(gnus-agent-regenerate-group): Use
gnus-agent-synchronize-group-flags to reset read status in both
gnus and server.
* lisp/gnus/nntp.el (nntp-end-of-line): Doc fix.
(nntp-authinfo-rejected): New error condition.
(nntp-wait-for): Use new error condition to signal authentication
error.
(nntp-retrieve-data): Rethrow new error condition to break out of
recursive call to nntp-send-authinfo.
2005-11-13 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Use make-local-variable
rather than make-variable-buffer-local for file-precious-flag.
2005-11-13 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Quote file-precious-flag.
2005-11-11 Jan Nieuwenhuizen <janneke@gnu.org>
* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Set file-precious-flag,
as a buffer-local variable. This avoids creating truncated
dribble files as a result of a hang up, eg.
2005-11-04 Ken Manheimer <ken.manheimer@gmail.com>
* lisp/gnus/pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
(pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
(pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
pgg-add-passphrase-to-cache function.
* lisp/gnus/pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
(pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
(pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
(pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase'
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
(pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
function.
2005-10-30 Chong Yidong <cyd@stupidchicken.com>
* lisp/gnus/imap.el (imap-open): Handle case where buffer is a buffer
object.
2005-10-29 Ken Manheimer <ken.manheimer@gmail.com>
* lisp/gnus/pgg-gpg.el (pgg-gpg-select-matching-key): Fix: look at the right
part of the decoded armor to find the key-identifier.
(pgg-gpg-lookup-key-owner): New function to return the
human-readable identifier of a key owner.
(pgg-gpg-lookup-id-from-key-owner): Make it easy to identify the
key itself.
(pgg-gpg-decrypt-region): Prompt with the key owner (rather than
the key value) if we have a key and can match it against a secret
key. Also, added a note pointing out fact that the prompt only
indicates the first matching key.
* lisp/gnus/pgg.el (pgg-decrypt): Passing along 'passphrase' in call to
pgg-decrypt-region.
(pgg-pending-timers): A new hash for tracking the passphrase cache
timers, so that new ones supercede old ones.
(pgg-add-passphrase-to-cache): Rename from
`pgg-add-passphrase-cache' to reduce confusion (all callers
changed). Modified to cancel old timers when new ones are added.
(pgg-remove-passphrase-from-cache): Rename from
`pgg-remove-passphrase-cache' to reduce confusion (all callers
changed). Modified to cancel old timers when their keys are
removed from the cache.
(pgg-cancel-timer): In Emacs, an alias for cancel-timer; in
XEmacs, an indirection to delete-itimer.
(pgg-read-passphrase-from-cache, pgg-read-passphrase):
Extract pgg-read-passphrase-from-cache from pgg-read-passphrase so
users can only check cache without risk of prompting. Correct bug in
notruncate behavior.
(pgg-read-passphrase-from-cache, pgg-read-passphrase)
(pgg-add-passphrase-cache, pgg-remove-passphrase-cache):
Add informative docstrings.
(pgg-decrypt): Convey provided passphrase in subordinate call to
pgg-decrypt-region.
2005-10-20 Ken Manheimer <ken.manheimer+emacs@gmail.com>
* lisp/gnus/pgg.el (pgg-encrypt-region, pgg-encrypt-symmetric-region)
(pgg-encrypt-symmetric, pgg-encrypt, pgg-decrypt-region)
(pgg-decrypt, pgg-sign-region, pgg-sign): Add optional
'passphrase' argument, so the passphrase can be managed externally
and then passed in to the system.
* lisp/gnus/pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
(pgg-remove-passphrase-cache): Add optional 'notruncate' argument,
so the passphrase cache can be used reliably with identifiers
besides a pgp packet's key id.
* lisp/gnus/pgg-gpg.el (pgg-pgp-encrypt-region)
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
(pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
* lisp/gnus/pgg-gpg.el (pgg-gpg-possibly-cache-passphrase): Add optional
'notruncate' argument, so the passphrase cache can be used
reliably with identifiers besides a pgp packet's key id.
2005-10-29 Sascha Wilde <swilde@sha-bang.de>
* lisp/gnus/pgg-gpg.el (pgg-gpg-encrypt-symmetric-region): New function for
symmetric encryption.
(pgg-gpg-symmetric-key-p): New function to check for an symmetric
encrypted session key.
(pgg-gpg-decrypt-region): When decrypting a symmetric encrypted
message ask for the passphrase in a proper way.
* lisp/gnus/pgg.el (pgg-encrypt-symmetric, pgg-encrypt-symmetric-region):
New user commands for symmetric encryption.
2005-12-05 Katsumi Yamaoka <yamaoka@jpl.org>
* man/pgg.texi (User Commands): Fix description of pgg-verify-region.
(Selecting an implementation): Fix descriptions.
2005-11-30 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi (Various Message Variables): Addition.
2005-11-29 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi: Fix default values.
2005-11-25 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi (Header Commands): Clarify descriptions of
message-cross-post-followup-to, message-reduce-to-to-cc, and
message-insert-wide-reply.
(Various Commands): Fix kindex for message-kill-to-signature;
clarify description of message-tab.
2005-11-22 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi (Mailing Lists): Fix description about MFT.
* man/gnus.texi (Emacs Lisp): Use ~/.gnus.el instead of ~/.emacs.
2005-11-17 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Slow Terminal Connection): Replace old description
with new one.
2005-11-16 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Oort Gnus): Use ~/.gnus.el instead of ~/.emacs;
replace X-Draft-Headers with X-Draft-From.
2005-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Various Various): Fix the default value of
nnheader-max-head-length.
(Gnus Versions): Fix typo.
2005-12-09 08:57:58 +00:00
|
|
|
Which implementation is used is controlled by the @code{pgg-scheme}
|
|
|
|
variable. If it is @code{nil} (the default), the value of the
|
|
|
|
@code{pgg-default-scheme} variable will be used instead.
|
2004-09-04 13:13:48 +00:00
|
|
|
|
|
|
|
@defvar pgg-scheme
|
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Merge from gnus--rel--5.10
Patches applied:
* gnus--rel--5.10 (patch 157-168)
- Merge from emacs--cvs-trunk--0
- Update from CVS
- Update from CVS: texi/message.texi: Fix default values.
2005-12-08 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/mm-decode.el (mm-discouraged-alternatives): Fix custom type.
Suggest image/.* in the doc string.
2005-12-07 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/mm-decode.el (mm-display-external): Use nametemplate (defined in
RFC1524) if it is in mailcap or add a suffix according to
mailcap-mime-extensions when generating a temp filename; postpone
deleting a temp file for 2 seconds for some wrappers, shell
scripts, and so on, which might exit right after having started a
viewer command as a background job.
2005-12-06 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/gnus-art.el (gnus-default-article-saver): Add user-defined
`function' to custom type.
2005-12-02 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
* lisp/gnus/mm-view.el (mm-inline-text-html-render-with-w3m): Fix misplaced
parens.
2005-11-29 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/gnus-cache.el (gnus-cache-rename-group): Wrap doc strings and
long lines.
(gnus-cache-delete-group): Wrap doc strings.
* lisp/gnus/gnus-agent.el (gnus-agent-rename-group)
(gnus-agent-delete-group): Wrap doc strings.
2005-11-24 Pascal Rigaux <pixel@mandriva.com> (tiny change)
* lisp/gnus/rfc2231.el (rfc2231-parse-string): Support non-ascii chars.
2005-11-22 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Use current-time instead
of current-time-string.
2005-11-20 Stefan Schimanski <schimmi@debian.org> (tiny change)
* lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Protect against invalid
date header.
2005-11-16 Boris Samorodov <bsam@ipt.ru> (tiny patch)
* lisp/gnus/imap.el (imap-kerberos4-open): Ignore SSL stuff.
2005-11-14 Kevin Greiner <kevin.greiner@compsol.cc>
* lisp/gnus/gnus-agent.el (gnus-agent-article-alist-save-format): Changed
internal variable to a custom variable. Changed default value
from compressed(2) to uncompressed(1).
(gnus-agent-read-agentview): Reversed revision 7.8 to restore
support for uncompressed agentview files. Taken together, reading
the agentview file should now be 6-7 times faster.
(gnus-agent-long-article,
gnus-agent-short-article, gnus-agent-score): Renamed category
keywords to match gnus-cus.
(gnus-agent-summary-fetch-series): Modified to protect against
gnus-agent-summary-fetch-group clearing processable flags.
(gnus-agent-synchronize-group-flags): Update live group buffer as
synchronization may occur due to the user toggling the plugged
status.
(gnus-agent-braid-nov): Now tests new nov entries
for duplicates which are removed. The invalid sort check then
triggers a rescan after the sort as sorting may have moved
duplicate entries such that they can be cheaply detected.
(gnus-agent-read-local): Trivial fix to format of
error message to display actual error condition.
(gnus-agent-save-local): Avoid saving symbols that are bound to
nil as they simply result in a warning message in
gnus-agent-read-local.
(gnus-agent-fetch-group-1): Clear downloadable flag when article
successfully downloaded.
(gnus-agent-regenerate-group): Use
gnus-agent-synchronize-group-flags to reset read status in both
gnus and server.
* lisp/gnus/nntp.el (nntp-end-of-line): Doc fix.
(nntp-authinfo-rejected): New error condition.
(nntp-wait-for): Use new error condition to signal authentication
error.
(nntp-retrieve-data): Rethrow new error condition to break out of
recursive call to nntp-send-authinfo.
2005-11-13 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Use make-local-variable
rather than make-variable-buffer-local for file-precious-flag.
2005-11-13 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Quote file-precious-flag.
2005-11-11 Jan Nieuwenhuizen <janneke@gnu.org>
* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Set file-precious-flag,
as a buffer-local variable. This avoids creating truncated
dribble files as a result of a hang up, eg.
2005-11-04 Ken Manheimer <ken.manheimer@gmail.com>
* lisp/gnus/pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
(pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
(pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
pgg-add-passphrase-to-cache function.
* lisp/gnus/pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
(pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
(pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
(pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase'
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
(pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
function.
2005-10-30 Chong Yidong <cyd@stupidchicken.com>
* lisp/gnus/imap.el (imap-open): Handle case where buffer is a buffer
object.
2005-10-29 Ken Manheimer <ken.manheimer@gmail.com>
* lisp/gnus/pgg-gpg.el (pgg-gpg-select-matching-key): Fix: look at the right
part of the decoded armor to find the key-identifier.
(pgg-gpg-lookup-key-owner): New function to return the
human-readable identifier of a key owner.
(pgg-gpg-lookup-id-from-key-owner): Make it easy to identify the
key itself.
(pgg-gpg-decrypt-region): Prompt with the key owner (rather than
the key value) if we have a key and can match it against a secret
key. Also, added a note pointing out fact that the prompt only
indicates the first matching key.
* lisp/gnus/pgg.el (pgg-decrypt): Passing along 'passphrase' in call to
pgg-decrypt-region.
(pgg-pending-timers): A new hash for tracking the passphrase cache
timers, so that new ones supercede old ones.
(pgg-add-passphrase-to-cache): Rename from
`pgg-add-passphrase-cache' to reduce confusion (all callers
changed). Modified to cancel old timers when new ones are added.
(pgg-remove-passphrase-from-cache): Rename from
`pgg-remove-passphrase-cache' to reduce confusion (all callers
changed). Modified to cancel old timers when their keys are
removed from the cache.
(pgg-cancel-timer): In Emacs, an alias for cancel-timer; in
XEmacs, an indirection to delete-itimer.
(pgg-read-passphrase-from-cache, pgg-read-passphrase):
Extract pgg-read-passphrase-from-cache from pgg-read-passphrase so
users can only check cache without risk of prompting. Correct bug in
notruncate behavior.
(pgg-read-passphrase-from-cache, pgg-read-passphrase)
(pgg-add-passphrase-cache, pgg-remove-passphrase-cache):
Add informative docstrings.
(pgg-decrypt): Convey provided passphrase in subordinate call to
pgg-decrypt-region.
2005-10-20 Ken Manheimer <ken.manheimer+emacs@gmail.com>
* lisp/gnus/pgg.el (pgg-encrypt-region, pgg-encrypt-symmetric-region)
(pgg-encrypt-symmetric, pgg-encrypt, pgg-decrypt-region)
(pgg-decrypt, pgg-sign-region, pgg-sign): Add optional
'passphrase' argument, so the passphrase can be managed externally
and then passed in to the system.
* lisp/gnus/pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
(pgg-remove-passphrase-cache): Add optional 'notruncate' argument,
so the passphrase cache can be used reliably with identifiers
besides a pgp packet's key id.
* lisp/gnus/pgg-gpg.el (pgg-pgp-encrypt-region)
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
(pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
* lisp/gnus/pgg-gpg.el (pgg-gpg-possibly-cache-passphrase): Add optional
'notruncate' argument, so the passphrase cache can be used
reliably with identifiers besides a pgp packet's key id.
2005-10-29 Sascha Wilde <swilde@sha-bang.de>
* lisp/gnus/pgg-gpg.el (pgg-gpg-encrypt-symmetric-region): New function for
symmetric encryption.
(pgg-gpg-symmetric-key-p): New function to check for an symmetric
encrypted session key.
(pgg-gpg-decrypt-region): When decrypting a symmetric encrypted
message ask for the passphrase in a proper way.
* lisp/gnus/pgg.el (pgg-encrypt-symmetric, pgg-encrypt-symmetric-region):
New user commands for symmetric encryption.
2005-12-05 Katsumi Yamaoka <yamaoka@jpl.org>
* man/pgg.texi (User Commands): Fix description of pgg-verify-region.
(Selecting an implementation): Fix descriptions.
2005-11-30 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi (Various Message Variables): Addition.
2005-11-29 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi: Fix default values.
2005-11-25 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi (Header Commands): Clarify descriptions of
message-cross-post-followup-to, message-reduce-to-to-cc, and
message-insert-wide-reply.
(Various Commands): Fix kindex for message-kill-to-signature;
clarify description of message-tab.
2005-11-22 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi (Mailing Lists): Fix description about MFT.
* man/gnus.texi (Emacs Lisp): Use ~/.gnus.el instead of ~/.emacs.
2005-11-17 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Slow Terminal Connection): Replace old description
with new one.
2005-11-16 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Oort Gnus): Use ~/.gnus.el instead of ~/.emacs;
replace X-Draft-Headers with X-Draft-From.
2005-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Various Various): Fix the default value of
nnheader-max-head-length.
(Gnus Versions): Fix typo.
2005-12-09 08:57:58 +00:00
|
|
|
Force specify the scheme of PGP implementation. The value can be set to
|
|
|
|
@code{gpg}, @code{pgp}, and @code{pgp5}. The default is @code{nil}.
|
2004-09-04 13:13:48 +00:00
|
|
|
@end defvar
|
|
|
|
|
|
|
|
@defvar pgg-default-scheme
|
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Merge from gnus--rel--5.10
Patches applied:
* gnus--rel--5.10 (patch 157-168)
- Merge from emacs--cvs-trunk--0
- Update from CVS
- Update from CVS: texi/message.texi: Fix default values.
2005-12-08 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/mm-decode.el (mm-discouraged-alternatives): Fix custom type.
Suggest image/.* in the doc string.
2005-12-07 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/mm-decode.el (mm-display-external): Use nametemplate (defined in
RFC1524) if it is in mailcap or add a suffix according to
mailcap-mime-extensions when generating a temp filename; postpone
deleting a temp file for 2 seconds for some wrappers, shell
scripts, and so on, which might exit right after having started a
viewer command as a background job.
2005-12-06 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/gnus-art.el (gnus-default-article-saver): Add user-defined
`function' to custom type.
2005-12-02 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
* lisp/gnus/mm-view.el (mm-inline-text-html-render-with-w3m): Fix misplaced
parens.
2005-11-29 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/gnus-cache.el (gnus-cache-rename-group): Wrap doc strings and
long lines.
(gnus-cache-delete-group): Wrap doc strings.
* lisp/gnus/gnus-agent.el (gnus-agent-rename-group)
(gnus-agent-delete-group): Wrap doc strings.
2005-11-24 Pascal Rigaux <pixel@mandriva.com> (tiny change)
* lisp/gnus/rfc2231.el (rfc2231-parse-string): Support non-ascii chars.
2005-11-22 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Use current-time instead
of current-time-string.
2005-11-20 Stefan Schimanski <schimmi@debian.org> (tiny change)
* lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Protect against invalid
date header.
2005-11-16 Boris Samorodov <bsam@ipt.ru> (tiny patch)
* lisp/gnus/imap.el (imap-kerberos4-open): Ignore SSL stuff.
2005-11-14 Kevin Greiner <kevin.greiner@compsol.cc>
* lisp/gnus/gnus-agent.el (gnus-agent-article-alist-save-format): Changed
internal variable to a custom variable. Changed default value
from compressed(2) to uncompressed(1).
(gnus-agent-read-agentview): Reversed revision 7.8 to restore
support for uncompressed agentview files. Taken together, reading
the agentview file should now be 6-7 times faster.
(gnus-agent-long-article,
gnus-agent-short-article, gnus-agent-score): Renamed category
keywords to match gnus-cus.
(gnus-agent-summary-fetch-series): Modified to protect against
gnus-agent-summary-fetch-group clearing processable flags.
(gnus-agent-synchronize-group-flags): Update live group buffer as
synchronization may occur due to the user toggling the plugged
status.
(gnus-agent-braid-nov): Now tests new nov entries
for duplicates which are removed. The invalid sort check then
triggers a rescan after the sort as sorting may have moved
duplicate entries such that they can be cheaply detected.
(gnus-agent-read-local): Trivial fix to format of
error message to display actual error condition.
(gnus-agent-save-local): Avoid saving symbols that are bound to
nil as they simply result in a warning message in
gnus-agent-read-local.
(gnus-agent-fetch-group-1): Clear downloadable flag when article
successfully downloaded.
(gnus-agent-regenerate-group): Use
gnus-agent-synchronize-group-flags to reset read status in both
gnus and server.
* lisp/gnus/nntp.el (nntp-end-of-line): Doc fix.
(nntp-authinfo-rejected): New error condition.
(nntp-wait-for): Use new error condition to signal authentication
error.
(nntp-retrieve-data): Rethrow new error condition to break out of
recursive call to nntp-send-authinfo.
2005-11-13 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Use make-local-variable
rather than make-variable-buffer-local for file-precious-flag.
2005-11-13 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Quote file-precious-flag.
2005-11-11 Jan Nieuwenhuizen <janneke@gnu.org>
* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Set file-precious-flag,
as a buffer-local variable. This avoids creating truncated
dribble files as a result of a hang up, eg.
2005-11-04 Ken Manheimer <ken.manheimer@gmail.com>
* lisp/gnus/pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
(pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
(pgg-pgp-decrypt-region, pgg-pgp-sign-region): Use new name for
pgg-add-passphrase-to-cache function.
* lisp/gnus/pgg-pgp5.el (pgg-pgp5-encrypt-region, pgg-pgp5-decrypt-region)
(pgg-pgp5-encrypt-symmetric-region, pgg-pgp5-encrypt-symmetric)
(pgg-pgp5-encrypt, pgg-pgp5-decrypt-region, pgg-pgp5-decrypt)
(pgg-pgp5-sign-region, pgg-pgp5-sign): Add optional 'passphrase'
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
(pgg-pgp5-sign-region): Use new name of pgg-add-passphrase-to-cache
function.
2005-10-30 Chong Yidong <cyd@stupidchicken.com>
* lisp/gnus/imap.el (imap-open): Handle case where buffer is a buffer
object.
2005-10-29 Ken Manheimer <ken.manheimer@gmail.com>
* lisp/gnus/pgg-gpg.el (pgg-gpg-select-matching-key): Fix: look at the right
part of the decoded armor to find the key-identifier.
(pgg-gpg-lookup-key-owner): New function to return the
human-readable identifier of a key owner.
(pgg-gpg-lookup-id-from-key-owner): Make it easy to identify the
key itself.
(pgg-gpg-decrypt-region): Prompt with the key owner (rather than
the key value) if we have a key and can match it against a secret
key. Also, added a note pointing out fact that the prompt only
indicates the first matching key.
* lisp/gnus/pgg.el (pgg-decrypt): Passing along 'passphrase' in call to
pgg-decrypt-region.
(pgg-pending-timers): A new hash for tracking the passphrase cache
timers, so that new ones supercede old ones.
(pgg-add-passphrase-to-cache): Rename from
`pgg-add-passphrase-cache' to reduce confusion (all callers
changed). Modified to cancel old timers when new ones are added.
(pgg-remove-passphrase-from-cache): Rename from
`pgg-remove-passphrase-cache' to reduce confusion (all callers
changed). Modified to cancel old timers when their keys are
removed from the cache.
(pgg-cancel-timer): In Emacs, an alias for cancel-timer; in
XEmacs, an indirection to delete-itimer.
(pgg-read-passphrase-from-cache, pgg-read-passphrase):
Extract pgg-read-passphrase-from-cache from pgg-read-passphrase so
users can only check cache without risk of prompting. Correct bug in
notruncate behavior.
(pgg-read-passphrase-from-cache, pgg-read-passphrase)
(pgg-add-passphrase-cache, pgg-remove-passphrase-cache):
Add informative docstrings.
(pgg-decrypt): Convey provided passphrase in subordinate call to
pgg-decrypt-region.
2005-10-20 Ken Manheimer <ken.manheimer+emacs@gmail.com>
* lisp/gnus/pgg.el (pgg-encrypt-region, pgg-encrypt-symmetric-region)
(pgg-encrypt-symmetric, pgg-encrypt, pgg-decrypt-region)
(pgg-decrypt, pgg-sign-region, pgg-sign): Add optional
'passphrase' argument, so the passphrase can be managed externally
and then passed in to the system.
* lisp/gnus/pgg.el (pgg-read-passphrase, pgg-add-passphrase-cache)
(pgg-remove-passphrase-cache): Add optional 'notruncate' argument,
so the passphrase cache can be used reliably with identifiers
besides a pgp packet's key id.
* lisp/gnus/pgg-gpg.el (pgg-pgp-encrypt-region)
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
(pgg-pgp-encrypt, pgg-pgp-decrypt-region, pgg-pgp-decrypt)
(pgg-pgp-sign-region, pgg-pgp-sign): Add optional 'passphrase'
argument to all these routines, so the passphrase can be managed
externally and passed in to the system.
* lisp/gnus/pgg-gpg.el (pgg-gpg-possibly-cache-passphrase): Add optional
'notruncate' argument, so the passphrase cache can be used
reliably with identifiers besides a pgp packet's key id.
2005-10-29 Sascha Wilde <swilde@sha-bang.de>
* lisp/gnus/pgg-gpg.el (pgg-gpg-encrypt-symmetric-region): New function for
symmetric encryption.
(pgg-gpg-symmetric-key-p): New function to check for an symmetric
encrypted session key.
(pgg-gpg-decrypt-region): When decrypting a symmetric encrypted
message ask for the passphrase in a proper way.
* lisp/gnus/pgg.el (pgg-encrypt-symmetric, pgg-encrypt-symmetric-region):
New user commands for symmetric encryption.
2005-12-05 Katsumi Yamaoka <yamaoka@jpl.org>
* man/pgg.texi (User Commands): Fix description of pgg-verify-region.
(Selecting an implementation): Fix descriptions.
2005-11-30 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi (Various Message Variables): Addition.
2005-11-29 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi: Fix default values.
2005-11-25 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi (Header Commands): Clarify descriptions of
message-cross-post-followup-to, message-reduce-to-to-cc, and
message-insert-wide-reply.
(Various Commands): Fix kindex for message-kill-to-signature;
clarify description of message-tab.
2005-11-22 Katsumi Yamaoka <yamaoka@jpl.org>
* man/message.texi (Mailing Lists): Fix description about MFT.
* man/gnus.texi (Emacs Lisp): Use ~/.gnus.el instead of ~/.emacs.
2005-11-17 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Slow Terminal Connection): Replace old description
with new one.
2005-11-16 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Oort Gnus): Use ~/.gnus.el instead of ~/.emacs;
replace X-Draft-Headers with X-Draft-From.
2005-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Various Various): Fix the default value of
nnheader-max-head-length.
(Gnus Versions): Fix typo.
2005-12-09 08:57:58 +00:00
|
|
|
The default scheme of PGP implementation. The value should be one of
|
|
|
|
@code{gpg}, @code{pgp}, and @code{pgp5}. The default is @code{gpg}.
|
2004-09-04 13:13:48 +00:00
|
|
|
@end defvar
|
|
|
|
|
|
|
|
@node Caching passphrase
|
|
|
|
@section Caching passphrase
|
|
|
|
|
|
|
|
PGG provides a simple passphrase caching mechanism. If you want to
|
|
|
|
arrange the interaction, set the variable @code{pgg-read-passphrase}.
|
|
|
|
|
|
|
|
@defvar pgg-cache-passphrase
|
|
|
|
If non-@code{nil}, store passphrases. The default value of this
|
2006-01-08 13:02:36 +00:00
|
|
|
variable is @code{t}. If you are worried about security issues,
|
|
|
|
however, you could stop the caching of passphrases by setting this
|
|
|
|
variable to @code{nil}.
|
2004-09-04 13:13:48 +00:00
|
|
|
@end defvar
|
|
|
|
|
|
|
|
@defvar pgg-passphrase-cache-expiry
|
|
|
|
Elapsed time for expiration in seconds.
|
|
|
|
@end defvar
|
|
|
|
|
2006-04-26 21:58:05 +00:00
|
|
|
@defvar pgg-gpg-use-agent
|
|
|
|
When using GnuPG (gpg) as PGP scheme you can use @code{gpg-agent} for
|
|
|
|
caching@footnote{Actually @code{gpg-agent} does not cache passphrases
|
|
|
|
but private keys. On the other hand, from a users point of view this
|
|
|
|
technical difference isn't visible.}. If non-@code{nil} try to use a
|
|
|
|
running @code{gpg-agent}. It defaults to @code{nil}.
|
|
|
|
@end defvar
|
|
|
|
|
2004-09-04 13:13:48 +00:00
|
|
|
@node Default user identity
|
|
|
|
@section Default user identity
|
|
|
|
|
|
|
|
The PGP implementation is usually able to select the proper key to use
|
|
|
|
for signing and decryption, but if you have more than one key, you may
|
|
|
|
need to specify the key id to use.
|
|
|
|
|
|
|
|
@defvar pgg-default-user-id
|
|
|
|
User ID of your default identity. It defaults to the value returned
|
|
|
|
by @samp{(user-login-name)}. You can customize this variable.
|
|
|
|
@end defvar
|
|
|
|
|
|
|
|
@defvar pgg-gpg-user-id
|
|
|
|
User ID of the GnuPG default identity. It defaults to @samp{nil}.
|
|
|
|
This overrides @samp{pgg-default-user-id}. You can customize this
|
|
|
|
variable.
|
|
|
|
@end defvar
|
|
|
|
|
|
|
|
@defvar pgg-pgp-user-id
|
|
|
|
User ID of the PGP 2.x/6.x default identity. It defaults to
|
|
|
|
@samp{nil}. This overrides @samp{pgg-default-user-id}. You can
|
|
|
|
customize this variable.
|
|
|
|
@end defvar
|
|
|
|
|
|
|
|
@defvar pgg-pgp5-user-id
|
|
|
|
User ID of the PGP 5.x default identity. It defaults to @samp{nil}.
|
|
|
|
This overrides @samp{pgg-default-user-id}. You can customize this
|
|
|
|
variable.
|
|
|
|
@end defvar
|
|
|
|
|
|
|
|
@node Architecture
|
|
|
|
@chapter Architecture
|
|
|
|
|
|
|
|
PGG introduces the notion of a "scheme of PGP implementation" (used
|
|
|
|
interchangeably with "scheme" in this document). This term refers to a
|
|
|
|
singleton object wrapped with the luna object system.
|
|
|
|
|
|
|
|
Since PGG was designed for accessing and developing PGP functionality,
|
|
|
|
the architecture had to be designed not just for interoperability but
|
|
|
|
also for extensiblity. In this chapter we explore the architecture
|
|
|
|
while finding out how to write the PGG backend.
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* Initializing::
|
|
|
|
* Backend methods::
|
|
|
|
* Getting output::
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
@node Initializing
|
|
|
|
@section Initializing
|
|
|
|
|
|
|
|
A scheme must be initialized before it is used.
|
|
|
|
It had better guarantee to keep only one instance of a scheme.
|
|
|
|
|
|
|
|
The following code is snipped out of @file{pgg-gpg.el}. Once an
|
|
|
|
instance of @code{pgg-gpg} scheme is initialized, it's stored to the
|
|
|
|
variable @code{pgg-scheme-gpg-instance} and will be reused from now on.
|
|
|
|
|
|
|
|
@lisp
|
|
|
|
(defvar pgg-scheme-gpg-instance nil)
|
|
|
|
|
|
|
|
(defun pgg-make-scheme-gpg ()
|
|
|
|
(or pgg-scheme-gpg-instance
|
|
|
|
(setq pgg-scheme-gpg-instance
|
|
|
|
(luna-make-entity 'pgg-scheme-gpg))))
|
|
|
|
@end lisp
|
|
|
|
|
|
|
|
The name of the function must follow the
|
|
|
|
regulation---@code{pgg-make-scheme-} follows the backend name.
|
|
|
|
|
|
|
|
@node Backend methods
|
|
|
|
@section Backend methods
|
|
|
|
|
|
|
|
In each backend, these methods must be present. The output of these
|
|
|
|
methods is stored in special buffers (@ref{Getting output}), so that
|
|
|
|
these methods must tell the status of the execution.
|
|
|
|
|
|
|
|
@deffn Method pgg-scheme-lookup-key scheme string &optional type
|
|
|
|
Return keys associated with @var{string}. If the optional third
|
|
|
|
argument @var{type} is non-@code{nil}, it searches from the secret
|
|
|
|
keyrings.
|
|
|
|
@end deffn
|
|
|
|
|
2005-11-04 14:44:06 +00:00
|
|
|
@deffn Method pgg-scheme-encrypt-region scheme start end recipients &optional sign passphrase
|
2004-09-04 13:13:48 +00:00
|
|
|
Encrypt the current region between @var{start} and @var{end} for
|
2004-09-27 07:44:44 +00:00
|
|
|
@var{recipients}. If @var{sign} is non-@code{nil}, do a combined sign
|
|
|
|
and encrypt. If encryption is successful, it returns @code{t},
|
|
|
|
otherwise @code{nil}.
|
2004-09-04 13:13:48 +00:00
|
|
|
@end deffn
|
|
|
|
|
2005-11-04 14:44:06 +00:00
|
|
|
@deffn Method pgg-scheme-encrypt-symmetric-region scheme start end &optional passphrase
|
2005-10-29 11:39:49 +00:00
|
|
|
Encrypt the current region between @var{start} and @var{end} using a
|
|
|
|
symmetric cipher and a passphrases. If encryption is successful, it
|
|
|
|
returns @code{t}, otherwise @code{nil}. This function is currently only
|
|
|
|
implemented for GnuPG.
|
|
|
|
@end deffn
|
|
|
|
|
2005-11-04 14:44:06 +00:00
|
|
|
@deffn Method pgg-scheme-decrypt-region scheme start end &optional passphrase
|
2004-09-04 13:13:48 +00:00
|
|
|
Decrypt the current region between @var{start} and @var{end}. If
|
|
|
|
decryption is successful, it returns @code{t}, otherwise @code{nil}.
|
|
|
|
@end deffn
|
|
|
|
|
2005-11-04 14:44:06 +00:00
|
|
|
@deffn Method pgg-scheme-sign-region scheme start end &optional cleartext passphrase
|
2004-09-04 13:13:48 +00:00
|
|
|
Make the signature from text between @var{start} and @var{end}. If the
|
|
|
|
optional third argument @var{cleartext} is non-@code{nil}, it does not
|
|
|
|
create a detached signature. If signing is successful, it returns
|
|
|
|
@code{t}, otherwise @code{nil}.
|
|
|
|
@end deffn
|
|
|
|
|
|
|
|
@deffn Method pgg-scheme-verify-region scheme start end &optional signature
|
|
|
|
Verify the current region between @var{start} and @var{end}. If the
|
|
|
|
optional third argument @var{signature} is non-@code{nil}, it is treated
|
|
|
|
as the detached signature of the current region. If the signature is
|
|
|
|
successfully verified, it returns @code{t}, otherwise @code{nil}.
|
|
|
|
@end deffn
|
|
|
|
|
|
|
|
@deffn Method pgg-scheme-insert-key scheme
|
|
|
|
Retrieve the user's public key and insert it as ASCII-armored format.
|
|
|
|
On success, it returns @code{t}, otherwise @code{nil}.
|
|
|
|
@end deffn
|
|
|
|
|
|
|
|
@deffn Method pgg-scheme-snarf-keys-region scheme start end
|
|
|
|
Collect public keys in the current region between @var{start} and
|
|
|
|
@var{end}, and add them into the user's keyring.
|
|
|
|
On success, it returns @code{t}, otherwise @code{nil}.
|
|
|
|
@end deffn
|
|
|
|
|
|
|
|
@node Getting output
|
|
|
|
@section Getting output
|
|
|
|
|
|
|
|
The output of the backend methods (@ref{Backend methods}) is stored in
|
|
|
|
special buffers, so that these methods must tell the status of the
|
|
|
|
execution.
|
|
|
|
|
|
|
|
@defvar pgg-errors-buffer
|
|
|
|
The standard error output of the execution of the PGP command is stored
|
|
|
|
here.
|
|
|
|
@end defvar
|
|
|
|
|
|
|
|
@defvar pgg-output-buffer
|
|
|
|
The standard output of the execution of the PGP command is stored here.
|
|
|
|
@end defvar
|
|
|
|
|
|
|
|
@defvar pgg-status-buffer
|
|
|
|
The rest of status information of the execution of the PGP command is
|
|
|
|
stored here.
|
|
|
|
@end defvar
|
|
|
|
|
|
|
|
@node Parsing OpenPGP packets
|
|
|
|
@chapter Parsing OpenPGP packets
|
|
|
|
|
|
|
|
The format of OpenPGP messages is maintained in order to publish all
|
|
|
|
necessary information needed to develop interoperable applications.
|
|
|
|
The standard is documented in RFC 2440.
|
|
|
|
|
|
|
|
PGG has its own parser for the OpenPGP packets.
|
|
|
|
|
|
|
|
@defun pgg-parse-armor string
|
|
|
|
List the sequence of packets in @var{string}.
|
|
|
|
@end defun
|
|
|
|
|
|
|
|
@defun pgg-parse-armor-region start end
|
|
|
|
List the sequence of packets in the current region between @var{start}
|
|
|
|
and @var{end}.
|
|
|
|
@end defun
|
|
|
|
|
|
|
|
@defvar pgg-ignore-packet-checksum
|
|
|
|
If non-@code{nil}, don't check the checksum of the packets.
|
|
|
|
@end defvar
|
|
|
|
|
|
|
|
@node Function Index
|
|
|
|
@chapter Function Index
|
|
|
|
@printindex fn
|
|
|
|
|
|
|
|
@node Variable Index
|
|
|
|
@chapter Variable Index
|
|
|
|
@printindex vr
|
|
|
|
|
|
|
|
@summarycontents
|
|
|
|
@contents
|
|
|
|
@bye
|
|
|
|
|
|
|
|
@c End:
|
|
|
|
|
|
|
|
@ignore
|
|
|
|
arch-tag: 0c205838-34b9-41a5-b9d7-49ae57ccac85
|
|
|
|
@end ignore
|