PMDF System Manager's Guide


Previous Contents Index

21.1.2 TCP/IP Channel Option Files

An option file can be used to control various characteristics of TCP/IP channels.4 Such an option file must be named x_option where x is the name of the channel, and stored in the PMDF table directory. Since the name of the channel is usually tcp_local, the option file is usually PMDF_TABLE:tcp_local_option. on OpenVMS or /pmdf/table/tcp_local_option on UNIX or C:\pmdf\table\tcp_local_option on NT. Note that while master channel programs (the outgoing channel direction or SMTP client) read their option file each time they run, the slave channel program (the SMTP server) reads the option file only when it is first started, hence will not see changes until restarted.5

21.1.2.1 Format of the Option File

Option files consist of several lines. Each line contains the setting for one option. An option setting has the form:


option=value
value can be either a string or an integer, depending on the option's requirements. If the option accepts an integer value a base can be specified using notation of the form b%v, where b is the base expressed in base 10 and v is the actual value expressed in base b.

21.1.2.2 Available TCP/IP Channel Options

The available options are:

ALLOW_ETRNS_PER_SESSION (integer)

Set a limit on the number of ETRN commands accepted per connection. The default is 1. See also Section 2.3.4.34 for a discussion of channel keywords affecting PMDF's response to ETRN commands.

ALLOW_REJECTIONS_BEFORE_DEFERRAL (integer)

Set a limit on the number of bad RCPT TO: addresses that are allowed during a single connection. When this option is enabled, after the specified number of To: addresses have been rejected, all subsequent recipients, good or bad, are rejected with a temporary error.

ALLOW_RECIPIENTS_PER_TRANSACTION (integer)

Set a limit on the number of recipients allowed per message. The default is no limit.

ATTEMPT_TRANSACTIONS_PER_SESSION (integer)

Set a limit on the number of messages PMDF will attempt to transfer during any one connection session. The default is no limit.

BANNER_ADDITION (string)

Add the specified string to the SMTP banner line. The vertical bar character is not permitted in the string.

CHECK_SOURCE (0 or 1)

The PMDF SMTP server normally attempts to determine the name of the host from which a connection has been received, as specified by the ident* channel keywords discussed in Section 2.3.4.40. When the determined name does not match the name presented by the remote SMTP client on the HELO/EHLO line, the CHECK_SOURCE option controls whether the name found from a DNS lookup (or the IP domain literal, if DNS lookups have been disabled such as with the identnonenumeric channel keyword) is included in the constructed Received: header as a comment after the presented name. A value of 1 (the default) enables the inclusion of the determined name when different from the presented name; a value of 0 disables the inclusion of any such comment and thus eliminates one of the more useful checks of message validity.

COMMAND_RECEIVE_TIME (integer)

This option specifies, in minutes, how long to wait to receive general SMTP commands, (commands other than those with explicitly specified time out values set using other specifically named options). The default value is 10.

COMMAND_TRANSMIT_TIME (integer)

This option specifies, in minutes, how long to spend transmitting general SMTP commands, (commands other than those with explicitly specified time out values set using other specifically named options). The default value is 10.

DATA_RECEIVE_TIME (integer)

This option specifies, in minutes, how long to wait to receive data during an SMTP dialogue. The default is 5.

DATA_TRANSMIT_TIME (integer)

This option specifies, in minutes, how long to spend transmitting data during an SMTP dialogue. The default is 10.

DISABLE_ADDRESS (0 or 1)

The PMDF SMTP server implements a private command XADR. This command returns information about how an address is routed internally by PMDF as well as general channel information. Releasing such information can consistute a breach of security for some sites. Setting the DISABLE_ADDRESS option to 1 disables the XADR command. The default is 0, which enables the XADR command.

DISABLE_CIRCUIT (0 or 1)

The PMDF SMTP server implements a private command XCIR. This command returns PMDF circuit check information. Releasing such information can consistute a breach of security for some sites. Setting the DISABLE_CIRCUIT option to 1 disables the XCIR command; setting DISABLE_CIRCUIT to 0 enables the XCIR command. If DISABLE_CIRCUIT is not explicitly set, then use of this XCIR command is controlled by the DISABLE_GENERAL option setting.

DISABLE_EXPAND (0 or 1)

The SMTP EXPN command is used to expand mailing lists. Exposing the contents of mailing lists to outside scrutiny can constitue a breach of security for some sites. The DISABLE_EXPAND option, when set to 1, disables the EXPN command completely. The default value is 0, which causes the EXPN command to work normally. Note that mailing list expansion can also be blocked on a list-by-list basis with the [EXPANDABLE] and [NONEXPANDABLE] named parameters.

DISABLE_GENERAL (0 or 1)

The PMDF SMTP server implements a private command XGEN. This command returns status information about whether a compiled configuration and compiled character set are in use. Releasing such information can constitute a breach of security for some sites. Setting the DISABLE_GENERAL option to 1 disables the XGEN command. The default is 0, which enables the XGEN command.

DISABLE_STATUS (0 or 1)

The PMDF SMTP server implements a private command XSTA. This command returns status information about the number of messages processed and currently in the PMDF channel queues. Releasing such information can consistute a breach of security for some sites. Settting the DISABLE_STATUS option to 1 disables the XSTA command. The default is 0, which enables the XSTA command.

DOT_TRANSMIT_TIME (integer)

This option specifies, in minutes, how long to spend transmitting the dot (period) terminating the data in an SMTP dialogue. The default is 10.

HIDE_VERIFY (0 or 1)

The SMTP VRFY command can be used to establish the legality of an address prior to actually using it. Unfortunately this command has been abused by automated query engines in some cases. The HIDE_VERIFY option, when set to 1, tells PMDF not to return any useful information in the VRFY command result. The default value is 0, which causes VRFY to act normally. See also the channel keywords controlling this behavior, described in Section 2.3.4.36.

LOG_BANNER (0 or 1)

The LOG_BANNER option controls whether the remote SMTP server banner line is included in mail.log* file entries when the logging channel keyword is enabled for the channel. A value of 1 (the default) enables logging of the remote SMTP server banner line; a value of 0 disables it. LOG_BANNER also affects whether a remote SMTP banner line, if available, is included in bounce messages generated by the channel.

LOG_CONNECTION (integer)

The LOG_CONNECTION option controls whether or not connection information, e.g., the domain name of the SMTP client sending the message, is saved in mail.log file entries and the writing of connection records when the logging channel keyword is enabled for the channel. This value is a decimal integer representing a bit-encoded integer, the interpretation of which is given in the table below.
Bit Value Usage
0 1 When set, connection information is included in E and D log records.
1 2 When set, connection open/close/fail records are logged by message enqueue and dequeue agents such as the SMTP and X.400 clients and servers.
2 4 When set, I records are logged recording ETRN events.

Bit 0 is the least significant bit.
This channel option defaults to the setting of the global PMDF option LOG_CONNECTION as set in the PMDF option file; see Chapter 7. This channel option can be set explicitly to override on a per-channel basis the behavior requested by the global option.

LOG_TRANSPORTINFO (0 or 1)

The LOG_TRANSPORTINFO controls whether or not transport information, such as the sending and receiving side IP numbers and port numbers, are included in mail.log file entries when the logging channel keyword is enabled for the channel. A value of 1 enables transport information logging. A value of 0 disables it. This channel option defaults to the setting of the global PMDF option LOG_CONNECTION as set in the PMDF option file; see Chapter 7. It can be set explicitly for a channel to control the logging of transport information regardless of whether connection logging is enabled. LOG_TRANSPORTINFO also affects whether transport information, if available, is included in bounce messages generated by the channel.

LONG_LINE_MODE (0, 1, or 2)

This option specifies how PMDF should handle receiving lines that violate SMTP maximum length standards. A value of 0 (the default) tells PMDF to truncate such standards-violating long lines. A value of 1 tells PMDF to reject messages that contain long lines. A value of 2 tells PMDF to wrap the long lines at 1000 characters.

MAIL_TRANSMIT_TIME (integer)

This option specifies, in minutes, how long to spend transmitting the SMTP command MAIL FROM:. The default is 10.

MAX_CLIENT_THREADS (integer)

An integer number indicating the maximum number of simultaneous, outbound connections that the client channel program will allow. Note that multiple processes can be used for outbound connections, depending on how you have channel processing queues setup. This option controls the number of threads per process. The default value is 10.

MAX_MX_RECORDS (integer <= 32)

Specify the maximum number of MX records that PMDF should try using when attempting to deliver a message. The maximum value is 32, which is also the default.

RCPT_TRANSMIT_TIME (integer)

This option specifies, in minutes, how long to spend transmitting the SMTP command RCPT TO:. The default is 10.

STATUS_DATA_RECEIVE_TIME (integer)

This option specifies, in minutes, how long to wait to receive the SMTP response to our sent data; i.e., how long to wait to receive a "250" (or other) response to the dot terminating sent data. The default value is 10. See also the STATUS_DATA_RECV_PER_ADDR_TIME, STATUS_DATA_RECV_PER_BLOCK_TIME, and STATUS_DATA_RECV_PER_ADDR_PER_BLOCK_TIME options.

STATUS_DATA_RECV_PER_ADDR_TIME (floating point value)

This option specifies an adjustment factor for how long to wait to receive the SMTP response to our sent data based on the number of addresses in the MAIL TO: command. This value is multiplied by the number of addresses and added to the base wait time (specified with the STATUS_DATA_RECEIVE_TIME option). The default is 0.083333.

STATUS_DATA_RECV_PER_BLOCK_TIME (floating point value)

This option specifies an adjustment factor for how long to wait to receive the SMTP response to our sent data based on the number of blocks sent. This value is multiplied by the number of blocks and added to the base wait time (specified with the STATUS_DATA_RECEIVE_TIME option). The default is 0.001666.

STATUS_DATA_RECV_PER_ADDR_PER_BLOCK_TIME (floating point value)

This option specifies an adjustment factor for how long to wait to receive the SMTP response to our sent data based on the number of addresses (in the MAIL TO: command) per number of blocks sent. This value is multiplied by the number of addresses per block and added to the base wait time (specified with the STATUS_DATA_RECEIVE_TIME option). The default is 0.003333.

STATUS_MAIL_RECEIVE_TIME (integer)

This option specifies, in minutes, how long to wait to receive the SMTP response to a sent MAIL FROM: command. The default is 10.

STATUS_RCPT_RECEIVE_TIME (integer)

This option specifies, in minutes, how long to wait to receive the SMTP response to a sent RCPT TO: command. The default value is 10.

STATUS_RECEIVE_TIME (integer)

This option specifies, in minutes, how long to wait to receive the SMTP reply to general SMTP commands, (replies other than those with explicitly specified time out values set using other specifically named options). The default value is 10.

STATUS_TRANSMIT_TIME (integer)

This option specifies, in minutes, how long to spend transmitting the SMTP reply to an SMTP command. The default value is 10.

TRACE_LEVEL (0 or 2)

This option controls whether TCP/IP level trace is included in debug log files. The default value is 0, meaning that no TCP/IP packet traces are included; a value of 2 tells PMDF to include TCP/IP packet traces in any debug log files and to include some additional information, such as DNS lookup information, in addition to the basic TCP/IP packet traces.

Note

4 Most of the options described actually relate to the SMTP protocol itself, rather than to the TCP/IP transport. As such, other PMDF channels that use the SMTP protocol over other transports can have similar options.

5 Also note that for incoming messages, such TCP/IP channel options are actually options for the SMTP server itself; in particular, the only channel options that matter for incoming messages are those for the SMTP server's default channel, not any channel options for possible other channels that can putatively handle the incoming message due to a switchchannel channel keyword-based "switching".


Previous Next Contents Index