Consultor Eletrônico



Kbase 11224: Deploying encrypted source to VMS with Toolkit: Update 9/93
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/05/1998
Deploying encrypted source to VMS with Toolkit: Update 9/93

INTRODUCTION:
=============

This Technical Support KnowledgeBase entry will detail how to
successfully transfer encrypted source code files to a VMS
production environment. If you are using file transfer software
not obtained from Digital Equipment Corporation (not DECNet or DNICP),
extra steps are involved.

WHY YOU NEED TO KNOW THIS:
==========================

The file transfer method you use must maintain the integrity of the
file contents to ensure that the decryption of the file succeeds.
This documents methods that will correct the problem of
extraneous characters being introduced into the encryption which
then result in compile errors when you try to perform the
XCOMPILER (decrypted) compile under VMS.

PROCEDURAL APPROACH:
====================
There will be problems compiling encrypted source to VMS
if the file transfer method has introduced or stripped needed
characters.

If you ARE using DECNet's PATHWORKS FOR DOS (known also at various
times as DECNET-DOS, PCSA, or DIGITAL LANWORKS), use the
file utility called NFT (Network File Transfer).

Enter "NFT" at the DOS command prompt to invoke the utility.
Then use the command:

copy/image/variable <filename> <destination (including node name)>
EXAMPLE:
NFT> COPY/IMAGE/VARIABLE *.P BLD3::*.P <RETURN>

to transfer the encrypted source code files (wildcards are allowed).

The IMAGE option requests that NFT copy the file to the remote system
with no data conversion of any kind. It remains binary data.
However, the default record format is FIXED; to change that default,
you also need to add the VARIABLE switch. This resets the record
format (RFM) to variable-length records.

DEPLOYING ENCRYPTED FILES WITHOUT USING DIGITAL'S NFT
-----------------------------------------------------

Due to the way VMS files are created, encrypted files may become
"corrupted" if you use anything other than Pathworks to transfer the
files. In order to get ALL encrypted files to compile on the
destination VMS machine, you will need to employ a bundle and
unbundle mechanism. Unbundle is on the PROGRESS Bulletin Board.

Select "DOWNLOAD" area. Select "VMS" area. Download unbundle.exe.
You will use this on the VMS side of the deployment.

Depending on your source machine, you may need to have Technical
Support create a bundle executable for you. The following outlines
the process you need to take with these executables:

1. On the original development operating system side, use Toolkit's
xcode to encrypt the application procedures and include files.

2. Get bundle executable (call Technical Support; in future
releases this will be in the product).

3. Execute bundle. There are many ways to use this.
a) You can use wildcards to get all your excrypted files at once:
on unix: ls *.x | bundle xcode.bun -select
b) to put a list of files in: bundle xcode.bun -select
a.x
b.x
c.x
^D
c) or put the files you want to bundle in a file and do:
bundle xcode.bun -select xcode.sel where xcode.sel might look like:
a.x
b.x
c.x

2) Then use KERMIT or FTP to transfer the files as BINARY. You may
also transfer them via Tape *.

3) On the VMS side, run unbundle to get your xcoded modules.

4) These files should compile cleanly using the /xcompile option.


* If using tape, use dd on the unix side and on VMS copy the
files from the tape and then convert then to fixed-length 512-byte
record format. You can use the following command procedure to get
your files off tape on VMS:

$ say = "write sys$output"
$
$ if "" .eqs. p1 .or. "" .eqs. p2
$ then
$ say "Usage: @from_tape <tape-device> <file-spec>"
$ say "Example: @from_tape mka500: results_xcode.bun"
$ exit
$ endif
$
$ say "Mounting ''p1'"
$ mount /foreign /block=512
oassist 'p1'
$
$ say "Copying ''p1' to ''p2'"
$ copy 'p1' 'p2'
$
$ say "Converting ''p2'"
$ convert 'p2' 'p2' /fdl=sys$input /pad
$ deck
FILE
ORGANIZATION sequential

RECORD
BLOCK_SPAN yes
CARRIAGE_CONTROL none
FORMAT fixed
SIZE 512
$ eod
$
$ say "Dismounting ''p1'"
$ dismount 'p1'
$
$ say "All done."

Progress Software Technical Support Note # 11224