v4.81 Licensing Features


With the release of v4.81 Daylight has introduced significant changes to the software license format and has improved license distribution options. With these changes and the anticipated improvements that should come about after the release of the Dali server, it should be easier to manage and update licenses.

% testlicense

Features Licensed
Summarizes license.
Shows modules licensed, including the number of users
Basic License Check.
Returns 0 (Zero) if valid license is found.
Returns 1 (One) if the license is invalid or can't be found.

% testlicense -i

Prints identities of all licensable devices.
Prints hostname for convenience.

% cat dy_license.dat

New software releases won't run without a supported license:
     The support2 date must be after the official release date.
Version 4.81 software requires a support2 date of: 12/20/2002 or later to run.
Pre-4.81 software will run with the new licenses using "cpu type:" and "cpu idno:" fields.
identity: cpu
Multiple identities: One license can enable several cpus to run.
Multiple licenses: One file can contain several licenses (i.e. sections).
Plan to eventually replace "cpu type:" and "cpu idno:" fields.
identity: ether
License by MAC address of ethernet card.
Currently used on LINUX and Macintosh
identity: usbflash
Capability of licensing USB Flash memory devices.
Daylight has no plans yet to distribute any products on these devices.
identity: ipv4
Licensing by IP address should be available after the Dali server is released (perhaps v4.83).

% testlicense -v

Multiple License Distribution Options.
Independently evaluates each Option.
"License file" is effectively the sum of all valid licenses in all Option sections.
Server and database login numbers aren't additive: largest number is used.
Checks local files first.
Checks well known locations, including /usr/local/daylight/dy_license.dat .
Use of a particular Option isn't required: license can come from any distribution Option.
Warnings and Rejections.
Warnings for licenses that expire soon.
Rejects license sections that don't have a support2 date.
Rejects license sections that have support2 date that is before release date.
Rejects expired sections.
Rejects sections that are for the wrong CPU.
Rejects sections that have incorrect keys.
Environment variable points to a license file.
     Example: setenv DY_LICENSEDATA ${DY_ROOT}/../dy_license.dat
One file can have many licenses in it.
The file is parsed and each license is independently evaluated.
Environment variable points to a license directory.
     Example: setenv DY_LICENSEDIR ${DY_ROOT}/../lics
License directory can contain many license files for many machines.
Each license file can contain many licenses.
Directory can be NFS mounted allowing all licenses of a site to be centralized.
     Hostnames not required in license filenames.
Dali is a network license server.
Environment variable points to a host (and, optionally a port).
     Example: setenv DY_DALI_SERVER mug-blade2
     Alternative to NFS mounted license directory.
     Serves pre-generated keys via http and a very basic cgi.
Backup license server.
Environment variable points to a host (and, optionally a port).
Customer licenses may eventually be served from www.daylight.com .
     Example: setenv DY_DALI_AUTHORITY mug-blade1:3254
     Preview of Dali Server capability:
     Serves short term evaluation licenses that will work on the premises.
$DY_DALI_PROXY can point to a HTTP proxy server if installation
is behind a fire wall.

% testlicense -t|p|s   <toolkit | program | service> | "any"

Check for the presence of specific Modules in License.
Stops once the required module is found (except for servers & databases).
Return zero if module is found.
Return non-zero if module isn't found.
Basic License Check.
If "any" is used, testlicense will only check if the license is valid.
Returns 0 (Zero) if valid license is found.
Returns 1 (One) if the license is invalid or can't be found.

% man testlicense

testlicense Options
Includes examples and usage.

% man licensing

Daylight License Processing
Explains licensing environment variables and program options.
Describes the Daylight License Manager.