On Thu, Oct 06, 2005 at 06:41:14PM -0400, Ken Manheimer wrote: > which) involve this pgg code with sascha's most recent symmetric-key > extensions patch (emacs-pgg-symmetric.patch-03) applied (by hand - > couldn't get it to work using 'patch'). hmm, strange, I just applied the patch to a fresh GNU emacs cvs checkout w/o any problems -- only one changelog hunk failed, no wonder, the changelogs are constantly changing... ;-) > 1. my most serious concern is with the unpatched pgg code. the text that > it encrypts is altered from the original, in order to append \r carriage > returns to the text (using pgg-as-lbt / pgg-convert-lbt). > > the problem with this is that decryption on unix-ish platforms with > anything other than pgg will result in text that is different than the > original. This is supposed to be a feature, not a bug. But read on, there actually _is_ a bug in PGG... Please note RfC 2440 5.9.: The last sentence gives a short summary on the subject Text data is stored with text endings (i.e. network-normal line endings). These should be converted to native line endings by the receiving software. As PGG tries to implement RfC conform OpenPGP, and it handles is text, not binary data, this always applies. Please read also on the `--textmode' option of gpg. THE BUG: pgg does the newline conversion by it self (I'm not quite sure why) but fails to tell the backend (gpg) that it should operate in textmode, so the Data Packet is tagged as binary, not text data... Please try if the appended patch (only against pgg-gpg.el) fixes this issue. [passphrase caching] As I'm short of time, I'll look into this issues later, sorry... > 4. in the patched version, the symmetric encryption does not replace the > original text with the encrypted text - it's only available in the > hidden " *PGG output*" buffer, but not put in place. I think, you want to use `pgg-encrypt-symmetric-region', which encapsulates the backend function `pgg-gpg-encrypt-symmetric-region' and puts the encrypted text in place. cheers sascha -- Sascha Wilde A conclusion is simply the place where someone got tired of thinking.