
===== What's this?

This is the "Pine PGP Filters" package for Unix, created by Doug Barton.

The latest version of this package should be available at
http://dougbarton.net/FreeBSD/Downloads/

===== Why another filter package?

Does the world need yet another filter package to integrate pgp with Pine?
Maybe not, but I felt the need to create one anyway. Here are my reasons:

1. With due respect to the authors of other packages, they don't meet my needs.

2. The FreeBSD Project already had a set of simple, Bourne Shell based filters,
   however, they have suffered from bitrot over time, and didn't support gnupg.

3. Therefore, I wanted something that I could replace the old FreeBSD scripts
   with, and since I was revamping them anyway, I decided to start from
   scratch with new scripts that address all the things I wanted as well.

===== Design goals

1. I wanted to create a set of "stand alone" filters that don't require Perl,
   and were simple enough that users could easily change the display format,
   or other options without complicated configure scripts or config files.
   Note: I have nothing against Perl, I use it quite a lot. However, we've
   decided to ship FreeBSD 5 with no interpreted languages in the base, so I
   needed something that didn't require extra packages to work. Also, I think
   that Perl overhead is overkill for something like this, and these filters
   are faster than any of the Perl alternatives I tested.

2. Simple, simple, simple. (Also fast, fast, fast. :)  I like to keep things
   simple, and generally that means that they are fast as well. Part of making
   this as simple as possible involved splitting out the verify and decrypt
   functions into separate scripts. This made both scripts simpler. The main
   difference is that you need to supply a password for decryption, which
   makes that script slightly more complicated. Separating the two functions
   allowed me to make the verify script simpler.

3. The GNU Project's GPG package is by far the most popular Unix command line
   implementation nowadays, for good reason. Therefore, these scripts make
   that the default option, if it exists.

4. Compatibility with the latest gnupg and pgp versions. These scripts were
   developed and thoroughly tested with gnupg version 1.2.1, and pgp version
   6.5.8; using Pine version 4.53.

5. Capable of handling a wide variety of input without failing.

6. Secure. I've tried to make these scripts as secure as possible, to the best
   of my ability.

7. Did I mention fast?

===== Features

In addition to the standard functions of encrypt/decrypt and sign/verify, I've
also added a pseudo-filter to verify messages that were sent using MIME
encoding to attach the signature. See INSTALL for how to use it. It's not
possible for a sending filter to create these kinds of MIME messages, since
Pine does not give the user the ability to twiddle attachments.

===== Contact

Feel free to contact me at the addresses below. I will do my best to respond
in a timely manner, but please don't be offended if I don't. :) I'm interested
in suggestions for how to improve these filters. I'm also interested in making
them as useful as possible on other platforms, but if you have requests or
suggestions in this area, please send patches. 

My pgp key should be available on the public key servers:

pub  1024D/D5B2F0FB 2003-01-16 Doug Barton <DougB@DougBarton.net>
     Key fingerprint = 9DD1 E44C 8660 ADA6 580F  83B6 C886 A42B D5B2 F0FB
uid                            Doug Barton <DougB@FreeBSD.org>
sub  4096g/2DBB3F89 2003-01-16

Enjoy!

