[LISTSERV logo] [Online documentation]

L-Soft international, Inc.

Site Manager's Operations Manual

for

LISTSERV®, version 1.8d

5 May 2000

Revision 2

Appendix C: Site Configuration Keyword Reference

Defining site configuration keyword values

The syntax used to define these values differs from platform to platform. All examples in this reference guide are for VM unless the keyword is specifically not available under VM. A syntax guide follows:

VM

KEYWORD='somevalue'

For substitutions, follow the REXX language syntax. For instance,

MAILER='mailer@'NODE
MYDOMAIN=NODE 'some.host.com'

VMS

VMS users should use the LISTSERV_CONFIGURE.COM application, provided with the software, to modify the site configuration file, rather than editing it by hand.

For reference, however, SITE_CONFIG.DAT entries look like this:

NODE            "LISTSERV.EXAMPLE.COM"
MYDOMAIN        "LISTSERV.EXAMPLE.COM"
LOCAL           "*.EXAMPLE.COM"

Unix (all)

KEYWORD="somevalue"

For substitutions, follow this example:

MYDOMAIN="$NODE some.host.com"

Note that under unix, all site configuration variables must be exported. The commonly-used variables are exported for you in the go script. Anything else must be exported at the end of go.user.

Windows (all)

Windows users should use the SITE.EXE application, provided with the software, to modify the site configuration file, rather than editing it by hand. However, it is possible to edit the file by hand if necessary.

KEYWORD=somevalue

For substitutions, follow this example:

MYDOMAIN=%NODE% some.host.com

Note for all platforms

Whenever you change the contents of the site configuration file, you must stop and restart the LISTSERV server before the changes will take effect. Windows sites using the SMTPL.EXE "listener" should also stop and restart the listener as some changes will affect it as well.

 

BITNET_ROUTE

Platforms


All

Abstract
Defines the Internet hostname of a machine that will be used to route mail to BITNET addresses. If your organization is connected to BITNET, you may want to use the hostname of your main BITNET system for best turnaround time. Otherwise the default value is suitable.

Example
BITNET_ROUTE='BITMAIL.LSOFT.COM'

Default Value
If not explicitly defined, this keyword defaults to BITMAIL.LSOFT.COM.

Wildcards
Not allowed.

 

BOUNCES_TO

Platforms


All

Abstract
Tells LISTSERV where to send bounces that are not related to any specific list (i.e., bounces that should never have been sent to LISTSERV to begin with). This includes almost every situation in which LISTSERV thinks it has detected a bounce and cannot determine which list it is for, along with messages about served-out users. It does not include mail sent to the owner-listserv mailbox, which will still go to the LISTSERV maintainer(s).

Example
BOUNCES_TO='FOO@VM.EXAMPLE.EDU'

Default Value
Defaults to the value of the POSTMASTER= variable.

Wildcards
Not allowed.

 

CHECKMDISK

Platforms


VM

Abstract
Defines the list of library minidisks to be checked at startup.

Example
CHECKMDISK='191 192'

Details
This parameter defines the LISTSERV "library" minidisks, i.e., minidisks on which LISTSERV might have to read or write list archives or library files (as opposed to "system" files like PROFILE EXEC or DATABASE FILE which are manipulated by LISTSERV but are not apparent to the users).

Default Value
None. This parameter must be set explicitly.

Wildcards
Not allowed.

See also
MDISK.cuu

 

CMDPIPE_HOSTNAME

Platforms


Windows NT only

Abstract
Defines the default hostname used by the LCMD interface

Example
CMDPIPE_HOSTNAME=EXAMPLE.COM

Details
This variable allows you to specify the hostname used when you communicate with LISTSERV via the LCMD interface. For instance your LISTSERV host may be named LISTSERV.MYCORP.COM, in which case LCMD will identify you to LISTSERV as userid@LISTSERV.MYCORP.COM. This is fine as long as you have added this address to the POSTMASTER= variable, but privileged commands will probably fail if you haven't (for instance you may be listed as userid@MYCORP.COM instead, which works fine via mail).

In order to simplify the issue and not have to code extra userids into the POSTMASTER= variable just to be able to use LCMD, you can simply set CMDPIPE_HOSTNAME=MYCORP.COM and LCMD will issue commands from userid@MYCORP.COM instead of the default.

This setting is particularly useful for large list providers such as L-Soft itself, where there are many different nodes all operated by the same small group of people, and it would otherwise be difficult to keep track of personnel changes across the "farm" of machines.

Default Value
Defaults to the DNS A name of the LISTSERV host.

Wildcards
Not allowed.

 

CMSNAME

Platforms


VM

Abstract
The name of the CMS system to be used on IPL commands.

Example
CMSNAME='CMS'

Details
This parameter defines the LISTSERV "library" minidisks, i.e., minidisks on which LISTSERV might have to read or write list archives or library files (as opposed to "system" files like PROFILE EXEC or DATABASE FILE which are manipulated by LISTSERV but are not apparent to the users).

Default Value
The standard value for your system.

Wildcards
Not allowed.

 

CRASH_MONITOR

Platforms


VMS, Windows NT

Abstract
Defines the address to which LISTSERV will send crash reports upon restart.

Example
CRASH_MONITOR='CRASHLST@LISTSERV.EXAMPLE.COM'

Default Value
Defaults to all non-quiet POSTMASTERs.

Details
By default, LISTSERV crash reports are mailed to the LISTSERV maintainer(s). You can change the destination of these reports by adding a CRASH_MONITOR variable to your site configuration file (SITE.CFG for NT, SITE_CONFIG.DAT for VMS) with the e-mail addresses to which the report should be mailed. Note that CRASH_MONITOR replaces the entire recipient list, so make sure that all the necessary addresses are listed. This configuration variable follows the same syntax rules as POSTMASTER.

Please do not add L-Soft mailboxes to CRASH_MONITOR without checking with our support group first. While we will be happy to receive these reports, we want to make sure that they are sent to the addresses where we can process them most efficiently. In particular, these reports should never be mailed to a support engineer's personal mailbox. Instead, we use special addresses where these reports are logged for future reference.

Wildcards
Not allowed.

 

CREATEPW

Platforms


All

Abstract
Defines the password used to validate the creation of new lists.

Example
CREATEPW='SECRET'

Default Value
None. This parameter must be set explicitly.

Wildcards
Not allowed.

 

DATABASE

Platforms


VM

Abstract
Boolean value that determines whether or not the database (archive search) functions are enabled. 0= no, 1= yes.

Example
DATABASE=0

Default Value
DATABASE=1

 

DBMS_*

Platforms


VMS, unix (some), Windows NT. LISTSERV Classic only.

Details
Several configuration variables under the DBMS_* rubric are available for use with the DBMS/Mail Merge functionality introduced in LISTSERV 1.8d. Please see the Developer's Guide for LISTSERV (available separately) for documentation.

 

DBRINDEX

Platforms


All

Abstract
Determines whether or not LISTSERV’s database functions use reverse indexing. Please see the 1.8c release notes for a full discussion of whether or not you should use reverse indexing.

Example
DBRINDEX=0

Default Value
For VM and VMS: DBRINDEX=0

For unix and Windows: DBRINDEX=1

 

DEFAULT_LANGUAGE

Platforms


All

Abstract
This variable sets the defaults for the Language= keyword for all lists on the server.

Examples
DEFAULT_LANGUAGE='ESPANOL'
DEFAULT_LANGUAGE='NOHTML'
DEFAULT_LANGUAGE='FRANCAIS EXCHANGE'

Details
As with other site-level configuration variables, this is a space-separated list of parameters. DEFAULT_LANGUAGE is particularly useful for servers running in non-English-speaking countries and/or with few lists in English. In 1.8d and following, this variable allows you to define a default national language mail template file for all lists (thereby eliminating the need to code "Language=" in all lists in order to make them use the national language template). Setting this variable to any value other than "ENGLISH" assumes that you have provided a national language mail template file (see the entry for "Language=" in Appendix B for details). If this variable is left unset or is set to "ENGLISH", LISTSERV uses the DEFAULT MAILTPL file (in other words there is no ENGLISH MAILTPL).

You can also change the list-level defaults for the NOHTML, HTML, and EXCHANGE options if desired.

Default Value

Not set (the default settings for the Language= list header keyword are in force).

 

DEFAULT_PROBE

Platforms


All

Abstract
This variable sets defaults for passive probing.

Examples
DEFAULT_PROBE=10 500

DEFAULT_PROBE=21

Details
In 1.8d and following, a feature called "passive probing" is enabled by default for lists under a certain size. This variable controls two aspects of passive probing. The first parameter to this variable is the length of the default passive probing cycle in days.

Because passive probing is very resource-intensive, above a certain list size it is disabled by default. The second (and optional) parameter to this variable is the list size beyond which passive probing is disabled unless you explicitly enable it in the Auto-Delete= list header keyword.

Since probes do not work with sendmail, the default under unix is to disable passive probing altogether.

Default Value

All platforms except unix: DEFAULT_PROBE=30 1000

Unix only: DEFAULT_PROBE=0

 

DEFAULT_SPLIT

Platforms


All

Abstract
Provides a default value for the "SPLIT=" command line keyword, causing files ordered through the GET command to be automatically split into smaller "chunks". This option can be useful if LISTSERV is behind a firewall or other central mail gateway with an unusually low maximum message size limit. Unit: kilobytes.

Example
DEFAULT_SPLIT=250

Default Value
Not set - messages are not split unless specifically requested by the user.

 

DELAY

Platforms


VM

Abstract
The delay between two reader-scan operations. Increasing it will reduce CPU time consumption but will increase response time.

Example

DELAY=250

Default Value
Standard value.

 

DIAGD4

Platforms


VM

Abstract
Indicates whether LISTSERV should use diagnose X’D4’ to mimic the RSCS origin on files it DISTRIBUTEs. Boolean value. Requires VM/SP release 5 and privilege class B.

Example
DIAGD4=1

Default Value
DIAGD4=0

 

DIST_ALLOWED_USERS

Platforms


All

Abstract
In 1.8d and following, space-separated list of non-POSTMASTER users who are to be allowed to use DISTRIBUTE. SEE DETAILS.

Example
DIST_ALLOWED_USERS='joe@unix.host.com alma@univ.edu'

Details
In 1.8d, to secure the DISTRIBUTE command from use by spammers, a security validation feature was added. Only a user defined in POSTMASTER= or in DIST_ALLOWED_USERS= may issue the DISTRIBUTE command, and the DISTRIBUTE command must be validated with that user's personal LISTSERV password.

Default Value
Not set (null value).

Wildcards
Not allowed.

See also
DIST_SECURITY

 

DIST_SECURITY

Platforms


All

Abstract
In 1.8d and following, Boolean value which turns off new security validation feature for the DISTRIBUTE command. SEE DETAILS.

Example

DIST_SECURITY=0

Details
In 1.8d, to secure the DISTRIBUTE command from use by spammers, a security validation feature was added. Only a user defined in POSTMASTER= or in DIST_ALLOWED_USERS= may issue the DISTRIBUTE command, and the DISTRIBUTE command must be validated with that user's personal LISTSERV password. This feature is turned on by default.

If it is deemed necessary to revert to the pre-1.8d behavior, simply set this variable to zero and restart the server. However this is NOT RECOMMENDED as the original behavior would continue to allow the indiscriminate use of DISTRIBUTE by spammers. L-Soft will not be responsible for any consequences deriving from the disabling of this feature.

Default Value
DIST_SECURITY=1

See also
DIST_ALLOWED_USERS

 

FILEDISK

Platforms


VM

Abstract
The filemode of the DEFAULT disk to be used for storing files with a PUT command.

Example
FILEDISK='L5'

Default Value
FILEDISK='A5'

Wildcards
Not allowed.

 

FILEMAXL

Platforms


All

Abstract
The maximum number of lines for any incoming non-mail file to be accepted.

Example
FILEMAXL=25000

Default Value
FILEMAXL=100000

 

FILTER_ALLOW

Platforms


All

Abstract
Blank-delimited list of addresses or wildcards which will be exempted from LISTSERV's standard loop-detection filter.

Example
FILTER_ALLOW='*@GOODNODE.COM POSTMASTER@SOMEHOST.NET'

Details
This variable determines what, if any, exemptions are made to the standard set of addresses normally bounced by LISTSERV as part of its loop-checking heuristic. For instances, if you want to allow POSTMASTER@SOMEHOST.NET to post to lists like a normal user, you can add that value to this variable. Or if you should decide that any postmaster account anywhere should be allowed to post to lists, you can add the value POSTMASTER@* (but please note that L-Soft does not recommend this). FILTER_ALLOW works in conjunction with enhancements to the Filter= list header keyword; for more information on this interaction please see Appendix B.

Default Value
Not set; adds to LISTSERV's built-in filter.

Wildcards
Allowed.

 

FILTER_ALSO

Platforms


All

Abstract
Blank-delimited list of problem users who should not be allowed to post or subscribe to any list. This is similar to the "Filter=" list header keyword, but applies to all the lists. The FILTER_ALSO option is usually used to filter out problematic mail gateways, anonymous remailers (if anonymous postings are not desired), troublesome users, etc. Please refer to the list owner’s guide for more information.

Example
FILTER_ALSO='*@BADNODE.COM OBNOXUSR@SOMEHOST.NET'

Details
Sometimes it may be necessary to deny a specific user (or a class of users) access to all the lists hosted by your server. This may be due to policies internal to your organization, technical problems, or simply to lock out an obnoxious user. FILTER_ALSO adds to the standard LISTSERV filter and denies access to all lists on the server.

Default Value
Not set; adds to LISTSERV's built-in filter.

Wildcards
Allowed.

 

FIOC_TARGET

Platforms


All

Abstract
Defines the "target size" for LISTSERV's file cache (in kilobytes). (Windows sites can set this option through the various "Optimize for..." buttons in the LISTSERV configuration program.) See the LISTSERV Tuning Guide (available from L-Soft at no extra charge) for more information.

Example

FIOC_TARGET=15000

Details
One of three variables that control how LISTSERV handles its built-in data cache. FIOC_TARGET is the "target size" for the cache. LISTSERV will strive to keep the cache to about that size, but will allow it to grow past this value for short periods of time. LISTSERV expects that it will have fast access (low paging rate) to these FIOC_TARGET kilobytes of cache memory; it does not help to increase this value if your system is memory-constrained.

Default Value
System dependent.

 

FIOC_TRIM

Platforms


All

Abstract
Defines the threshold (in kilobytes) where LISTSERV should start aggressively trimming the cache. (Windows sites can set this option through the various "Optimize for..." buttons in the LISTSERV configuration program.) See the LISTSERV Tuning Guide (available from L-Soft at no extra charge) for more information.

Example
FIOC_TRIM=17000

Details
One of three variables that control how LISTSERV handles its cache. FIOC_TRIM is the point at which LISTSERV should start aggressively trimming the cache in order to free up virtual storage. Typically this value should be set to FIOC_TARGET plus 20% or 512KB (whichever is larger).

Default Value
System dependent.

 

FIOC_WARNING

Platforms


All

Abstract
Defines the cache size (in kilobytes) at which LISTSERV should write a warning to the console log. (Windows sites can set this option through the various "Optimize for..." buttons in the LISTSERV configuration program.) See the LISTSERV Tuning Guide (available from L-Soft at no extra charge) for more information.

Example
FIOC_WARNING=20000

Details
One of three variables that control how LISTSERV handles its cache. Under certain circumstances, LISTSERV may not be able to trim the cache right away, either because a cache entry is locked by a routine that maintains pointers to it or because the file is currently open and thus it would be counter-productive to flush the cache entry right away. In such cases, the cache size can continue to grow past FIOC_TRIM. When it reaches FIOC_WARNING, a warning is displayed on the LISTSERV log. This probably indicates a programming error, or a value of FIOC_TARGET which is significantly below the "correct" value for your workload. Typically this value should be set to FIOC_TARGET plus 75% or 1MB (whichever is larger).

Default Value
System dependent.

 

GETQWAIVE

Platforms


VM

Abstract
Internet addresses (space-delimited) of persons to be granted an "infinite" GET quota.

Example
GETQWAIVE='nathan@lsoft.com holly@iupui.edu lowell@ubvm.bitnet'

Default Value
Empty string.

Wildcards
Not allowed.

 

IGNORE

Platforms


VM

Abstract
A list of Internet addresses (space-delimited) whose messages and files are to be ignored. Usually these are addresses that generate auto-responses that should simply be discarded.

Example
IGNORE='response@* dirmaint@'node 'reslim@'node

Default Value
Empty string.

Wildcards
Allowed.

 

IGNORE_EXTERNAL_PRIME

Platforms


All

Abstract
A Boolean value which determines whether or not LISTSERV will ignore the PRIME setting on incoming DISTRIBUTE jobs.

Example
IGNORE_EXTERNAL_PRIME=1

Details
This parameter can be used to expedite the delivery of DISTRIBUTE jobs which have an explicit PRIME setting. The point of this is simply to keep the spool clear of DISTRIBUTE jobs that might have a very narrow window (e.g., jobs set for weekend delivery only). Most sites will not need to use this setting, and it is disabled by default.

Default Value
IGNORE_EXTERNAL_PRIME=0

 

INDEX_VIA_GETPOST

Platforms


VM only

Abstract
Starting with 1.8c, the INDEX subscription option now uses the GETPOST command rather than a database job by default. INDEX_VIA_GETPOST can be used to control this default.

Example
INDEX_VIA_GETPOST=0

Details
This change was made because the GETPOST command requires fewer resources and is easier to use for non-technical users. Users may of course continue to use their old database jobs to access the list archives. The old behavior can be restored by adding ‘INDEX_VIA_GETPOST=0’ to LOCAL SYSVARS.

Default Value
INDEX_VIA_GETPOST=1

 

INSTPW

Platforms


VM-NJE only

Abstract
The optional local "installation password" associated with the INSTALL command.

Example
INSTPW='fixmelater'

Details
When INSTPW is set to '', it indicates that there is no local password and that only the global password is required to install automatic shipments. The server can then be updated by the LISTSERV Master Coordinator without requiring any intervention by the local operation staff (provided that this has not been disabled from the LSV$INST EXEC user exit). A non-null value indicates that the installation of each shipment must be confirmed by means of an "INSTALL PASSWORD instpw" command from either the LMC or the local operation staff.

Default Value
Empty string.

Wildcards
Not allowed.

 

JOB_STAT_DEFAULT

Platforms


All

Abstract
Boolean value determining whether or not the "Summary of resource utilization" is generated or suppressed in a CJLI JOB command response.

Example
JOB_STAT_DEFAULT=0

Details
Sets a server-wide default which can be overridden on a single-job basis with the STAT= JOB card option (see the Developer's Guide for LISTSERV for more information on JOB cards). L-Soft does not recommend changing this value from the default but recognizes that some sites do not want this information to be sent out.

Default Value
JOB_STAT_DEFAULT=1

Wildcards
Not allowed.

 

LICENSE_WARNING

Platforms


All

Abstract
LDisable LISTSERV's automatic license warnings. WARNING: SEE DETAILS AND DISCLAIMER BELOW. IT IS NOT RECOMMENDED TO DISABLE LICENSE WARNINGS.

Example
LICENSE_WARNING=0

Details
LISTSERV issues a warning to the console and to all non-quiet POSTMASTERs when you reach a usage level corresponding to about 80% of your license points. This warning is automatically disabled for small licenses (9 points or less). The warning can be turned off for higher license point values by using this Boolean variable.

Note that this keyword turns off all license warnings, including expiration warnings. L-Soft does not recommend turning this feature off as it is possible for your license to expire or to be at capacity without any warning. L-Soft is not responsible for delays or other problems arising from the deactivation of license warnings.

Default Value
LICENSE_WARNING=1

 

LIST_ADDRESS

Platforms


All

Abstract
Default value for the "List-Address=" list header keyword. This keyword does not normally need to be changed on non-VM systems.

Example
LIST_ADDRESS='LIST-ID@NJE'

Details
LIST_ADDRESS defines how mailing lists will identify themselves by default. The main purpose of this keyword is to allow BITNET sites to select their NJE address as the primary address, for compatibility. There is no practical application for this keyword under non-VM systems, other than as a migration aid for mainframe BITNET sites moving off of VM.

Default Value
LIST_ADDRESS='LIST-ID@FQDN'

Wildcards
Not allowed.

 

LIST_EXITS

Platforms


All

Abstract
A list of filenames of files that can be activated as list exits through the "Exit=" list header keyword. Any suffixes (CMD for Windows NT and BAT for Windows 95, for example) should not be included.

Example
LIST_EXITS= 'EXIT1 EXIT2'

Details
An "exit" is a program supplied by the customer to modify the behavior of a product (such as LISTSERV) in ways that the supplier of the product could not anticipate, or could not afford to support via standard commands or options. The product checks for the presence of the "exit" program and calls it on a number of occasions, called "exit points". In some cases, the "exit" program supplies an answer ("return code") to the main program, which adjusts its behavior accordingly. For instance, LISTSERV may ask an exit program "Is it OK to add JOE@XYZ.EDU to the ABC-L list?", and the program will answer yes or no, and possibly send a message to the user explaining why his subscription was accepted or rejected. In other cases, the "exit point" call is purely informative: the exit program gets a chance to do something, such as sending an informational message to a user, but does not return any answer. Because this "exit" is a computer program, it must be prepared by a technical person and installed by the LISTSERV maintainer.

List "exits" are available to control the major events associated with list maintenance. This makes it easier to tailor the behavior of LISTSERV to local requirements that are too specific to be addressed through standard facilities.

An exit is enabled by adding "Exit= filename" to the list header. For security reasons, all exits must be explicitly declared in the LIST_EXITS configuration variable (in the LISTSERV configuration). This prevents list owners from causing the invocation of arbitrary executable files through the use of the "Exit=" keyword.

See the Developer's Guide to LISTSERV for more information on list exits.

Default Value
Empty string (no exits enabled).

Wildcards
Not allowed.

 

LMCPUT

Platforms


VM

Abstract
A boolean variable indicating how PUT commands for datafiles associated with the LMC FAC are handled.

Example
LMCPUT= 0

Details
This variable indicates whether PUT commands for datafiles associated with the LMC FAC must be honored immediately (1) or transferred to the postmaster (0). Note that in the latter case, the postmaster is responsible for updating the file.

Default Value
LMCPUT= 1

 

LOCAL

Platforms


All

Abstract
A list of hosts and nodes to be associated with the hard-coded LCL FAC. Also used as the default for the "Local=" list header keyword. You usually want to set this variable to a wildcard pattern matching all the hosts in your organization (or department for large organizations).

Example
LOCAL= '*.XYZ.EDU'

Default Value
None. This parameter must be set explicitly.

Wildcards
Allowed.

 

MAILER

Platforms


VM

Abstract
RFC822 address of the local mailer.

Example
MAILER= 'MAILERT@'node

Default Value
MAILER= 'MAILER@'node

Wildcards
Not allowed.

 

MAILMAXL

Platforms


All

Abstract
The maximum acceptable size, in lines, of an incoming mail message. Obsolete; see details.

Example
MAILMAXL= 15000

Details
Messages larger than MAILMAXL lines are not accepted for processing. This option is all but obsolete (it was intended to solve a problem specific to VM BITNET servers) and you should not set it (i.e., you should accept the default) unless you are experiencing this kind of problem. In other words, if you aren't running VM on BITNET, don't set this! It is preferable to set a Sizelim= keyword in individual list headers if you must restrict postings on the basis of size. Do not use MAILMAXL as a server-level global replacement for Sizelim=.

MAILMAXL is primarily intended for small machines where there are not enough resources to process very large messages. Rather than attempting to process them and then running out of resources anyway, you can use the MAILMAXL option to reject the message right away.

Note that if MAILMAXL is set, messages coming in that exceed MAILMAXL will be discarded without any notification to the sender. This is not the same as the list header keyword setting Sizelim=, which when exceeded will cause LISTSERV to send a notification. However note carefully that since MAILMAXL is evaluated before the message is actually processed, ie, before Sizelim= can be evaluated, a message that exceeds MAILMAXL (but which may or may not exceed Sizelim= for the list it is being posted to) will be discarded without warning to the sender. This is why it is preferable to restrict postings based on size at the list level rather than at the server level.

MAILMAXL is primarily intended for small machines where there are not enough resources to process very large messages. Rather than attempting to process them and then running out of resources anyway, you can use the MAILMAXL option to reject the message right away.

Default Value
MAILMAXL defaults to the value of FILEMAXL. Note that under VM this can be more complicated as there typically is an entry for MAILMAXL in one of the SYSVARS files which overrides the default in the MODULE. It is not recommended to set MAILMAXL to a value less than 10000, and LISTSERV will issue a warning at startup if MAILMAXL is set lower than that.

 

MAXBSMTP

Platforms


All

Abstract
The maximum number of recipients in each message forwarded to the mail delivery system (see SMTP_FORWARD). This is an optimization parameter that you would normally set through the various "Optimize for..." buttons in the configuration program. If your mail delivery system is a unix machine, you should use values in the 50-100 range; smaller values will result in faster delivery, but will use up more system resources. If your mail delivery system runs L-Soft’s LSMTP™ product, you should use a much larger value, such as 1000. With LSMTP™, larger values improve turnaround time and decrease system resource usage. Very large values, however, may exhaust available system storage.

Example
MAXBSMTP= 50

Default Value
MAXBSMTP= 100

 

MAXDISTL

Platforms


All; HPO only

Abstract
The maximum number of recipients to be listed in the LISTSERV console log as recipients of an SMTP job. When the number of recipients is greater than MAXDISTL, a shorter message is printed in the log.

Example
MAXDISTL= 100

Default Value
MAXDISTL= 1000

 

MAXDISTN

Platforms


All

Abstract
The maximum number of recipients in forwarded DISTRIBUTE jobs. You should not modify this value unless instructed to do so by L-Soft.

Example
MAXDISTN= 100

Default Value
MAXDISTN= 1000

 

MDISK.cuu

Platforms


VM

Abstract
Information about library minidisks

Example
MDISK.191 = 'A- N L L 85 95 //A(191) is the LISTSERV system minidisk.'
MDISK.192 = 'D- N L L 100 100 //D(192) is LISTSERV''s scratch work disk.'

Details
The 'MDISK.' stem defines various parameters associated with LISTSERV "library" minidisks, ie minidisks on which LISTSERV might have to read or write list archives or library files (as opposed to "system" files like PROFILE EXEC or DATABASE FILE which are manipulated by LISTSERV but are not apparent to the users). The syntax of the assignment is the following:

MDISK.cuu = 'acc rw ro nl th1 th2 / wlist / wmsg' 

The slash signs are used as separators. They allow for more parameters to be specified in future releases while ensuring compatibility.

Please note that only those CUUs listed in the CHECKMDISK variable will be verified at startup time. However, some of the information in the MDISK stem will be used when dynamically accessing libraries. The default settings for library minidisks which have not been described here is shown below.

Default Value
MDISK.cuu = '*S N N N 100 100//'

Wildcards
Not allowed.

See also
CHECKMDISK

 

MSGD

Platforms


VM

Abstract
Userid of the virtual machine running a RFC1312/MSP server, if "Internet TELL" support is desired. Leave this field blank if you are not running a MSGD virtual machine.

Example
MSGD= 'MSGD'

Default Value
MSGD= ''

Wildcards
Not allowed.

 

MYDOMAIN

Platforms


All

Abstract
The list of all the possible Internet host names and aliases for the machine on which LISTSERV is running. Usually this is the same as NODE, however you can supply additional names if your machine operates several services under different host names. For instance, if your machine operates WWW and FTP servers in addition to LISTSERV, under the hostnames WWW.XYZ.COM and FTP.XYZ.COM, you may want to list these names in MYDOMAIN. Similarly, if you operate the LISTSERV service under a hostname such as LISTSERV.XYZ.COM, while the machine’s real name is NT2.IGATE.XYZ.COM, you will want to list the real name in MYDOMAIN because some unix machines will automatically substitute it for the published name.

Example
MYDOMAIN= 'LISTSERV.XYZ.COM WWW.XYZ.COM NT2.IGATE.XYZ.COM'

or

MYDOMAIN= NODE 'WWW.XYZ.COM NT2.IGATE.XYZ.COM'

Default Value
None. This parameter must be set explicitly.

Wildcards
Not allowed.

 

MYORG

Platforms


All

Abstract
Short organization name that appears in the mail header of messages from LISTSERV itself (i.e. not in the header of messages from a mailing list).

Example
MYORG= 'XYZ, Inc.'

Default Value
Not set. Generates the standard "L-Soft list server at host" organization name. Please note that the "L-Soft list server at" part of the string is not configurable, for trademark and copyright reasons.

Wildcards
Not allowed.

 

NODE

Platforms


All

Abstract
Defines the Internet hostname of this LISTSERV host.

Example
NODE= 'LISTSERV.MYHOST.NET'

Details
This must be a fully-qualified address, as noted in the example. It must not be an IP address or a non-qualified address such as ‘LISTSERV’.

For testing/evaluation purposes only you can define the NODE= as a square-bracketed, dotted-IP, e.g., NODE=[aaa.bbb.ccc.ddd], but this is not officially supported and L-Soft will not accept registrations for servers using this nomenclature.

Default Value
None. This parameter must be set explicitly.

Wildcards
Not allowed.

 

ODBC_*

Platforms


Windows NT. LISTSERV Classic only.

Details
Three configuration variables under the ODBC_* rubric are available for use with the DBMS/Mail Merge functionality introduced in LISTSERV 1.8d. Please see the Developer's Guide for LISTSERV (available separately) for documentation.

 

POSTMASTER

Platforms


All

Abstract
The space-delimited list of Internet addresses of the "LISTSERV maintainers", i.e. the people in charge of operating the LISTSERV service who are to be granted maintainer privileges and notified of problems with the operation of the server.

Example
POSTMASTER= ‘NATHAN@LSOFT.COM Hide: LIAM@LSOFT.COM Quiet: ERIC@LSOFT.COM’

Details
Please note that userids such as ‘postmaster@somehost.com’ or ‘listserv-maintainer@somehost.com’ cannot be defined as LISTSERV maintainers because they will be trapped by LISTSERV’s built-in loop-checking heuristics. If it is desired to have an "generic" address listed as the POSTMASTER address (for instance, in the output of the RELEASE or HELP commands), L-Soft suggests using a userid such as ‘lstmaint’.

The SHOW VERSION, RELEASE and HELP commands report the names and addresses of all the LISTSERV maintainers, allowing users to determine where to report problems. However, you can insert a "Hide:" keyword in the list, causing all the addresses that follow to be hidden from SHOW VERSION, RELEASE or HELP. Similarly, a "Quiet:" keyword indicates that all the addresses that follow should be granted privileges, but should not be notified of problems with the service.

Default Value
None. This parameter must be set explicitly.

Wildcards
Not allowed.

 

PRIMETIME

Platforms


All

Abstract
Defines the "prime time" for your node, during which mail to lists configured as "Prime= Yes" should not be processed. This option is mostly for small machines that are very busy during business hours. Refer to the list owner’s guide for more information. Note that the value for PRIMETIME must always be enclosed in quotes, including on Windows machines where quotes are not normally required.

Do not confuse "prime time" for time that LISTSERV is allowed to process mail. "Prime time" is the time during which LISTSERV is not allowed to process mail, e.g., it is the "prime time" of day on your machine during which other operations must take precedence.

Example
PRIMETIME= 'MON-FRI: 0800-1700; SAT-SUN: -'

Default Value
PRIMETIME= 'MON-SUN: -'

Wildcards
Not allowed.

 

QUALIFY_DOMAIN

Platforms


All

Abstract
Defines the Internet domain to be appended to all non-qualified Internet addresses in incoming mail. This is mostly useful when dealing with unix systems, which often do use unqualified addresses (in violation of the Internet mail standards). In a typical non-unix-based network, this option does not need to be set.

Example
QUALIFY_DOMAIN= '.DC.LSOFT.COM'

Default Value
Determined from the Internet hostname; for instance, if your hostname is LISTSERV.XYZ.COM, the value of QUALIFY_DOMAIN will be .XYZ.COM.

Wildcards
Not allowed.

 

RESMODES

Platforms


VM

Abstract
Defines a list of filemodes which are to be considered as "reserved" and never available for dynamic ACCESS

Details
This variable defines a list of filemodes which are to be considered as "reserved" and never available for dynamic ACCESS. That is, LISTSERV will never ACCESS a library minidisk by itself under one of these filesmodes. You may of course use them to ACCESS minidisks from the PROFILE EXEC or from any local command/exec you may have written. Note that A,D,S and Z are always reserved, regardless of what you put in the RESMODES variable. Also, any filemode which happens to be in use at the time LISTSERV is started will be marked as reserved, so that LISTSERV will never release minidisks which were ACCESSed when it was started.

Note that the value for RESMODES= must be in UPPER CASE.

Example
RESMODES = 'BC'

Default Value
None (that is, no RESMODES are reserved by default).

Wildcards
Not allowed.

 

RUNMODE

Platforms


All

Abstract
Determines the server’s mode of operation with respect to peer LISTSERV servers running on other Internet hosts.

Details
LISTSERV Classic or the non-free edition of LISTSERV Lite can operate in one of three modes:

The traditional academic servers operate in Networked mode. This is the default mode for the non-shareware versions.

Example
RUNMODE=TABLELESS SWGATE.LSOFT.COM

Default Value
Tableless for the Windows 95 version and all Lite versions, networked for all others. The value cannot be changed under the Lite "Free Edition". Note that if a host is not defined when running in TABLELESS mode, LISTSERV defaults to using the host SWGATE.LSOFT.COM for lookups.

Wildcards
Not allowed.

 

SEARCH_DISABLED

Platforms


All

Abstract
A string variable which, if set to anything but the null string, disables the (new) SEARCH command and returns the text in the string to anyone attempting an archive search. Similar in function to the (Boolean) DATABASE variable for VM, but allows you to customize the string returned to the invoker.

Example
SEARCH_DISABLED='The SEARCH command is disabled on this server.'

Details
This variable is provided primarily for servers such as the IBM P/390 which may not have sufficient resources to offer database searching functionality. This variable should not be used unless there is a good reason to disable the SEARCH command altogether.

Default Value
Not set (null string).

 

Setting non-default directory paths with .SD

Platforms


All

Abstract
It is possible (but not recommended) to set non-default directory paths for LISTSERV files by using the .SD parameter.

Example
.SD 'L E:\FTP\LOGS'

Details
L-Soft does not recommend that the default directory configuration be changed without good reason. Such reasons might include putting LISTSERV logs on a shared network drive for testing or debugging purposes.

Default Value
Not set.

Wildcards
Not allowed. Note that this parameter must point to a valid, existing directory name. For security reasons, LISTSERV will not create directories that do not already exist.

 

SMTP_FORWARD

Platforms


All

Abstract
The Internet hostname (not the IP address; this variable must contain a fully-qualfied domain name [FQDN]) of the server to which all outgoing SMTP mail should be forwarded for delivery. This can be any machine with SMTP software that will accept mail from your machine. If you are running the MS Mail SMTP gateway product as your SMTP forwarding host, you should point SMTP_FORWARD to the "smart host" defined in the MS Mail configuration, rather than to the MS Mail gateway itself.

Example
SMTP_FORWARD= 'UNIX.XYZ.COM'

Default Value
None. This parameter must be set explicitly.

Wildcards
Not allowed.

See also
SMTP_FORWARD_n

 

SMTP_FORWARD_n

Platforms


VMS, Windows, some unix platforms (contact support@lsoft.com for supported unixes)

Abstract
Allows LISTSERV to deliver mail asynchronously via one or more SMTP "worker" processes.

Formal Syntax
There are several different ways to define the value for this variable. Here is the formal syntax (for unix the value must be enclosed in double-quotes, of course):

SMTP_FORWARD_n=[x*]hostname[(opentime-setting)][;failoverhostname]

(Advanced tuning parameters typically used only by "huge" sites (millions of recipients/day) have been omitted.)

Examples
SMTP_FORWARD_1=UNIXSERVER.BAR.COM
SMTP_FORWARD_2=SMTP.BAZ.NET
SMTP_FORWARD_3=UNIXSERVER.BAR.COM

SMTP_FORWARD_1=2*UNIXSERVER.BAR.COM
SMTP_FORWARD_2=SMTP.BAZ.NET

SMTP_FORWARD_1=2*UNIXSERVER.BAR.COM;SMTP.BAZ.NET
SMTP_FORWARD_2=SMTP.BAZ.NET

SMTP_FORWARD_1=UNIXSERVER.BAR.COM(00:00-05:00);SMTP.BAZ.NET
SMTP_FORWARD_2=SMTP.BAZ.NET
SMTP_FORWARD_3=SMTP.BAZ.NET(10:00-14:00)

Details
Defines a number of "SMTP workers" (SMTPW.EXE on VMS and Windows; lsv child processes on supported unix platforms) used to spread the mail delivery load across multiple machines (or multiple connections to the same machine). For most normal workloads, the recommendation is to define a single SMTP_FORWARD_n host (ie, SMTP_FORWARD_1=) which points to the same host as is set for the SMTP_FORWARD= synchronous delivery variable.

Multiple SMTP_FORWARD_n host definitions should be made only for large workloads (30,000 daily deliveries or more), or when the mail delivery server being pointed to is very slow. In that case, opening multiple connections to the machine may improve throughput. A general rule is that you define multiple SMTP_FORWARD_n hosts only when xxx.MAIL files are consistently accumulating in the LISTSERV spool directory. Please be sure to read the comments below.

The value of each SMTP_FORWARD_n host must be a fully- qualified domain name (FQDN), not an IP address.

You MUST define an SMTP_FORWARD= parameter in the site configuration file which will tell LISTSERV where to deliver mail synchronously should asynchronous delivery fail for any reason.

Starting with 1.8d, this functionality is available on some unix platforms. Under unix this keyword causes LISTSERV to spawn sub-processes of itself rather than requiring a separate executable.

The first example is one of the most simple configurations: one SMTP_FORWARD_n variable is defined for each separate worker. In this case two workers are pointed at one host, meaning that that host will be used for two-thirds of the outgoing mail.

The second example is functionally identical to the first example but the syntax is different. SMTP_FORWARD_1=2*UNIXSERVER.BAR.COM says "define two workers pointed at UNIXSERVER.BAR.COM".

The third example is also functionally identical to the first example except that it tells worker #1 to use SMTP.BAZ.NET as a "failover" host if UNIXSERVER.BAR.COM cannot be contacted. Otherwise SMTP.BAZ.NET will handle only one-third of the outgoing mail as would be expected.

The fourth example tells worker #1 to use UNIXSERVER.BAR.COM only between midnight and 5AM, and use the failover host SMTP.BAZ.NET at all other times. It also tells worker #3 to operate only between the hours of 10AM and 2PM (with no failover). This is handy for (for instance) offloading large queues to other machines during heavy traffic periods when the other machines aren't being used for other things (like number-crunching).

Default Value
Not set (workers are not used and mail is delivered synchronously).

Comments
The more SMTP_FORWARD_n hosts you define, the more SMTP workers will be started. Since each SMTP worker takes up some resources on your machine, you should not define more workers than your workload requires.

Wildcards
Not allowed.

 

SMTP_LISTENER_IP

Platforms


Windows

Abstract
Dotted-decimal IP address which sets the IP address to which the SMTPL.EXE "listener" will bind at boot time.

Details
Under normal circumstances it is not advisable to set this parameter. It is only for use when it becomes necessary to force SMTPL.EXE to "listen" out on a specific IP address (for instance, on a multi-homed machine you might have another mail server running on one IP address and LISTSERV/SMTPL running on another). This parameter would normally be set only if another SMTP mail application were running on the same machine as LISTSERV and it were necessary to divide the mail up based on the IP address. However, please note that this assumes that the other SMTP mailer is also able to listen out on a designated IP address, and that separate DNS entries have been established for each of the IP addresses assigned to the machine.

Example
SMTP_LISTENER_IP=1.2.3.4

Default Value
Defaults to all valid IP addresses configured for the machine.

Wildcards
Not allowed.

 

SMTP_LISTENER_PORT

Platforms


Windows

Abstract
Integer value. Sets the port number to which the SMTPL.EXE "listener" will bind at boot time.

Details
Under normal circumstances it is not advisable to set this parameter. It is only for use when it becomes necessary to force SMTPL.EXE to "listen" out on a non-standard port (i.e., other than the standard SMTP port, port 25). This parameter would normally be set only if another SMTP mail application were running on the same machine as LISTSERV and it were necessary to avoid an SMTP port conflict. However, please note that this implies that the other SMTP mailer is able to forward LISTSERV's mail to the non-standard port you define.

Example
SMTP_LISTENER_PORT=10025

Default Value
Normally not set in SITE.CFG but the default would be

SMTP_LISTENER_PORT=25

Wildcards
Not allowed.

 

SMTP_RESET_EVERY

Platforms


All

Abstract
Directs LISTSERV to reset the SMTP connections to the SMTP delivery machines (see SMTP_FORWARD) at regular intervals (units: minutes). This parameter improves turnaround time on busy servers if the mail delivery server is a unix machine. It should not be used with other types of delivery servers. Under Windows this parameter is normally set through one of the "Optimize for..." buttons in the configuration program.

Example
SMTP_RESET_EVERY= 60

Default Value
Not set; connections are not reset unless inactive.

 

SORT_RECIPIENTS

Platforms


All

Abstract
An integer value (0, 1, or 2) that determines whether or not LISTSERV sorts the recipient list in outgoing SMTP jobs. Under Windows this option is normally set through the "Optimize for..." buttons in the configuration program. It should be set to 1 for best performance if your mail delivery host is a unix machine. Other systems do not normally need a pre-sorted recipient list for optimal performance.

Example
SORT_RECIPIENTS= 1

Details
This variable setting has changed for 1.8d. Under 1.8c and earlier the variable was a Boolean value that simply determined whether or not the recipient list was sorted by hostname before being handed off to the outgoing MTA.

Under 1.8d and following, if this variable is set to the value 2, LISTSERV will not sort the recipient list if the number of recipients is less than or equal to your MAXBSMTP setting. Conversely, for jobs where the number of recipients is greater than MAXBSMTP, LISTSERV will sort the recipient list (keeping XYZ.COM together and thereby conserving resources). This enhancement is useful when you are using LSMTP as your outgoing MTA, since LSMTP doesn't care whether or not the recipient list is sorted.

Default Value
All platforms except Windows NT: SORT_RECIPIENTS= 0

Windows NT: SORT_RECIPIENTS= 2

 

SPAM_DELAY

Platforms


All

Abstract
Sets the server-wide delay period for the spam quarantine feature.

Example
SPAM_DELAY= 15

Details
This variable sets the server-wide delay period (in minutes) during which LISTSERV holds certain "suspicious" messages before processing them. This gives LISTSERV’s anti-spamming algorithms time in which to gather the necessary evidence to determine whether or not the message may be a spam. The value can be overridden on a list-by-list basis with the list header keyword setting "Loopcheck= Spam-Delay(xxx)" (the value is in minutes). SPAM_DELAY=0 disables this "spam quarantine" feature for all lists on the server.

Default Value
SPAM_DELAY= 10

 

STOREPW

Platforms


VM

Abstract
STOREPW is the password to be used by postmasters when executing CP/CMS commands and when storing files in the server by means of the PUTC command.

Example
STOREPW= 'almighty'

Details
If you do not want to allow remote file storing nor remote CP/CMS command execution, just set this variable to ''. Note that CP/CMS commands typed at the server's console will always be honored.

Although this variable is available under non-VM versions of LISTSERV, for non-VM it is functionally equivalent to CREATEPW and should simply be left unset.

See also
CREATEPW

 

TCPGUI_IPADDR

Platforms


Non-VM

Abstract
Sets the default IP address for use with LISTSERV's TCPGUI interface.

Example
TCPGUI_IPADDR=101.231.8.1

Details
If TCPGUI_IPADDR is not specified on a multi-homed machine, LISTSERV listens to port 2306 (by default) on every IP configured for use by the machine. This is primarily important on multi-homed machines where you want to use port 2306 on another IP for something else. It can be set on single-homed machines but is not necessary since this value will default to the machine's single IP address.

Default Value
Defaults to the primary IP address of the LISTSERV machine.

Wildcards
Not allowed.

See also
TCPGUI_PORT

 

TCPGUI_PORT

Platforms


Non-VM

Abstract
Sets the port number for use with LISTSERV's TCPGUI interface.

Example
TCPGUI_PORT=23006

Details
TCPGUI_PORT= can be used to resolve potential port conflicts with other software on the LISTSERV machine by allowing you to change the port number used by the TCPGUI interface. It can also be useful on single-homed machines on which you wish to disable the LISTSERV TCPGUI interface altogether (for instance, to address local security issues). In order to disable the TCPGUI interface, simply set TCPGUI_PORT=0 and restart the server.

Default Value
TCPGUI_PORT=2306

Wildcards
Not allowed.

See also
TCPGUI_IPADDR

 

TRAPIN

Platforms


All

Abstract
A space-separated list of Internet addresses from which LISTSERV should never accept administrative mail.

Example
TRAPIN= 'OBNOX@SOMENODE.NET *@BADNODE.COM'

Details
A space-separated list of Internet addresses from which LISTSERV should never accept mail. Mail and files from users matching these templates will not be processed, but rather simply transferred to the LISTSERV maintainer. This parameter is provided primarily for VM sites, but is available for the convenience of VM customers migrating to other platforms and should not need to be set by typical non-VM installations.

Note: L-Soft does not recommend using this keyword to filter out problem users, as it does not prevent people at the hosts in question from posting to mailing lists. It controls only how incoming administrative mail (e.g., containing LISTSERV commands) sent to the LISTSERV address is treated. You should use the FILTER_ALSO keyword to filter problem users.

Default Value
Built in.

Wildcards
Allowed.

See also
TRAPOUT

 

TRAPOUT

Platforms


All

Abstract
A space-separated list of Internet addresses to which LISTSERV should never send administrative mail.

Example
TRAPOUT= 'OBNOX@SOMENODE.NET *@BADNODE.COM'

Details
A space-separated list of Internet addresses to which LISTSERV should never send mail. Mail and files to users matching these templates will be sent to the postmaster instead. This parameter is provided primarily for VM sites, but is available for the convenience of VM customers migrating to other platforms and should not need to be set by typical non-VM installations.

Note: L-Soft does not recommend using this keyword to filter out problem users, as it does not prevent people at the hosts in question from posting to mailing lists. It controls only how outgoing administrative mail (e.g., containing responses to LISTSERV commands) sent to the LISTSERV address is treated. You should use the FILTER_ALSO keyword to filter problem users. If you wish to stop outgoing list mail to specific domains, you should simply do a global delete (QUIET DELETE * *@*badnode.com) and then add the domain to FILTER_ALSO to prevent future subscriptions from that domain.

Default Value
Built in.

Wildcards
Allowed.

See also
TRAPIN

 

WEB_BROWSER_CONFIRM

Platforms


All

Abstract
LISTSERV can be configured to require confirmation (through the "OK" mechanism) when commands are sent through a WWW browser, even if they apply to a list whose security level or "Subscription=" keyword does not require confirmation. This variable controls whether or not that functionality is enabled.

Example
WEB_BROWSER_CONFIRM=1

Details
This change was made the default for the 1.8c release both to avoid abuse and because many occasional WWW users do not know their e-mail address or enter it incorrectly, whereas people who use e-mail regularly do of course have a working e-mail address in their configuration. To disable this feature, set WEB_BROWSER_CONFIRM=0 in the site configuration file.

In 1.8d and following, this feature is disabled by default.

Default Value
WEB_BROWSER_CONFIRM=0

 

WWW_ARCHIVE_CGI

Platforms


VMS, unix, Windows

Abstract
The relative URL that leads to the WWW archive CGI script. (This is a URL, not an OS path name.)

Example
WWW_ARCHIVE_CGI="/cgi-bin/wa"

Default Value
Null.

Wildcards
Not allowed.

See also
WWW_ARCHIVE_DIR

 

WWW_ARCHIVE_DIR

Platforms


VMS, unix, Windows

Abstract
The full OS path name to the WWW archive directory

Examples
WWW_ARCHIVE_DIR="/usr/local/etc/httpd/htdocs/archives"

WWW_ARCHIVE_DIR=c:\inetpub\wwwroot\archives

Default Value
Null.

Wildcards
Not allowed.

See also
WWW_ARCHIVE_CGI

 

WWW_AUTHINFO_DISABLE

Platforms


VMS, unix, Windows

Abstract
A Boolean value which can be set to 1 to disable the IP address verification function of the web archive interface ('wa'), or 0 to re-enable the function.

Example
WWW_AUTHINFO_DISABLE=0

Details
The default setting allows you to bypass certain proxy problems that prevent the 'wa' interface from working properly. There is a certain minimum security exposure involved in that someone with a good memory can watch you using 'wa', memorize the URL, and then type it into another browser and use your login ticket. The ticket will still expire but until then the "thief" has full reign on your list. If the minimum security exposure noted above is unacceptable, this variable can be set to 0 (i.e., enable the authorization).

Default Value
WWW_AUTHINFO_DISABLE=1

 

XFERTO

Platforms


VM

Abstract
Userid of the virtual machine to which files found in the lists readers should be transferred. This is part of the VM/ISF support and should NOT be changed on a regular SP or HPO system.

Example
XFERTO= 'LSTMAINT'

Default Value
Standard value.

Wildcards
Not allowed.


Go to the top of this document

Site Manager's Operations Manual for LISTSERV®
Appendix A: System Reference Library for LISTSERV® Version 1.8d
Appendix B: List Keyword Reference for LISTSERV® Version 1.8d
Appendix D: Sample Boilerplate Files
Appendix E: Related Documentation and Support
Appendix F: Acknowledgements