Q3.1 What are the components of a license file?
The license file keywords are:
SERVER
DAEMON
FEATURE
INCREMENT
UPGRADE
PACKAGE
Any line not beginning with a keyword is a comment.
Following is a summary of these lines and their meaning. For a more complete description,
please refer to the End-Users or Programmers Manual.
- SERVER
- This line is required if any FEATURE lines are `counted' (number
of licenses > 0). This indicates 1) the hostname of the server (so the
client applications will know which host to talk to), 2) the host's
unique hostid, and 3) the `port' number the server is using. This
`port' number is a unique address on that host. The combination of
port number and hostname is a unique address, like a unique
telephone number, so any process on that network can talk to the
lmgrd server.
The hostname and port number can be changed. The hostid
CANNOT be changed, or the license is invalidated. If there are no
`counted' FEATURE lines, this line is not needed, and is ignored if
it's included.
- DAEMON
- This line is also required only if there are `counted' FEATUREs.
This specifies the daemon's unique name, and the path to the vendor
daemon binary. This path can be changed and often needs to be
modified upon installation.
- FEATURE/INCREMENT/UPGRADE
- This is the heart of the license file, and lists what the user is licensed
to use. These three keywords have nearly identical layouts and
similar meaning.
- FEATURE
- There's 2 formats for a FEATURE line, pre-v3.0 and v3.0+. Both
formats have the same first 7 fields. ALL versions of FLEXlm
understand the pre-v3.0 format.
- Here's the first 7 fields:
`FEATURE
name daemon version exp-date #lic key'
- name
- feature name
- daemon
- The vendor's unique daemon name. Ties this feature to the
appropriate DAEMON line.
- version
- Software version licensed. Any version of the software up to this
version number is licensed. Later version numbers will be denied.
Format is floating-point, e.g., nnn.nnn.
- exp-date
- License expires on this date. Format: ddd-mm-yy[yy], `1-mar-2002'. If the year is '0' the software never expires, e.g., 1-jan-0.
- #lic
- Number of licenses. Usually this refers to the number of concurrent
users of the feature.
- key
- A 20-character hex key. Heart of the license file security, it's a
checksum of the FEATURE line, and the hostid, and the vendor's
encryption seeds. Guarantees the user cannot change most of the
license file (hostname, port number, and daemon path can be
changed without changing this key).
In pre-v3.0 format, there's one more required field, and an optional field:
- vendor-defined string
- This is often blank, and is then specified with a blank string: ``. This
field is required in pre-v3.0 format. If non-blank, it's meaning is
determined by the application vendor.
- hostid
- This field is optional in pre-v3.0 format. For node-locked licenses.
This differs from the hostid on the SERVER line: on the SERVER
line, the FLEXlm server must be run on the specified hostid; on the
FEATURE line, the USER must be on the specified hostid to use the
licensed feature.
- v3.0+ format
- After the first 7 fields, the remaining fields are always of the format
`name=value', and are called `name-value pairs,' for example,
`HOSTID=12345678'. Name-value pairs where the name is
uppercase are part of the license key, and cannot be altered. If the
name is lowercase, it's not part of the key, and users are welcome to
change it.
- Here's the v3.0+ name keywords for name-value pairs:
- HOSTID
- See description above.
- ck
- Used in conjunction with lmcksum to determine that the license file
has been typed incorrectly.
- OVERDRAFT
- Allows a number of uses beyond the #lic field, for a more lenient
licensing policy.
- DUP_GROUP
- With this field, the application can allow, for example, a user on the
same node and display to have any number of uses counted as one
use. Please see the manuals for further information on this.
The following FEATURE keywords have no predefined meaning by FLEXlm - their use is
defined by the application vendor.
- VENDOR_STRING
- vendor_info
- dist_info
- user_info
- asset_info
- ISSUER
- NOTICE
- INCREMENT
- The fields are identical to a FEATURE line, but `increments' the
#lic field. This way a distributor can issue an INCREMENT line for
1 use, and then, later, another INCREMENT line for 2 uses, totaling
3 uses.
Note that if the INCREMENT's differ by version, hostid (node-locked), they will `pool'
separately in the server - that is, they'll be counted separately. Also, if vendor-defined strings
are different they may or may not pool separately, depending on the vendor.
- UPGRADE
- Identical format to FEATURE, except there's 2 version numbers, a
`from' version and a `to' version. Useful with INCREMENT lines,
to upgrade a number of the existing licenses from one version to
another.
- PACKAGE
- Package has 2 different purposes:
- to license a product SUITE, or
- to provide a more efficient way of distributing a license file that has a large number of
features.
Since PACKAGE lines contain no customer-specific information, they can be optionally
included with the application software to further ease license distribution.
Format:
PACKAGE
name vendor version key COMPONENTS=list [OPTIONS=SUITE]
- pkg-name
- If a corresponding FEATURE line has the same name, this package
will be `enabled' - each feature name in `list' will become an
independent FEATURE.
- vendor
- Ties in to DAEMON name.
- version
- The corresponding FEATURE line must have the same version.
- key
- 20-character license key - secures the PACKAGE line.
- list
- feature names which will be some features if the packaged is
`enabled'.
- SUITE
- If this is set, the PACKAGE behaves as a suite. The package name
itself becomes a feature, which is checked out in parallel with each
component feature.
Q3.2 What does a demo license look like?
Companies can implement demo licenses in unlimited ways, but there is one most common
method, which will be explained. Example:
FEATURE f1 demo 1.0 1-jan-1996 0 87ced98ce12a12900878 `` DEMO
This is a complete demo license for feature `f1'. The attributes of a standard demo license, like
this one, are:
- It expires relatively soon.
- It's uncounted (Note the `Number of licenses' field is '0') and therefore requires no
server.
- Since it is uncounted, there's no SERVER or DAEMON lines.
- The word `DEMO' at the end is a pseudo-hostid, which indicates it will run on any
system.
Normally, the software vendor will preprint these demo licenses, one set for each time period,
and hand out the licenses based on the appropriate expiration date.
Table of Contents
* Previous Chapter
* Next Chapter