# BRL-CAD period binaries

Recovered from ARL's `crypt(1)`-encrypted FTP archive (see ../crypto/KEYS.md).
Every archive here passes a CRC/format check. 32 files, five platforms.

## IRIX — SGI `inst` tardists

    brlcad50.tardist.gz   brlcad51.tardist   brlcad52.tardist
    brlcad53.tardist      brlcad53_Irix65.tardist
    brlcad60.tardist      brlcad601.tardist.gz   brlcad602.tardist.gz

Each is a 4-member tar: `brlcad` (spec), `brlcad.idb`, `brlcad.man`,
`brlcad.sw`. Installs to `/usr/brlcad` — mged, librt.so, Tcl/Tk 8.3,
iwidgets, ~10 MB of man pages.

    gunzip brlcad602.tardist.gz          # if gzipped
    tar xvf brlcad60.tardist
    inst -f .                            # or: swmgr

`brlcad.sw` is SGI `inst` format (`im001V630P00`), not tar — it only unpacks
on IRIX via inst/swpkg.

## IRIX 7.0 — plain tarballs, no inst needed

    brlcad-7.0_mips32.tgz     ELF 32-bit MSB MIPS N32 MIPS-IV
    brlcad-7.0_mips64.tgz     ELF MIPS 64-bit

    gzip -dc brlcad-7.0_mips32.tgz | tar xf -    # unpacks /usr/brlcad7.0/mips32/

Also present but not IRIX: `brlcad-7.0_ia64.tgz`, `brlcad-7.0_x86_64.tgz`.

## Solaris SPARC — SVR4 packages

    brlcad-5.1-2000.07.13   ARCH=sun4   2094 files
    brlcad-5.2-2000.09.07   ARCH=sun4   2100 files
    brlcad-5.3-2001.03.13   ARCH=sun4   2180 files
    brlcad-6.0-2002.03.22   ARCH=sun4   2198 files
    brlcad-6.01-2002.08.09  ARCH=sun4   2260 files
    brlcad-6.02-2002.09.19  ARCH=sun4   2260 files

    gunzip brlcad-5.3-2001.03.13-solaris.gz
    pkgadd -d ./brlcad-5.3-2001.03.13-solaris

Binaries are `ELF 32-bit MSB SPARC`, BASEDIR `/usr/brlcad`. See also
`../src/brlcad-4.4-solaris-sparc.pkg.gz` — the 4.4 package, which ARL
left unencrypted.

## FreeBSD 4.x i386 — pkg_add packages

    brlcad-5.0.tgz  brlcad-5.1.tgz  brlcad-5.2.tgz  brlcad-5.3.tgz
    brlcad-6.0.tgz  brlcad-6.01.tgz brlcad-6.02.tgz

Despite the plain `.tgz` name these are FreeBSD packages — `+CONTENTS`,
`@name brlcad-5.3`, `@pkgdep png-1.0.9`. Binaries are
`ELF 32-bit LSB i386, for FreeBSD 4.5`.

    pkg_add brlcad-5.3.tgz

## Linux i386 — RPM

    brlcad-5.0-0915  brlcad-5.1-0713  brlcad-5.2-0907  brlcad-5.3-0313
    brlcad-6.0-0321  brlcad-6.01-0809 brlcad-6.02-0919

5.3 is RPM v4.0, the rest v3.0.  `rpm -i <file>`

## Not here

No HP-UX binaries exist anywhere in the ARL archive, encrypted or not — HP-UX
was source-only. For a 9000/700 build `../src/brlcad-4.4` from source; its
`Cakefile.defs` has the HPUX 9.0 block.

---

## Provenance

These binaries were recovered from ARL's `crypt(1)`-encrypted FTP archive
(mirrored from the Wayback Machine, since deleted). Two of the six encryption
keys were broken:

    Key A -- BRL-CAD 5.x  (IRIX 5.0-5.3, Solaris 5.1-5.3, FreeBSD, RPM)
      buf   = "a-SHTmoQhnbfk"      rotor state; regenerates F_0 and R exactly
      hash  = aaSHTmoQhnbfk        passphrase never cracked; starts "a-", and
                                   must contain a byte outside 0x20-0x7e
    Key B -- BRL-CAD 6.x/7.0 binaries (IRIX 6.0-6.02 + 7.0 mips32/mips64,
             Solaris 6.0-6.02, FreeBSD, RPM, 7.0 ia64/x86_64)
      buf   = "tdD6YOAmpJ2zI"
      hash  = tdD6YOAmpJ2zI
      KEY   = "tdkfbp"             cracked, verified 0/256 mismatches

`crypt(1)` is a reciprocal 256-element rotor. At byte position n of block j,
(c+n) = F_j((p+n)) where F_j = R^-j . F_0 . R^j, F_0 is a fixed-point-free
involution (128 pairs) and R is a 256-cycle. The break came from RPM lead
headers as a crib, then all-NUL 256-byte blocks inside the IRIX tardists,
which hand over a complete F_j for free and self-validate (random data will
not yield an involution). Neither key was needed to decrypt.

Four key groups remain encrypted; all are source tarballs, redundant with
../src/ which has the same trees exported from CVS at their release tags.
