POP3 extensions
Implementations of POP3 servers can have additional commands starting with
the "XTND" keyword. This commands are not usable from "normal" POP3 clients and
are intended for server configuration and maintenance. They are accessible
by telneting to the server port or through special tools.
IUPOP3 XTND commands
IUPOP3 2.0 supports the following extended commands:
- XTND help
- shows a list of supported XTND commands
- XTND client
- notes the client identification
- XTND info
- returns infos about some of the process resources
- XTND stats
- shows the threads statistics
- XTND netstats
- shows the network I/O statistics
- XTND loglevel
- sets the current logging level
- XTND options set
- resets the run-time options from the logical name table
- XTND options shows
- shows the run-time options
- XTND kill
- stops the specified thread immediatly
- XTND restart
- restarts the server
- XTND shutdown
- stops the server
Some of the commands needs special validation from the POP_XTND.DAT file in the
IUPOP3_EXE directory.
Run-time Configuration Options
The behavior of the IUPOP3 server can be controlled via a set of commandline
switches or OpenVMS logicals. This includes
mail processing features
(ignore_mail11_headers, default_to_smtp, enable_long_lines, personal_name,
purge_mailboxes, use_bottom_headers, iupop3_node_xxx, foreign_folder),
security issues
(scan_intrusion, apop_check_duplicate, ignore_expired_passwords, auth_commands),
performance considerations
(max_messages, client_timeout, fast_scan, use_mail_folder, purge_reclaim_threshold,
read_direct_threshold, default_sendbuffer_size )
and others.
The configuration options are specified as VMS logicals typically stored in the system
logical name table. They are set from the IUPOP3_LOGICALS.COM command file
during startup. If they are changed later, the server has to be notified with the
"XTND options set" command.
Logicals used for Server Configuration:
Mail Processing Options
IUPOP3_IGNORE_MAIL11_HEADERS (bool)
This option controls whether or not IUPOP3 will completely ignore the
VMS Mail headers (From:, To:, etc.) for non-DECnet mail messages.
The "From" line is checked to decide where the mail comes from.
For internet mails, the original RFC 822 headers are grabbed from
the message body and used instead of the mail11 headers. Check the
configuration of the TCP/IP package to ensure they are stored correctly!
MIME coded messages are only usable with their original headers.
For DECNET messages some RFC 822 compliant headers are generated from the
mail11 headers.
IUPOP3_DEFAULT_TO_SMTP (bool)
Sometimes the "From" isn't informative enough to detect where
the message comes from. For example it can contain a username only.
This option controls if such a message is treated as a DECNET or a internet
message.
IUPOP3_ENABLE_LONG_LINES (bool)
Enables passing of lines longer than 256 bytes to the client
using undocumented features of the callable mail routines.
AFAIK only MX creates messages with long lines.
IUPOP3_PERSONAL_NAME (bool)
This options controls whether or not IUPOP3 will provide your POP3
clients with "From:" lines that include the sender's personal name,
if one appeared on the original VMS "From:" line. Below, the first
example contains the sender's personal name, and the second does not:
From: "larry hughes" <hughes@indiana.edu>
From: <hughes@indiana.edu>
Be warned that some POP3 clients get confused by the presence of
personal names when you attempt to reply to a mail message. Others
usually don't mind personal names, but get confused when the name
contains commas and other special characters. If you enable this
option, please test very carefully with your POP3 clients.
IUPOP3_PURGE_MAILBOXES (bool)
Enables purging of mailboxes. Mailboxes are only purged if this
option is set and the user has enabled autopurging in VMS mail.
If this option is set to false, deleted messages are only moved
to the wastebasket folder but not deleted.
The PURGE_RECLAIM_THRESHOLD option is ignored in this case.
IUPOP3_USE_BOTTOM_HEADERS (bool)
UCX (or currently: Digital TCP/IP services for OpenVMS) can store the
RFC 822 headers at the top or at the bottom of the mail.
Specify this option *only*
- if you have UCX
- if you have SMTP configured to put the RFC 822 headers at the bottom of the message
- and you have specified the IGNORE_MAIL11_HEADERS option.
IUPOP3_FOREIGN_FOLDER (string)
IUPOP3 ignores delete operations on foreign mails because they
can only be handled locally, only an informational message is send
to the client. With this logical defined IUPOP3 moves the foreign
mail to the specified folder instead of ignoring the delete
operation. This logical is checked when a foreign mail is to be
deleted.
Example:
$DEFINE/SYSTEM IUPOP3_FOREIGN_FOLDER "FOREIGN-MAIL"
IUPOP3_NODE_xxx (string)
Maps decnet node xxx to specified domain.
This is very useful for building meaningful reply addresses.
Example:
Mapping without this logical defined:
nodename::username ---> username@nodename
Mapping with this logical defined:
define /system IUPOP3_NODE_nodename "node.sub.top"
nodename::username ---> username@node.sub.top
This logical is checked for each message.
Security Options
IUPOP3_SCAN_INTRUSION (bool)
If enabled the security server is asked via the $SCAN_INTRUSION
system service to check for beakin attempts.
After a single password error the output of DCL's SHOW INTRUSION command
may look like
NETWORK SUSPECT 2 7-AUG-1997 20:07:54.15 IUPOP3::127.0.0.1:stenns
The last field contains the source of the suspect intrusion.
At least OpenVMS/VAX 6.1 or OpenVMS/Alpha 6.2 is required.
The IUPOP3 process requires the security privilege.
IUPOP3_APOP_CHECK_DUPLICATE (bool)
Rejects access if APOP's shared secret and the interactive password is identical.
The APOP shared secred is known as clear text both to
client and server. On the OpenVMS site it is stored in the POP_SECRET.DAT file in
the user's mail directory. It should never be the same as the user's login
password!
IUPOP3_IGNORE_EXPIRED_PASSWORDS (bool)
With this option enabled the maildrop access is granted even
if the specified password has been expired. Many network services
ignores password expiration.
IUPOP3_AUTH_COMMANDS (string)
RFC 1939 makes the user/pass and apop authorization commands optional.
A value of "user" means only the user/pass combination is allowed,
"apop" means only the apop command is recognized, and any other value
means both commands are allowed (this is the default).
Performance Options
IUPOP3_MAX_MESSAGES (numerical)
Sets the maximum number of messages a user can download during
a single session. Same as the -maxmsg commandline switch.
IUPOP3_CLIENT_TIMEOUT (numerical)
Defines the client timeout in minutes. RFC 1939 recommends a
minimum value of 10 minutes.
IUPOP3_FAST_SCAN (bool)
With this option enabled selection of a maildrop is significant faster.
The size of each message reported to the client is estimated from the number of
records (available from the callable mail api) rather than checking
the size of each mail file. Mail directories might be quite large and
checking the size of a large number of files may be rather slow.
IUPOP3_USE_MAIL_FOLDER (bool)
Normally only the NEWMAIL folder is shown and the messages are moved
to the MAIL folder after read. This makes it impossible to download
a message previously read with VMS Mail or to receive messages
with more than one POP client.
With this option set to TRUE the MAIL folder is shown instead. All messages
from the NEWMAIL folder is moved to the MAIL folder before opening.
If enabled, the IUPOP3_MAX_MESSAGES environment variable should be set to
a high value and the FAST_SCAN option should be enabled, too.
IUPOP3_PURGE_RECLAIM_THRESHOLD (numerical)
Defines the number of deleted message bytes required for a
purge/reclaim operation. During normal purge external message
files are deleted, but some data within mail.mai remains
unavailable. Purge/reclaim requires mail.mai be locked, so no mail
can be received during this operation. The default value is
32176 if the -purge_reclaim commandline option is set. A value
of 0 disables purge/reclaim.
IUPOP3_READ_DIRECT_THRESHOLD
Defines the max. file size in bytes where the callable mail
routines are used to process the file. Larger files are read
with ANSI-C functions. Default is zero, which means no threshold.
The callable mail routines read the whole file into memory,
even if it contains a lot of megabytes of stuff.
IUPOP3_DEFAULT_SENDBUFFER_SIZE
Defines the default buffer size in bytes which is allocated for
each active thread. Use a value between 1 kb and
128 kb (defined in iupop3_general.h). Default is 4 kb.
On sending large messages the send buffer is filled and queued to
the network driver. While the driver sends the buffer content,
another thread can be processed.
Up to 64 kb are queued in a single I/O to the network driver.
Miscellaneous Options
SYS$TIMEZONE_DIFFERENTIAL (numerical)
Contains the actual time offset to GMT in seconds. This logical is already part of newer
OpenVMS versions (>6.x at least). Remark: US sites have negative values.