Topal: GPG/GnuPG and Alpine/Pine integration
Copyright (C) 2001--2009 Phillip J. Brooke
Topal is a `glue' program that links
GnuPG
and
Pine/Alpine. It offers
facilities to encrypt, decrypt, sign and verify emails.
This is the feature list from the README file:
- In-place decryption/verification, dealing with multiple blocks
embedded in text.
- Caching of output to reduce need for passphrase (at expense of
storing decrypts and verification output).
- Receiving of MIME RFC2015/3156 multipart/signed and
multipart/encrypted messages. Top-level multipart items need some
modification: see the README section `fixing multipart emails'. These features are available
to any program that uses .mailcap files.
- Sending of MIME RFC2015/3156 multipart/signed and multipart/encrypted
messages. (Needs a patch to Pine/Alpine.)
- Sending and receiving of the old application/pgp content-type
(sending requires the same patch as the previous item).
- Basic support for verifying S/MIME multipart/signed messages.
- Offers user the opportunity to check output before sending
it.
- Remote sending and decryption for when reading email on a distant computer via ssh with secret
keys on the local computer.
- Rich configuration options.
- Shortcuts for selecting keys, as well as general key selection
routines when sending email.
- Few arbitrary limits.
See the README
file for all the stuff like licensing,
TO DO,
recent changes, etc.
The current release of Topal is 67. Send email to
pjb@lothlann.freeserve.co.uk
if you would like to be notified of new Topal releases by email.
The most recent changes were:
- 14/7/2008; release 61
-
An initial, rather crude, but (for my purposes at least) effective
remote mode for sending.
Some history is now saved.
- 17/7/2008; release 62
-
Added basic support for S/MIME verification of messages.
Quoted-printable encoder (in MIME-tool) improved (single dots and
leading "From ") as per RFC2049.
Decode quoted-printable and base64 before calling run-mailcap.
Ignore errors in strip in Makefile (trips up Cygwin, which expects the
executable to be foo.exe).
Update feature list for remote sending.
Internal changes to configuration storage.
- 31/8/2008; release 63
-
Update change list for release 62 (omitted some items...).
Give a sensible warning message instead of dying with an exception
when (1) signing operations are called without own key set; (2)
attempting to choose own key without any secret keys available.
Added some hints in the documentation.
Initial attempt at supporting remote decryption.
Handle SIGINT ourselves so that temporary files are cleaned up. Also
clean up more often when exceptions occur.
- 24/10/2008; release 64
-
Update feature list for release 63's remote decryption support.
Add patch to Topal sources for Cygwin. (The recent interrupt code
doesn't build.)
Bug fix: temporary files weren't being deleted, because
Rm_Tempfiles_PID hadn't been changed to match Temp_File_Name.
Added patch for Alpine 2.00. Alpine's S/MIME needs to be turned off
for Topal's S/MIME verification to work.
Bug fix in Externals.Simple.Guess_Content_Type.
- 1/5/2009; release 65
-
MIME sending now uses the current locale as the content-type header charset.
MIME receiving (verification) tries to use the character set given in
its first attempt.
Signing calls to GPG use --textmode flag (shouldn't be needed
if the dos2unix calls work, but experiments suggest some problems if
we don't do this).
Fix remote server so that emails with multiple recipients are handled
properly.
Added new patch to Alpine that might make it easier to read
multipart signed/encrypted messages. This makes the procmail recipe
redundant, but needs more testing.
Attempt to manage different character sets when verifying S/MIME.
MIME messages now include a prolog explaining that they're OpenPGP
messages. Also added appropriate Content-Disposition headers to help
client programs.
Update docs re: Alpine patches.
Code cleanup (e.g., vars that could be declared constant, and some
unused procedure formals).
- 6/6/2009; release 66
-
Removed spurious spaces from Topal `-----' text that were messing up
format=flowed text. Note that this doesn't fix cache files that
already have this problem.
Changed the default sending and receiving GPG options (use
the -default option to see them). This does not override
whatever is in your current .topal/config file.
Added a configuration option `omit-inline-disposition-name':
apparently some mail services mistreat inline MIME parts if they have
a filename. If this option is set, then no filename parameter is
added to inline content-disposition headers. The option can be
changed via the configuration menu.
- 6/6/2009; release 67
-
Added another configuration option `omit-inline-disposition-header'.
If a disposition header of value inline would be added, it's simply
omitted altogether.
Files available are:
- The README file.
- GNU Public Licence version 3.
- The source code package
(176 kB, release 67) and a
detached signature.
You will need the source package, even if you don't want to compile Topal yourself. The documentation is included in the tarball.
- The topal binary for Linux x86
(220 kB, not stripped, gzip'd, release 67) and a
detached signature.
The output of ldd for the topal binary (on the build machine) is
linux-gate.so.1 => (0x4001c000)
libncurses.so.5 => /lib/libncurses.so.5 (0x40038000)
libreadline.so.4 => /lib/libreadline.so.4 (0x4006a000)
libgnarl-4.3.so.1 => /usr/lib/libgnarl-4.3.so.1 (0x40096000)
libgnat-4.3.so.1 => /usr/lib/libgnat-4.3.so.1 (0x400ce000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0x403a6000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x403bf000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0x403cd000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0x40528000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0x4052c000)
/lib/ld-linux.so.2 (0x40000000)
- The topal binary for Linux x86
(statically linked against the GNAT library, 348 kB, stripped, gzip'd, release 67) and a
detached signature. You'll need to rename this as `topal'.
The output of ldd for this binary (on the build machine) is
linux-gate.so.1 => (0x4001c000)
libncurses.so.5 => /lib/libncurses.so.5 (0x40038000)
libreadline.so.4 => /lib/libreadline.so.4 (0x4006a000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0x40096000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0x400af000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0x4020a000)
/lib/ld-linux.so.2 (0x40000000)
- Some features (sending of any content-type except text/plain) require
a patch to Pine. (See the README.)
Last generated: Sat Jun 6 16:56:50 BST 2009