Known bugs in PGP 5.0i for Unix

Compile problem on Irix and Solaris
If you are having problems with the file lib/pgp/helper/pgpLeaks.c, try removing the inline directive in line 78:


-    static inline Boolean
+    static Boolean 		
 pgpLeaksSuspended(void)
 {
     return sSuspendCount != 0;
 }
Thanks to Thomas C. Fischer and Payl C. Leyland for pointing this out.

Bus error on Solaris 2.5.1
Kris Van Hees <aedil@ny.fnx.com> wrote:

Hi,

Compiling PGP 5.0i sources on a Solaris 2.5.1 (Sparc20) box with GCC 2.7.1 succeeded but the resulting code aborts with a Bus Error when running key generation (pgpk -g). I traced down the problem to the struct MD5Context, which contains a conditional for HAVE64, which is set along with typedefs in include/pgpUsuals.h. I am not certain why, but using that auto-resolving finds a 64bit type as 'unsigned long long', and thus sets HAVE64. Yet when used in code this fails. I think this might be a problem with GCC/Solaris interaction. A Bus Error sounds to me as a possible alignment problem there.

I manually disabled the HAVE64 check, so that the code will use two 32bit words, and that solved the problem.

Problem with 64-bit architectures
If you're on a 64-bit machine such as the DEC Alpha, try appling the following patch:

*** src/lib/pgp/include/pgpUsuals.h~    Sat Aug  9 22:44:58 1997
--- src/lib/pgp/include/pgpUsuals.h     Tue Aug 12 16:57:16 1997
***************
*** 50,57 ****
  */
  #if ULONG_MAX > 0xfffffffful
  #if ULONG_MAX == 0xfffffffffffffffful
! typedef ulong bnword64;
! #define BNWORD64 bnword64
  #define HAVE64 1
  #endif
  #endif
--- 50,56 ----
  */
  #if ULONG_MAX > 0xfffffffful
  #if ULONG_MAX == 0xfffffffffffffffful
! typedef ulong word64;
  #define HAVE64 1
  #endif
  #endif
Thanks to Paul C Leyland <pcl@sable.ox.ac.uk> for pointing this out.

Changes needed to get PGP to run under NEXTSTEP 3.3
Marcel Waldvogel <mwa@tik.ee.ethz.ch> provided this patch for NextStep.

Problem creating RSA keys bigger than 1024 bits
Michael Roth <mroth@wirlweb.de> provided this patch.

Using PGP 2.6.3i and PGP 5.0 side by side
If you already have PGP 2.6.3i installed and install PGP 5.0i, the old binary will be destroyed. Marcel Waldvogel explains how to fix this:

I also still need the old binaries around, so I have enhanced the Makefiles a little bit. With "make install INSTPGP=pgp5" it is now possible to install PGP so that the main binary (which you never need to call anyway) and the main man page now listen to "pgp5" instead of "pgp". Since the changes are to the "Makefile.in"s (so that it can be included into the distribution, *HINT*), you need to run "configure" again afterwards (or apply the patch manually to the Makefiles).

See the diffs below. Since I do have same Solaris 2.5.1 problem as Juergen, I can't currently use pgp, either.

- -Marcel

diff -r -c pgp50i-b8/src/apps/pgp/Makefile.in  
old/pgp50i-b8/src/apps/pgp/Makefile.in
*** pgp50i-b8/src/apps/pgp/Makefile.in	Mon Aug 11 15:41:37 1997
- --- old/pgp50i-b8/src/apps/pgp/Makefile.in	Sat Aug  9 23:45:38 1997
***************
*** 7,15 ****
  #

  PROG = pgp
! # Set this to "pgp5" if you want the keep old and new versions in parallel
! INSTPGP = pgp
! INSTALLPROGS =

  COMMON=../common
  LOCALINCLUDES = -I$(COMMON) -I$(srcdir)/$(COMMON)
- --- 7,13 ----
  #

  PROG = pgp
! INSTALLPROGS = $(PROG)

  COMMON=../common
  LOCALINCLUDES = -I$(COMMON) -I$(srcdir)/$(COMMON)
***************
*** 22,32 ****

  install:: $(PROG)
   (						\
! 	    $(INSTALL) -m 755 pgp $(DESTDIR)$(bindir)/$(INSTPGP);	\
       cd $(DESTDIR)$(bindir);			\
       $(RM) pgpe pgps pgpv pgp_old;		\
! 	    $(LN_S) $(INSTPGP) pgpe;			\
! 	    $(LN_S) $(INSTPGP) pgps;			\
! 	    $(LN_S) $(INSTPGP) pgpv;			\
! 	    $(LN_S) $(INSTPGP) pgp_old			\
   )
- --- 20,30 ----

  install:: $(PROG)
   (						\
! 	    $(INSTALL) -m 755 pgp $(DESTDIR)$(bindir);	\
       cd $(DESTDIR)$(bindir);			\
       $(RM) pgpe pgps pgpv pgp_old;		\
! 	    $(LN_S) pgp pgpe;				\
! 	    $(LN_S) pgp pgps;				\
! 	    $(LN_S) pgp pgpv;				\
! 	    $(LN_S) pgp pgp_old				\
   )
diff -r -c pgp50i-b8/src/man/Makefile.in old/pgp50i-b8/src/man/Makefile.in ***
pgp50i-b8/src/man/Makefile.in	Mon Aug 11 16:01:48 1997 - ---
old/pgp50i-b8/src/man/Makefile.in	Sat Aug  9 23:45:36 1997 *************** ***
6,20 ****
  # $Id: Makefile.in,v 1.3.2.4 1997/06/24 23:03:16 quark Exp $
  #

! # Change this to pgp5 if you want old and new versions in parallel
! INSTPGP=pgp
! MAN1=$(INSTPGP).1 pgpe.1 pgpk.1 pgps.1 pgpv.1
  MAN5=pgp.cfg.5

! $(INSTPGP).1:	pgp.1
! 	$(LN_S) $< $@
!
! install:: $(INSTPGP).1
   if test 'x$(MAN1)' != x; then \
    if test ! -d $(DESTDIR)$(mandir)/man1; then \
     mkdir -p $(DESTDIR)$(mandir)/man1; \
- --- 6,15 ----
  # $Id: Makefile.in,v 1.3.2.4 1997/06/24 23:03:16 quark Exp $
  #

! MAN1=pgp.1 pgpe.1 pgpk.1 pgps.1 pgpv.1
  MAN5=pgp.cfg.5

! install::
   if test 'x$(MAN1)' != x; then \
    if test ! -d $(DESTDIR)$(mandir)/man1; then \
     mkdir -p $(DESTDIR)$(mandir)/man1; \


PGPi Home > Documentation > Known bugs in PGP > Unix ]