Pak 1.0 review

Download
by rbytes.net on

Pak transfers multiple, possibly very big, regular files between possibly different hosts you have shell access to. It transmits seg

License: GPL (GNU General Public License)
File size: 0K
Developer: lacos
0 stars award from rbytes.net

Pak transfers multiple, possibly very big, regular files between possibly different hosts you have shell access to.

It transmits segment IDs instead of file names and uses on-the-fly Blowfish-CBC encryption while being absolutely restartable with practically no loss of data already transmitted.

Encrypted pak streams can be stored in intermediary regular files on untrusted hosts. Several stored pak streams, even truncated ones, can be merged for re-piping without decryption. Integrity is never checked.

File offsets of any magnitude are supported via recompilation (the default width is 64 bits). Either UNIX 95 or UNIX 98 conformance is required and sufficient.

The individual binaries are:

pak - create a stream from regular files, based on a portion ("segment") list
upak - completely write out regular file segments from a stream
pakmerge - merge multiple streams in regular files into a single stream
paksplit - split a stream into regular stream files of fixed size
mklist - create a segment list

The name "stream" is somewhat unfortunately chosen. It doesn't have to do anything with STREAMS or with stdio streams. It denotes a very simple file format.

Here are some key features of "Pak":
transfer multiple, possibly very big, regular files
between possibly different hosts you have shell access to
without transmitting any file names
with acceptable on-the-fly encryption/decryption
while being absolutely restartable with minimal loss of data already transmitted.

An additional, "hidden" purpose of this software is to make it easy and portable to handle, transfer and format/scan file offsets of any magnitude (below a limit, but this limit is modifiable via recompilation, see UWD_U32_NUM in uwd.h). This is achieved with a handful of very naive and simple "bignum" functions.

The utility of this software may be marginal, but the need for restartable file transfer with on-the-fly encryption was compelling enough to write it. Portability and fun (as opposed to efficiency) were the primary aspects of development. For example, two's complement representation wasn't made use of, because that representation is not portable.

What's New in This Release:
The version numbering has been sanitized.
The package now compiles on Cygwin (1.5.19-4).
The source has been cleaned up a tiny bit with respect to reserved identifiers.

Pak 1.0 search tags