Known bugs in PGP 2.6.3i

The following is a list of known bugs in PGP 2.6.3i, and how to correct them. If you think you have discovered a new bug, please mail the details to

PGP 2.6.3(i)a patches available
Click here to download the latest bug-fixes for PGP 2.6.3(i). (Sorry, source code only!)

* PGP ignores long form of TZ variable
The TZ environment variable allows you to set your timezone and whether you’re using Daylight Savings Time (DST). The long form of the TZ specification also allows you to specify when to switch to/from DST:

  SET TZ=SSS[+|-]nDST,sm,sw,sd,st,em,ew,ed,et,shift
However, most PGP compilations simply ignores everything after the first comma, which means that PGP will always switch to DST at 01:00 on the first Sunday in April, and back again at 02:00 on the last Sunday of October. This may not be correct for all countries (and certainly not if you’re in the southern hemisphere).

* PGP can’t handle pass phrases with accented characters
A PGP user in Germany who recently upgraded from PGP 2.3a to PGP 2.6.3i reported that he can’t use his old keys anymore with the new version, supposedly because he has used the german umlaut characters ‘รค’ and ‘รŸ’ in the pass phrase.

A piece of advice: don’t use any such characters. ๐Ÿ™‚ A pass phrase written in one character set or code page would probably not work in another anyway. I think this “bug” was introduced somewhere around version 2.6. If you have an old key with national characters in the pass phrase, change the pass phrase to plain ASCII before upgrading to 2.6.3i.

* Incorrect command line parsing with Borland C (MS-DOS)
The precompiled DOS version of PGP 2.6.3i is compiled using Microsoft C. If you compile PGP yourself using Borland/Turbo C and are running the standard COMMAND.COM shell (not 4DOS), you will find that PGP does not behave as documented when using ” (quotes) for specifying command line parameters with embedded blanks. For example:

  pgp -seat +comment="Would you send mail without an envelope?" msg.txt schumacher
should be written as:
  pgp -seat "+comment=Would you send mail without an envelope?" msg.txt schumacher

* Text files treated as binary (all platforms)
The binary/text recognition routine in PGP 2.6.2i has been rewritten in 2.6.3i in order to allow clearsigning of non-European languages (e.g. Japanese, Korean, Chinese). This usually works very well, but on texts with very long lines (longer than 132 characters), it will fail. To make the binary recognition less strict, simply remove line 1056 in fileio.c:

  if (lfctr>132) return FALSE; /* line too long. Not a text file*/
But please note that text files with such long lines normally don’t get through email intact, resulting in a bad signature.

* Cannot generate keys (Macintosh)
There is an error in the MacPGP distribution archive. Here’s how to fix it:

  1. Rename the “doc” folder to “Documentation”
  2. Move the “PGP User’s Guide” folder into the “Documentation” folder
PGP should now be able to generate the keys.

* Compiling problems (various Unix platforms)

Undefined strdup() function
The strdup() function is normally defined in <string.h>, but on some systems it may be missing. If PGP won’t link because of this, change line 2922 in pgp.c from:

  if (!(new[entrynum++] = strdup(tempbuf)))
  if (!(new[entrynum++] = store_str(tempbuf)))

Then remove the ‘static’ declaration from store_str() in keymaint.c. If you’re using an ANSI compiler, you’ll have to add the prototype for store_str() in keymaint.h, too:

  char *store_str(char *str);

Undefined strncasecmp() function
If your system doesn’t have the strncasecmp() function, simply use strncmp() instead.

Missing prototypes
In pgp.c, insert the following line after line 129 (in the #ifdef UNIX section):

#include <sys/types.h>

* This bug is unique to PGP 2.6.3i, but has been fixed.
* This bug is inherited from MIT PGP 2.6.2 and is present in all versions of PGP.

PGPi Home > Documentation > Known bugs in PGP > PGP 2.6.3i ]