The Options File
Chapter 5
The options file allows the license administrator to control various operating parameters of FLEXnet Licensing. Users are identified by their user name, host name, display, IP address, or PROJECT (which is set with the
LM_PROJECT
environment variable).Specifically, the license administrator can:
Options files allow you, as the license administrator, to be as secure or open with licenses as you like.
Lines in the options file are limited to 2048 characters. The "\" character is a continuation character in options file lines.
FLEXnet Licensing Version Notes
Creating an Options File
To create an options file:
- Use the appropriate options listed in "Options File Syntax" to create the options file using any text editor.
- Locate the options file anywhere; however, it is recommended that the options file be placed in the same directory as the license file.
- Add the path to the options file in the license file as the fourth field on the VENDOR line for the application's vendor daemon. For example:
VENDOR sampled /etc/sampled \
[options=]/sample_app
/sampled/licenses/sampled.optenables the
sampled
vendor daemon to look at the specified options file.If the path is omitted, the vendor daemon automatically looks for a file according to the following criteria:
FLEXnet Licensing Version Notes
Options File Syntax
Below is an overview of the options file syntax. See "Options File Examples" for examples and additional information.
Each line of the file controls one option. Table 5-1 lists the option keywords.
FLEXnet Licensing Version Notes
Comments
Include comments in your options file by starting each comment line with a pound sign "#."
Feature Specification
The feature name can be modified with an optional keyword-value pair to fully qualify it. This notation is used for distinguishing a particular group of licenses when there are multiple FEATURE lines for a single feature. The following syntax is used:
feature
:keyword
=value
For example:
f1:VERSION=2.0
specifies the version 2.0 pool of licenses for feature "f1".
Note A colon (:) is a valid feature name character. If colons are in your feature names, specify a group of licenses with the following alternative syntax using quotation marks and spaces:
"feature
keyword
=value
" A colon (:) is a valid feature name character. If colons are in your feature names, specify a group of licenses with the following alternative syntax using quotation marks and spaces:
"feature
keyword
=value
"
The following option keywords are used as feature name modifiers to denote a specific group of licenses:
If the USER_BASED or HOST_BASED keywords appear in a feature line, this feature specification syntax must be used to qualify the feature.
Using a package name in place of a feature name applies the option to all of the components in the package.
Type Specification
The following option keywords restrict who may use licenses or where licenses may be used: EXCLUDE, EXCLUDEALL, EXCLUDE_BORROW, INCLUDE, INCLUDEALL, INCLUDE_BORROW, MAX, and RESERVE. These options take a
type
argument, which specifies whether the restriction is based on USER, HOST, DISPLAY, INTERNET, or PROJECT:
- USER- user name of the user executing the FLEXenabled application. User names are case sensitive.
- HOST-machine host name or IP address where the application is executing. Host names are case sensitive.
The IP-address can contain wildcard characters.
- DISPLAY-display where the application is displayed
On UNIX, DISPLAY is
/dev/tty
xx
(which is always/dev/tty
when an application is run in the background) or the X-Display name. On Windows, it is the system name or, in the case of a terminal server environment, the terminal server client name. Display names are case sensitive.- INTERNET-IP address of the machine where the application is executing (wildcard characters can be used in the IP address)
- PROJECT-
LM_PROJECT
environment variable set by the user who is executing the FLEXenabled application. Project names are case sensitive.On Windows (without terminal server), the HOST and DISPLAY names are both set to the Window's system name. For licenses that allow checkouts from a terminal server (TS_OK keyword in the feature line), the USER, HOST, and DISPLAY names can be different from one another.
The types listed above take a single member. For example:
EXCLUDE coolsoft USER joe
To specify a list of users or hosts, first define the list using the GROUP or HOST_GROUP option lines, then use the GROUP or HOST_GROUP type to specify the group name. For example:
GROUP stars joe barbara susan
EXCLUDE coolsoft GROUP stars
FLEXnet Licensing Version Notes
BORROW_LOWWATER
BORROW_LOWWATER
feature
[:keyword
=value
]n
Sets the number of licenses for a BORROW feature that cannot be borrowed.
feature
Name of feature being affected.keyword=value
Feature name modifier to denote a group of licenses. See "Feature Specification" for details.n
Number of licenses that cannot be borrowed via license borrowing.
For example, if a feature "f1" has a count of 10 and borrowing is enabled in the application and on the FEATURE line:
FEATURE f1 ... 10 ... BORROW SIGN=...
the following line in the options file allows only 7 licenses to be borrowed.
BORROW_LOWWATER f1 3
DEBUGLOG
DEBUGLOG [+]
debug_log_path
Specifies a location for the debug log output from the vendor daemon associated with this options file. Preceding the
debug_log_path
with a+
character appends logging entries, otherwise the file is overwritten each time the daemon is started. Note that this affects output from only the vendor daemon associated with this options file. The debug log output oflmgrd
and any other vendor daemons in the same license file is not captured in this file.On Windows, pathnames which include spaces have to be enclosed in double quotes. If
lmgrd
is started as a service, the default location for the report log file is thec:\winnt\System32
folder unless a fully qualified path is specified.See Also:
FLEXnet Licensing Version Notes
EXCLUDE
EXCLUDE
feature
[:keyword
=value
]type
{name | group_name
}Excludes a user or pre-defined group of users, etc., from the list of who is allowed to use the feature. EXCLUDE supersedes INCLUDE; conflicts between the EXCLUDE list and the INCLUDE list are resolved by the EXCLUDE taking precedence.
feature
Name of the feature being affected.keyword=value
Feature name modifier to denote a group of licenses. See "Feature Specification" for details.type
One of USER, HOST, DISPLAY, INTERNET, PROJECT, GROUP, or HOST_GROUP. See "Type Specification" for details.name
Name of an item of typetype
for which license usage is excluded.group_name
Name of the group to exclude.
To exclude the user "hank" from the list of users able to use feature "f1":
EXCLUDE f1 USER hank
EXCLUDE_BORROW
EXCLUDE_BORROW
feature
[:keyword
=value
]type
\
{name | group_name
}Excludes a user or pre-defined group of users, etc., from the list of who is allowed to borrow licenses for this BORROW feature. EXCLUDE_BORROW supersedes INCLUDE_BORROW; conflicts between the EXCLUDE_BORROW list and the INCLUDE_BORROW list are resolved by the EXCLUDE_BORROW taking precedence.
feature
Name of the feature being affected.keyword=value
Feature name modifier to denote a group of licenses. See "Feature Specification" for details.type
One of USER, HOST, DISPLAY, INTERNET, PROJECT, GROUP, or HOST_GROUP. See "Type Specification" for details.name
Name of an item of typetype
for which license borrowing is excluded.group_name
Name of the group to exclude from borrowing.
To exclude the user "fred" from the list of users able to borrow feature "f1" assuming the feature has the BORROW attribute:
EXCLUDE_BORROW f1 USER fred
EXCLUDEALL
EXCLUDEALL
type
{name
|group_name
}Excludes a user or pre-defined group of users, etc., from the list of who is allowed to use all features served by this vendor daemon.
type
One of USER, HOST, DISPLAY, INTERNET, PROJECT, GROUP, or HOST_GROUP. See "Type Specification" for details.name
Name of an item of typetype
for which license usage is excluded.group_name
Name of the group to exclude.
To exclude any user on the machine "chaos" from using all features served by this vendor daemon:
EXCLUDEALL HOST chaos
FQDN_MATCHING
FQDN_MATCHING exact | lenient
Sets the level to which host names used in HOST type-specifiers must match the host name sent by the FLEXenabled application. The application is configured to send either its host name or its fully qualified domain name (FQDN) to the vendor daemon for validation with HOST type-specifiers. Check with your vendor to determine fully qualified domain name support.
Only the last FQDN_MATCHING keyword in the options file has effect; all others are ignored.
Table 5-2 shows the outcome of matching attempts between HOST type-specifiers in the options file and host names sent by the application.
Examples
Consider the following example that demonstrates restrictive host name matching:
INCLUDE f1 HOST myhost.abc.com
FQDN_MATCHING exact
This includes
myhost.abc.com
on the list of hosts able to use feature "f1." Furthermore, the host name sent by the application must be a fully qualified domain name that matchesmyhost.abc.com
exactly.In contrast, consider this example, which is less restrictive:
INCLUDE f2 HOST myhost.abc.com
FQDN_MATCHING lenient
This includes
myhost.abc.com
on the list of hosts able to use feature "f2." Host names sent such as:myhost.abc.com
or simply,myhost
match; butmyhost.xyz.com
,yourhost,
oryourhost.abc.com
do not match.The example below is even more lenient:
INCLUDE f2 HOST myhost
FQDN_MATCHING lenient
This includes the host name,
myhost,
on the list of hosts for feature "f3." Since lenient matching is specified, host names such asmyhost
,myhost.abc.com
, andmyhost.xyz.com
match. Whereas,yourhost
oryourhost.abc.com
do not match.See Also
FLEXnet Licensing Version Notes
GROUP
GROUP
group_name
user_list
Defines a group of users for use in INCLUDE, INCLUDEALL, EXCLUDE, EXCLUDEALL, and RESERVE option lines.
group_name
Name of the group being defined. Group names are case sensitive.user_list
List of user names in that group. Names are case sensitive. Set theGROUPCASEINSENSITIVE
options file keyword to turn on case insensitivity. See "GROUPCASEINSENSITIVE."
To define the group "Hackers" consisting of "bob," "howard," and "james":
GROUP Hackers bob howard james
Multiple GROUP lines for the same group name add all the specified users into the group.
Note USER_GROUP is an alias for GROUP. USER_GROUP is an alias for GROUP.
GROUPCASEINSENSITIVE
GROUPCASEINSENSITIVE OFF|ON
If set to
ON
, user names and host names specified with the options file GROUP and HOST_GROUP keywords, respectively, are treated as case insensitive.By default
GROUPCASEINSENSITIVE
isOFF
; user names and host names are treated as case sensitive.HOST_GROUP
HOST_GROUP
group_name
host_list
Defines a group of hosts for use in INCLUDE, INCLUDEALL, EXCLUDE, EXCLUDEALL, and RESERVE option lines. Multiple HOST_GROUP lines add all the specified hosts into the group.
group_name
Name of the group being defined. Host group names are case sensitive.host_list
List of host names in that group. Names are case sensitive. Set theGROUPCASEINSENSITIVE
options file keyword to turn on case insensitivity. See "GROUPCASEINSENSITIVE."
To define the host group "Pacific" consisting of "tokyo," "seattle," and "auckland":
HOST_GROUP Pacific tokyo seattle auckland
Anywhere a host name can be used in an options file, an IP-address can be used instead.
INCLUDE
INCLUDE
feature
[:keyword
=value
]type
{name | group_name
}Includes a user or pre-defined group of users, etc., in the list of who is allowed to use licenses for this feature. Anyone not in an INCLUDE statement is not allowed to use that feature. EXCLUDE supersedes INCLUDE; conflicts between the EXCLUDE list and the INCLUDE list are resolved by the EXCLUDE taking precedence.
feature
Name of the feature being affected.keyword=value
Feature name modifier to denote a group of licenses. See "Feature Specification" for details.type
One of USER, HOST, DISPLAY, INTERNET, PROJECT, GROUP, or HOST_GROUP. See "Type Specification" for details.name
Name of an item of typetype
for which license usage is included.group_name
Name of the group for which license usage is included.
To include user "bob" in the list of users able to use feature "f1":
INCLUDE f1 USER bob
Note INCLUDE is required for USER_BASED or HOST_BASED features. The system administrator specifies which users are allowed to use the product, via INCLUDE, and the license limits the number of users that are INCLUDEd. INCLUDE is required for USER_BASED or HOST_BASED features. The system administrator specifies which users are allowed to use the product, via INCLUDE, and the license limits the number of users that are INCLUDEd.
INCLUDE_BORROW
INCLUDE_BORROW
feature
[:keyword
=value
]type
{name | group_name
}Includes a user or pre-defined group of users, etc., in the list of who is allowed to borrow the BORROW feature. Anyone not in an INCLUDE_BORROW statement is not allowed to borrow licenses. EXCLUDE_BORROW supersedes INCLUDE_BORROW; conflicts between the EXCLUDE_BORROW list and the INCLUDE_BORROW list are resolved by the EXCLUDE_BORROW taking precedence.
feature
Name of the feature being affected.keyword=value
Feature name modifier to denote a group of licenses. See "Feature Specification" for details.type
One of USER, HOST, DISPLAY, INTERNET, PROJECT, GROUP, or HOST_GROUP. See "Type Specification" for details.name
Name of an item of typetype
for which license borrowing is included.group_name
Name of the group for which license borrowing is included.
To include user "tom" in the list of users able to borrow feature "f1":
INCLUDE_BORROW f1 USER tom
INCLUDEALL
INCLUDEALL
type
{name
| group_name
}Includes a user or pre-defined group of users, etc. in the list of who is allowed to use all features served by this vendor daemon. Anyone not in an INCLUDEALL statement is not allowed to use these features.
type
One of USER, HOST, DISPLAY, INTERNET, PROJECT, GROUP, or HOST_GROUP. See "Type Specification" for details.name
Name of an item of typetype
for which license usage is included.group_name
Name of the group to include.
To allow the user "jane" to use all features served by this vendor daemon:
INCLUDEALL USER jane
LINGER
LINGER
feature
[:keyword
=value
]seconds
A lingering license stays checked out for a specified period of time beyond its checkin or FLEXenabled application exit, whichever comes first. This option extends the default linger time configured by the vendor in the FLEXenabled application.
Note The vendor must have enabled this feature in the FLEXenabled application for it to work. Contact your software vendor to find out if this feature is implemented. The vendor must have enabled this feature in the FLEXenabled application for it to work. Contact your software vendor to find out if this feature is implemented.
feature
Name of the feature.keyword=value
Feature name modifier to denote a group of licenses. See "Feature Specification" for details.seconds
Number of seconds the license lingers. The vendor sets a minimum value. If you specify a value forseconds
that is smaller than the vendor's minimum, the minimum is used.
To set the linger value for feature "
f1
" to one hour (3600 seconds):LINGER f1 3600
The actual linger time varies somewhat since the vendor daemon checks all lingering licenses just once per minute. If, however, a new license request is made that would otherwise be denied, a check of the lingering licenses is made immediately to attempt to satisfy the new request.
MAX
MAX
num_lic feature
[:keyword
=value
]type
{name
|group_name
}Limits usage for a group or user.
num_lic
Usage limit for this user or group.feature
Feature this limit applies to.keyword=value
Feature name modifier to denote a group of licenses. See "Feature Specification" for details.type
One of USER, HOST, DISPLAY, INTERNET, PROJECT, GROUP, or HOST_GROUP. See "Type Specification" for details.name
Name of an item of typetype
for which usage is limited.group_name
Name of the group to limit.
For example, to limit the user
jan
to 5 licenses for feature "f1
," include the following line in the option file:MAX 5 f1 USER jan
MAX_BORROW_HOURS
MAX_BORROW_HOURS
feature
[:keyword
=value
]num_hours
Changes the maximum period a license can be borrowed from that specified in the license certificate for
feature
. The new period must be less than that in the license certificate. If multiple MAX_BORROW_HOURS keywords appear in the options file, only the last one is applied tofeature
.
feature
Feature this borrow period applies to. The license certificate forfeature
must have BORROW enabled.keyword=value
Feature name modifier to denote a group of licenses. See "Feature Specification" for details.num_hours
Number of hours in the new borrow period. This value must be less than that specified in the license certificate for feature (the default, if not specified, is 168 hours).
MAX_OVERDRAFT
MAX_OVERDRAFT
feature
[:keyword
=value
]num_lic
Limits OVERDRAFT license usage below the OVERDRAFT allowed by the license file.
feature
Feature this limit applies to.keyword=value
Feature name modifier to denote a group of licenses. See "Feature Specification" for details.num_lic
Usage limit for this user or group.
NOLOG
NOLOG { IN | OUT | DENIED | QUEUED }
Suppresses logging the selected type of event in the debug log file.
To turn off logging of checkins:
NOLOG IN
To turn off logging of checkouts and queued requests two separate NOLOG lines are required:
NOLOG DENIED
NOLOG QUEUED
Note License administrators use this option to reduce the size of the debug log file. However, it can reduce the usefulness of the debug log in debugging license server system problems. License administrators use this option to reduce the size of the debug log file. However, it can reduce the usefulness of the debug log in debugging license server system problems.
See also "lmswitch."
REPORTLOG
REPORTLOG [+]
report_log_path
REPORTLOG specifies the report log file for this vendor daemon. It is recommended preceding the
report_log_path
with a+
character to append logging entries, otherwise the file is overwritten each time the daemon is started.On Windows, pathnames which include spaces have to be enclosed in double quotes. If
lmgrd
is started as a service, the default location for the report log file is thec:\winnt\System32
folder unless a fully qualified path is specified.
Note FLEXnet Manager, a separate product available from Macrovision, is used to process FLEXnet Licensing report log files. FLEXnet Manager processes only report log files, not debug log files. FLEXnet Manager, a separate product available from Macrovision, is used to process FLEXnet Licensing report log files. FLEXnet Manager processes only report log files, not debug log files.
Reporting on Projects with LM_PROJECT
The FLEXnet Manager report writer reports on "projects." A project is set up by having all users working on the same project set their
LM_PROJECT
environment variable (or registry on Windows) to a string that describes the project. FLEXnet Manager groups usage by project, as defined by whatLM_PROJECT
was set to when the application was run.See Also
RESERVE
RESERVE
num_lic feature
[:keyword
=value
]type
{name
|group_name
}Reserves licenses for a specific user.
num_lic
Number of license to reserve for this user or group.feature
Feature or package this reservation applies to.keyword=value
Feature name modifier to denote a group of licenses. See "Feature Specification" for details.type
One of USER, HOST, DISPLAY, INTERNET, PROJECT, GROUP, or HOST_GROUP. See "Type Specification" for details.name
Name of an item of typetype
for which license usage is reserved.group_name
Name of group for which license usage is reserved.
To reserve one license of feature "f1" for user "mel":
RESERVE 1 f1 USER mel
If you want to reserve a license for each of several users or groups, you must use a separate RESERVE line for each user or group. If a package name is specified, all components that comprise the package are reserved.
Note Any licenses reserved for a user are dedicated to that user. Even when that user is not actively using the license it is unavailable to other users. However, a RESERVEd license does not cause usage to be reported by FLEXnet Manager if the license is not actually in use. Any licenses reserved for a user are dedicated to that user. Even when that user is not actively using the license it is unavailable to other users. However, a RESERVEd license does not cause usage to be reported by FLEXnet Manager if the license is not actually in use.
TIMEOUT
TIMEOUT
feature
[:keyword
=value
]seconds
Sets the time after which an inactive license is freed and reclaimed by the vendor daemon.
Note The vendor must have enabled this feature in the FLEXenabled application for it to work. Contact your software vendor to find out if this feature is implemented. The vendor must have enabled this feature in the FLEXenabled application for it to work. Contact your software vendor to find out if this feature is implemented.
feature
Name of the feature.keyword=value
Feature name modifier to denote a group of licenses. See "Feature Specification" for details.seconds
Number of seconds after which inactive license is reclaimed. The vendor sets a minimum value.If you specify a value forseconds
that is smaller than the vendor's minimum, the minimum is used.
To set the timeout for feature "f1" to one hour (3600 seconds):
TIMEOUT f1 3600
TIMEOUT checks in the licenses if the FLEXenabled application has been inactive for a period longer than the specified time period. The daemon declares a process inactive when it has not received heartbeats from it; whereas, an active FLEXenabled application sends heartbeats.
A TIMEOUT line must be present in the options file in order to take advantage of the vendor-enabled timeout feature.
TIMEOUTALL
TIMEOUTALL
seconds
Same as TIMEOUT, but applies to all features.
How the Vendor Daemon Uses the Options File
When the vendor daemon is started by
lmgrd
, the vendor daemon reads its options file. There is only one options file per vendor daemon and each vendor daemon needs its own options file. For any changes in an options file to take effect, the vendor daemon must read its options file. Thelmreread
utility causes the vendor daemon to reread its options file.
FLEXnet Licensing Version Notes
Rules of Precedence in Options Files
Rules of precedence take effect when INCLUDE and EXCLUDE statements are combined in the same options file and control access to the same features. The following define the precedence when both types of statements appear together:
- If there is only an EXCLUDE list, everyone who is not on the list is allowed to use the feature.
- If there is only an INCLUDE list, only those users on the list is allowed to use the feature.
- If neither list exists, everyone is allowed to use the feature.
- The EXCLUDE list is checked before the INCLUDE list; someone who is on both lists is not allowed to use the feature.
Once you create an INCLUDE or EXCLUDE list, everyone else is implicitly outside the group. This feature allows you, as an administrator, the ability to control licenses without having to explicitly list each user that you wish to allow or deny access to. In other words, there are two approaches; you either:
Options File Examples
The following information gives some examples of options files intended to illustrate ways to effectively control access to your licenses.
Simple Options File Example
RESERVE 1 compile USER robert
RESERVE 3 compile HOST mainline
EXCLUDE compile USER lori
NOLOG QUEUEDThis options file:
- Reserves one license for the feature "compile" for the user "robert."
- Reserves three licenses for the feature "compile" for anyone on the system with the host name "mainline."
- Prevents the user "lori" from using the "compile" feature on any machine on the network.
- Causes QUEUED messages to be omitted from the debug log file.
The sum total of the licenses reserved must be less than or equal to the number of licenses specified in the FEATURE line. In the example above, there must be a minimum of four licenses on the "compile" FEATURE line. If fewer licenses are available, only the first set of reservations (up to the license limit) is used.
If this data were in file
/
a
/
b
/sampled/licenses/sampled.opt
, then modify the license file VENDOR line as follows:VENDOR sampled /etc/sampled /
sample_app
/sampled/licenses/sampled.optLimiting Access for Multiple Users
Each INCLUDE, INCLUDEALL, INCLUDE_BORROW, EXCLUDE, EXCLUDEALL, EXCLUDE_BORROW, MAX, and RESERVE line must have a single user name (or group) listed. To affect more than one user name create a GROUP. For example to exclude "bob," "howard," and "james" from using the feature called "toothbrush," create the following options file:
EXCLUDE toothbrush USER bob
EXCLUDE toothbrush USER howard
EXCLUDE toothbrush USER jamesHowever, there is an easier way. Create a GROUP and exclude the list of users from using the feature. Like the previous example, the following options file excludes "bob," "howard," and "james" from using the feature called "toothbrush":
# First define the group "Hackers"
GROUP Hackers bob howard james
# Then exclude the group
EXCLUDE toothbrush GROUP HackersNow when you want to allow or deny access to any feature to that group, you have an alias list to make it simple.
Use HOST_GROUP to allow, deny, or reserve licenses for multiple hosts. For example, to exclude all users logged in on the hosts "fred" and "barney" from using a feature called "f1," add these lines to your options file:
HOST_GROUP writers fred barney
EXCLUDE f1 HOST_GROUP writersSee Also
- "HOST_GROUP" for more information about defining groups
EXCLUDE Example
#First Define the group "painters"
GROUP painters picasso mondrian klee
EXCLUDE spell GROUP painters
EXCLUDE spell USER bob
EXCLUDE spell INTERNET 123.123.123.*This options file:
- Prevents the users "picasso," "mondrian," and "klee" from using the feature "spell" on any machine on the network.
- Prevents the user "bob" from using the feature "spell" on any machine on the network.
- Prevents any user logged into a host with an IP address in the range 123.123.123.0 through 123.123.123.255 from using the feature "spell."
- Allows any other user, as long as they are not on the excluded IP addresses, and they are not a member of the "painters" GROUP, and they are not "bob," to use feature "spell" (by implication).
Note that "bob" could have been added to the group "painters." However, "painters" might be used for some other purpose in the future so the license administrator chose to handle "bob" as a special case here. In this case, the two EXCLUDE statements concatenate to create a list of four users.
INCLUDE Example
INCLUDE paint USER picasso
INCLUDE paint USER mondrian
INCLUDE paint HOST bigbrushThis options file:
- Allows the user "picasso" to use the feature "paint" on any machine on the network.
- Allows the user "mondrian" to use the feature "paint" on any machine on the network.
- Allows any user, as long as they are on the host "bigbrush," to use feature "paint."
- Denies access to the feature "paint" to anyone except "picasso," "mondrian," or anyone from the host "bigbrush" (by implication).
FLEXnet Licensing End User Guide |
Version 10.8 |
July 2005 |
copyright |