[108176] in Cypherpunks
CDR: [Announcement] PGP 6.0.2 source is availabile ! (fwd)
daemon@ATHENA.MIT.EDU (Max Inux)
Sun Feb 7 14:29:36 1999
Date: Sun, 7 Feb 1999 11:03:01 -0800 (PST)
From: Max Inux <maxinux@openpgp.net>
To: cypherpunks@einstein.ssz.com
Reply-To: Max Inux <maxinux@openpgp.net>
From: Stale Schumacher Ytteborg <stale@hypnotech.com>
Subject: Need help compiling PGP 6.0.2i
The PGP 6.0.2 source code books are now finally scanned and proof-read.
ftp://ftp.pgpi.com/pub/pgp/6.0/6.0.2i/
However, I am not able to compile the program myself, as I don't
have all the necessary tools. To build PGP 6.0.2i, you will need:
--- Tools Required for Building Windows Version ----
* Microsoft Visual C++ 5.0 (http://www.microsoft.com)
* Microsoft Visual Studio 97 Service Pack 3 (http://www.microsoft.com/
msdownload/vs97sp/full.asp)
* Microsoft Platform SDK January 1998
* Microsoft Windows NT DDK January 1997
* Microsoft Windows 95 DDK January 1998
* Microsoft Macro Assembler (MASM) 6.13
* Microsoft Common Control 4.72 (http://msdn.microsoft.com/developer/
downloads/files/40comupd.htm)
* Microsoft MFC42.dll 4.21.7303 (Available in Windows NT 4 Service Pack 3
at C:\WinNT\System32\MFC42.dll)
* Microsoft Msvcrt.dll 5.00.7303 (Available in Windows NT 4 Service Pack 3
at C:\WinNT\System32\Msvcrt.dll)
* Vireo VTOOLSD 2.05b (http://www.vireo.com/vtd95.htm)
* Vireo Driver::Works 1.20 (http://www.vireo.com/vdw.htm)
* InstallShield 3.0 (http://www.installshield.com)
MACINTOSH BUILD INSTRUCTIONS
============================
Build requirements
------------------
The following third-party tools/SDKs are needed to build PGP 6.0.2i:
* Metrowerks CodeWarrior Pro 3 (http://www.metrowerks.com)
* Metrowerks CodeWarrior IDE 3.0.1 Patch for Macintosh Hosted Tools
(ftp://ftp.metrowerks.com/pub/updates/CWPR03/CW_IDE_3.0.1Patch.sit.hqx)
* MindVision Installer VISE for Macintosh 5.5.2 (http://www.mindvision.com)
* Aladdin's Stuffit Expander 4.0.1 (located on the Metrowerks CodeWarrior Pro
3 CD)
* Unzip 5.32 (http://hotfiles.zdnet.com/cgi-bin/texis/swlib/mac/infomac.html?
fcode=MC13934)
* Apple DiskCopy 6.3 (http://http.info.apple.com/ftp/Apple.Support.Area/
Apple.Software.Updates/US/Macintosh/Utilities/Disk_Copy/
Disk_Copy_6.3.smi.bin)
* Apple ResEdit 2.1.3 (CW Pro 3 Tools:Apple Development Tools:
ResEdit 2.1.3.sit) or Mathemaesthetics Resorcerer
(http://www.mathemaesthetics.com)
* Apple Open Transport SDK 1.3 (ftp://ftp.apple.com/devworld/
Development_Kits/OpenTransportSDK.sea.hqx)
* Apple Appearance Manager SDK 1.0.3 (ftp://ftp.apple.com/devworld/
Development_Kits/Appearance_SDK_1.0.3.sit.hqx)
* Apple Contextual Menu Manager SDK 1.0.3 (ftp://ftp.apple.com/devworld/
Development-Kits/ContextualMenuMgr_1.0.3.sit.hqx)
* Apple CFM-68K 4.0 System Extension and related files (CW Pro 3 Tools:
Systern Folder Items:For MacOS Development:for Extensions folder:For 68K
Macs Only:)
Preparing the build environment
-------------------------------
(1) If Stuffit Expander is not already on the machine, copy Stuffit Expander
4.0.1 from the Metrowerks CodeWarrior Pro 3 Tools CD. The Stuffit
Expander folder is located at "CW Pro 3 Tools:Other Metrowerks Tools:Tools
for Netborne patches:Stuffit Expander:". Open Stuffit Expander and enable
the "Expand Encoded Files" option in the "Expansion" panel of the
preferences dialog.
(2) Install Metrowerks CodeWarrior Pro 3 (CW Pro 3) from the "CW Pro 3 Tools"
CD. The "MacOS Heaven" option will install all needed tools.
(3) Apply the Metrowerks CodeWarrior IDE 3.0.1 Patch for Macintosh Hosted
Tools to update the IDE application to 3.0.1.
(4) Delete the file "Metrowerks:Metrowerks CodeWarrior:CodeWarrior IDE 3.0" if
it still exists.
(5) Increase the preferred memory size of the application "Metrowerks:
Metrowerks CodeWarrior:CodeWarriorIDE 3.0.1" to at least 20000K. Note that
building PGP 6.0.2i can be memory intensive. We recommend at least 64MB of
available memory.
(6) Install and personalize the MindVision Installer VISE 5.5.2 application.
(7) CW Pro 3 incorrectly shipped with older versions of some Open Transport
stub libraries and is missing the CFM 68K OT stub libraries altogether.
The correct files are located in the Open Transport SDK. Copy (and replace
if prompted) the following files to the folder "Metrowerks:Metrowerks
CodeWarrior:MacOS Support:Libraries:MacOS Common:":
* Open Transport SDK:Open Tpt Client Developer:CFM68K Shared Libraries:
OpenTpt68kATalkLib
* Open Transport SDK:Open Tpt Client Developer:CFM68K Shared Libraries:
OpenTpt68kClentLib
* Open Transport SDK:Open Tpt Client Developer:CFM68K Shared Libraries:
OpenTpt68kInetLib
* Open Transport SDK:Open Tpt Client Developer:CFM68K Shared Libraries:
OpenTpt68kUtilLib
* Open Transport SDK:Open Tpt Client Developer:PPC Libraries:
OpenTptAppleTalkLib
* Open Transport SDK:Open Tpt Client Developer:PPC Libraries:
OpenTptInternetLib
* Open Transport SDK:Open Tpt Client Developer:PPC Libraries:
OpenTransportLib
* Open Transport SDK:Open Tpt Client Developer:PPC Libraries:
OpenTransportUtilLib
* Open Transport SDK:Open Tpt Module Developer:Libraries:
OpenTptKemelUtilLib
* Open Transport SDK:Open Tpt Module Developer:Libraries:OpenTptModuleLib
(8) CW Pro 3 has a code generation bug regarding glue code to 64-bit math
routines in CFM 68K projects. The linker assumes the result is returned in
register AO while the glue code implementation returns the result in
register DO. PGP is built using a modified CFM 68K runtime library. To fix
the runtime library source code, insert the line "move.1 aO,d0" just
before the final RETURN statement in each of the following functions in
the file "Metrowerks:Metrowerks CodeWarrior:MacOS Support:Libraries:
Runtime:Runtime CFM68K:(Sources):LongLong68K.c":
* __rt_neg64
* __rt_inv64
* __rt_add64
* __rt_sub64
* __rt_mul64
* __rt_shl64
* __rt_shru64
* __rt_shrs64
* __rt_and64
* __rt_or64
* __rt_eor64
* __rt_ultoi64
* __rt_sltoi64
(9) Open the CW project file "Metrowerks:Metrowerks CodeWarrior:MacOS Support:
Libraries:Runtime:Runtime CFM68K:MSL RuntimeCFM68K.mcp" and make the
project to recompile the fixed runtime library.
Preparing the source code tree
------------------------------
Before compilation, several additional steps are needed to prepare the source
tree:
(1) All of the binaries are located in the files "binares1.zip" and
"binaries2.zip". These files contain the binaries in a "parallel"
hierarchy to the source tree. Launch Unzip 5.32 and select the Modifiers->
Extract Options->Conversion Mode->Binary menu item to force Unzip to
interpret all archive contents as binary. Then, choose Extract from the
File menu and extract the contents of "binaries1.zip" and "binaries2.zip".
Note that Stuffit Expander can extract zip files, but is unable to
automatically merge the files into the source tree, so use Unzip if at all
possible.
(2) Convert all the Macbinary-format binary files (those ending with bin) to
native Mac files of the same name except with the ".bin" stripped off. The
easiest way to do this is to drag the clients and libs folders onto
Stuffit Expander. If you wish to have a clean source tree, optionally
delete all the original ".bin" files.
(3) Create the following empty folders:
* clients:disk:mac:projects:apps:
* clients:disk:mac:projects:obj:
* clients:pgp:mac:obj:
* clients:pgp:mac:PGPEudoraPlugIn:obj:
* clients:pgp:mac:PGPmenu:pieces:
(4) PGPcontextmenu needs library files located in the Contextual Menu Manager
SDK. Copy the folder "Contextual Menu Manager SDK:Contextual Menu
Development:Headers & Stubs:" to the folder "clients:pgp:mac:
PGPcontextmenu:".
(5) Decompress the self-extracting archive "clients:pgp:mac:install:
Installer.sea". This should create a folder "Installer" in the same
location as the self extracting archive.
(6) Copy the following files to the folder "clients:pgp:mac:install:Installer:
System Folder Items:":
* CW Pro 3 Tools:System Folder Items:For MacOS Development:for Extensions
folder:ObjectSupportLib
* CW Pro 3 Tools:System Folder Items:For MacOS Development:for Extensions
folder:For 68K Macs Only:CFM-68K Runtime Enabler
* CW Pro 3 Tools:Systern Folder Items:For MacOS Development:for Extensions
folder:For 68K Macs Only:NuDragLib.slb
* Contextual Menu Manager SDK:Contextual Menu Development:Runtime:Put
these in Extensions f:S0Mobjects(tm) for Mac OS
* Appearance SDK:.Keyboard
* Appearance SDK:Appearance Extension
* Appearance SDK:Prefs for use with System 7.x:Appearance Preferences
(7) Copy all of the files in the folder "clients:pgp:mac:install:docs:" to the
folder "clients:pgp:mac:install:Installer:Extras:".
(8) Copy the file "Appearance SDK:Appearance" to the folder "clients:pgp:mac:
install:Installer: System Folder Items:Appearance (APPC):"
(9) Copy the file "Appearance SDK:AppearanceCDEV' to the folder "clients:pgp:
mac:install:Installer:System Folder Items:Appearance (APPL):". Rename the
resulting file "Appearance".
(10) Copy the folder "Installer VISE 5.5.2:Samples:Sample Projects:Installer
VISE Headers:" to the folder "clients:pgp:mac:install:".
(11) Make the CW Pro 3 project "clients:pgp:mac:install:InstallAdmin Resource:
InstallAdmin.prj". This will produce the output file "clients:pgp:mac:
install:InstallAdmin Resource:AdminInstaller.rsrc".
(12) Use ResEdit or Resorcerer to COPY the 'ADMN' 5000 resource from the file
"clients:pgp:mac:install:InstallAdmin Resource:AdminInstaller.rsrc" to
the file "clients:pgp:mac:install:Installer:PGP60.vct".
Setting source code flags
-------------------------
The following library flags are located in the file "libs:pgpcdk:priv:include:
pgpSDKBuildFlags.h":
* PGP_RSA: Set to 1 for RSA-enabled builds
* PGP_RSA_KEYGEN: Set to 1 to allow RSA key generation
* PGP_USECAPIFORRSA: Set to 1 to use Microsoft's Crypto API (CAPI) for RSA
operations. Always set to 0 for Macintosh builds.
* PGP_USECAPIFORMD2: Set to 1 to use Microsoft's Crypto API (CAPI) for MD2
hashing operations. Always set to 0 for Macintosh builds.
* PGP_USEBSAFEFORRSA: Set to 1 to use RSA's BSAFE library for RSA operations.
Note that BSAFE is not included in these source code books.
* PGP_USEPGPFORRSA: Set to 1 to use the PGP implementation for RSA operations.
* PGP_USERSAREF: Set to 1 to use the RSAREF library for RSA operations. Note
that RSAREF is not included in these source code books.
These flags should be set as follows for the three supported builds:
* Desktop Security: PGP_RSA = 1, PGP_RSA_KEYGEN = 1, PGP_USECAPIFORRSA = 0,
PGP_USECAPIFORMD2 = 0, PGP_USEBSAFEFORRSA = 0, PGP_USEPGPFORRSA = 1,
PGP_USERSAREF = 0
* Personal Privacy: PGP_RSA = 1, PGP_RSA_KEYGEN = 1, PGP_USECAPIFORRSA = 0,
PGP_USECAPIFORMD2 = 0, PGP_USEBSAFEFORRSA = 0, PGP_USEPGPFORRSA = 1,
PGP_USERSAREF = 0
* Freeware: PGP_RSA = 1, PGP_RSA_KEYGEN = 0, PGP_USECAPIFORRSA = 0,
PGP_USECAPIFORMD2 = 0. PGP_USEBSAFEFORRSA = 0, PGP_USEPGPFORRSA = 1,
PGP_USERSAREF = 0
The following client flags are located in the file "clients:pgp:shared:
pgpBuildFlags.h":
* BETA: Set to 0 for release builds
* PGP_DEMO: Set to 0 for regular builds
* PGP_FREEWARE: Set to 1 when building PGPfreeware
* PGP_BUSINESS_SECURITY: Set to 1 when building PGP Desktop Security
* PGP_PGP_PERSONAL_PRIVACY: Set to 1 when building PGP for Personal Privacy
* PGP_ADMIN_BUILD: Set to 1 when building the admin version of PGP Desktop
Security. Ignored for all Macintosh builds
* NO_RSA_KEYGEN: Set to 1 to disable RSA key generation
* NO_RSA_OPERATIONS: Set to 1 to disable encrypting/signing with RSA keys
* CREDIT_RSA_BSAFE: Set to 1 when building an RSA-enabled version which uses
RSAs BSAFE library
These flags should be set as follows for the three supported builds:
* Desktop Security: BETA = 0, PGP_DEMO = O, PGP_FREEWARE = O,
PGP_BUSINESS_SECURITY = 1, PGP_PGP_PERSONAL_PRIVACY = 0, PGP_ADMIN-BUILD
= 1, NO_RSA_KEYGEN = 0, NO_RSA_OPERATIONS = 0, CREDIT_RSA_BSAFE = 0
* Personal Privacy: BETA = 0, PGP_DEMO = 0, PGP_FREEWARE = 0,
PGP_BUSINESS_SECURITY = 0, PGP_PGP_PERSONAL_PRIVACY = 1, PGP_ADMIN_BUILD
= 0, NO_RSA_KEYGEN = 0, NO_RSA_OPERATIONS = 0, CREDIT_RSA_BSAFE = 0
* Freeware: BETA = 0, PGP_DEMO = 0, PGP_FREEWARE = 1, PGP_BUSINESS_SECURITY
= 0, PGP_PGP_PERSONAL_PRIVACY = 0, PGP_ADMIN_BUILD = 0, NO_RSA_KEYGEN = 1,
NO_RSA_OPERATIONS = 0, CREDIT_RSA_BSAFE = 0
Building the code
-----------------
(1) Open the CW project file "clients:pgp:mac:Build60.prj". Select the target
"All Non-Debug" from the target popup menu and make the project. This
will build all PGP 6.0.2i client binaries except PGPdisk into the folder
"clients:pgp:mac:obj:". The PGPsdk library binaries are built into the
folder "libs:pgpcdk:mac:pub:".
(2) Close the CW project file "Build60.prj" and open the CW project file
"clients:disk:mac:projects:PGPdiskApp.prj". Select the target "CFM Fat"
from the target popup menu and make the project. This will build the
PGPdisk application files into the folder "clients:disk:mac:projects:
apps:".
(3) Delete the file "clients:disk:mac:projects:apps:PGPdisk". Change the name
of the file "clients:disk:mac:projects:apps:PGPdiskPPC" to "PGPdisk".
Change the name of the file "clients:disk:mac:projects:apps:PGPdiskCFM68K"
to "PGPdisk68K".
Building the installer
----------------------
(1) Copy (or move) all of the files/folders from ONE of the following folders
to the folder "clients:pgp:mac:install:Installer:Extras:", depending on
the desired build:
* clients:pgp:mac:install:Installer:Extras:business:
* clients:pgp:mac:install:Installer:Extras:personal:
* clients:pgp:mac:install:Installer:Extras:freeware:
(2) Open the Installer VISE archive "clients:pgp:mac:install:Installer:
PGP60.vct".
(3) Select "Validate Paths" from the Extras menu. By default, all files in the
archive will be located automatically. If a file cannot be found, you will
be prompted for its location. Locate the correct file, if needed.
(4) Select "Bring Up To Date..." from the Archive menu. Make sure every
checkbox along the left side of the list of files is checked and click the
Update button.
(5) Component installation is controlled through VISE build directives. Select
"Build Directives..." from the Archive menu. The two build directives,
"pgpdisk" and "business", are set as follows for the three different
builds:
* Desktop Security: pgpdisk checked, business checked
* Personal Privacy: pgpdisk checked, business unchecked
* Freeware: pgpdisk unchecked, business unchecked
(6) Information display in the installer is controlled through Installer VISE
variables. Select "Variables..." from the Archive menu. Change the values
of the "algstr" and "config" variables, as appropriate.
(7) Select "Archive Settings..." from the Archive menu and click on the "Text
Files" tab. Highlight the "Default" entry in the "License Agreement Files"
and click the Edit button. Navigate to the folder "clients:pgp:mac:
install:Installer" and choose the appropriate "EULA xxx" file. Dismiss the
Archive Settings window.
(8) Select the "PGP 6.0" folder in the main VISE archive window and select
"Set Icon Locations..." from the Archive menu. Follow the directions to
arrange the application in a presentable manner.
(9) Select "Build Installer..." from the File menu. This will build the
installer into the folder "clients:pgp:mac:install:Installer:".
End of build instructions.
I'd appreciate if someone with the necessary tools would build the
program, create the self-extracting .exe file, sign it with their PGP
key and upload it to the incoming/ directory.
Cheers,
.
Stale Schumacher Ytteborg
-----------------------------------------------------------------------
Hypnotech AS Phone: +47 222 00601 http://www.hypnotech.no/
Nedre vaskegang 6 Cell : +47 900 86393
N-0186 Oslo, Norway Fax : +47 222 06421 http://stale.ytteborg.com/