161 lines
4.8 KiB
Groff
161 lines
4.8 KiB
Groff
.Dd January 27, 2018
|
|
.Dt SB 1
|
|
.Os
|
|
.
|
|
.Sh NAME
|
|
.Nm sb
|
|
.Nd generate serial numbers, activation keys and registration keys
|
|
.
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Ar product_id
|
|
.Ar major_ver
|
|
.Ar minor_ver
|
|
.Op Ar license_data
|
|
.Nm
|
|
.Fl r
|
|
.Ar serial_number
|
|
.Ar host_id
|
|
.Nm
|
|
.Fl r
|
|
.Ar registration_lock
|
|
.
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
generates serial numbers, activation keys and registration keys for SCO
|
|
products.
|
|
SCO products from 1992 and earlier may not be compatible with the licensing
|
|
information generated by
|
|
.Nm .
|
|
.Pp
|
|
During installation of an SCO product, you will be prompted for at least a
|
|
serial number and an activation key.
|
|
This information can be generated by calling
|
|
.Nm
|
|
.Em without
|
|
.Fl r .
|
|
In order to generate a serial number and activation key
|
|
.Dq ( SNAK ) ,
|
|
you need the correct
|
|
product ID, major version and minor version.
|
|
The product ID is an SCO-internal integer that denotes the licensed product.
|
|
The major and minor versions denote the version of the licensed product.
|
|
.Sy This may not be the same as the version the product is marketed as .
|
|
For example, UnixWare 7.1.4 has major version 71 and minor version 4.
|
|
The distinction between 7.1.4, 7.1.4+ and 7.1.4 Definitive is made through the
|
|
product ID, rather than the version fields.
|
|
.Pp
|
|
On an SCO UNIX installation, you can use
|
|
.Cm /etc/brand -d
|
|
to list all known product IDs for that installation.
|
|
Usually, there is also a pre-installation and post-installation script bundled
|
|
with the SCO product that shows the specific expectations for product ID and
|
|
version values;
|
|
search those scripts for
|
|
.Dq Cm brand -Q .
|
|
.Pp
|
|
Optionally, you can supply
|
|
.Em license data .
|
|
License data is a semicolon-delimited list of fields that specify various
|
|
aspects about the license in question.
|
|
Each field consists of a character and then a value, e.g.
|
|
.Dq c4;u100
|
|
denotes a license for four CPUs and 100 users.
|
|
License data may also only consist of a single field.
|
|
The following characters are known:
|
|
.Bl -tag -width Ds
|
|
.It Cm c
|
|
Number of CPUs.
|
|
.It Cm d
|
|
Expiry time of the license in days.
|
|
This is used for evaluation licenses.
|
|
.It Cm k
|
|
If no argument or a non-zero argument is given, registration is required, but
|
|
more than one user can access the system.
|
|
If the argument is zero, no registration is required, but only one user can
|
|
access the system and possibly the network stack is gimped.
|
|
.It Cm u
|
|
Number of users.
|
|
.It Cm m
|
|
Checksum over the other fields.
|
|
.Sy You must not supply this value .
|
|
.El
|
|
.Pp
|
|
The characters g, q and x have also been observed, but their effect is
|
|
unknown.
|
|
.Sy This program does not check license data is not checked for validity .
|
|
.Sy You must order the license data alphabetically .
|
|
.Pp
|
|
After installation, you may also be asked for a
|
|
.Em registration key
|
|
for continued operation.
|
|
.Nm
|
|
will generate a registration key if the
|
|
.Fl r
|
|
flag is passed.
|
|
You need to supply either the serial number of the product and the host ID, or
|
|
a valid registration lock.
|
|
The host ID differs for every installation, even for the same product and
|
|
serial number.
|
|
If you have forgotten the serial number of the product, it can be found with
|
|
.Cm /etc/brand -L .
|
|
The host ID can be found with
|
|
.Pa /etc/brand Fl I .
|
|
If you supply a registration lock, please be aware that it contains semicolons
|
|
(;).
|
|
You will have to quote it to prevent the shell from parsing the semicolons as
|
|
command delimiters.
|
|
.
|
|
.Sh EXIT STATUS
|
|
.Ex -std
|
|
.
|
|
.Sh EXAMPLES
|
|
Generate a new serial number and activation key for UnixWare 7.1.4 Definitive
|
|
2018 (product ID 203, version major 71, version minor 4) with no license data:
|
|
.Bd -literal -offset indent
|
|
$ sb 203 71 4
|
|
.Ed
|
|
.Pp
|
|
Register a product for your host:
|
|
.Bd -literal -offset indent
|
|
$ /etc/brand -I
|
|
orxrrwjwxz
|
|
$ sb -r SCO539702 orxrrwjwxz
|
|
.Ed
|
|
.
|
|
.Sh DIAGNOSTICS
|
|
.Bl -diag
|
|
.It "%s not a number"
|
|
The supplied product ID, major version or minor version is not actually a
|
|
number.
|
|
.It "%s out of range (max %u)"
|
|
The supplied product ID, major version or minor version is out of range.
|
|
If you are
|
|
.Em absolutely certain
|
|
that you have the correct parameters, please contact the author to fix the
|
|
limit.
|
|
The limits are theoretical maximum limits, not ones observed in use by SCO.
|
|
.It "malloc"
|
|
Memory allocation has failed.
|
|
If you had enough memory to display this manual page, you can probably just
|
|
try again.
|
|
You may need to check
|
|
.Pa /etc/malloc.conf
|
|
if the issue persists.
|
|
.It "internal: limit > UINT16_MAX"
|
|
You should never see this.
|
|
If you do, your platform is almost certainly clinically insane.
|
|
Please stop trying to run
|
|
.Nm
|
|
on a literal Game Boy.
|
|
.El
|
|
.
|
|
.Sh CAVEATS
|
|
While this code appears to work, it may be possible that the product
|
|
nonetheless phones home over IP.
|
|
No efforts have been made to try and observe such activity.
|
|
It may prove advantageous to first strictly firewall an SCO UNIX installation.
|
|
If the outgoing connections look okay for approximately 24 hours, it may be
|
|
safe to let loose on the Internet.
|
|
More cautious users may wish to wait up to 31 days.
|