17.5 The V Configuration Command
The V configuration command was added to V8
sendmail to prevent old versions of
configuration files from breaking when used with V8
sendmail. The syntax for the
V configuration command looks like this:
Vlevel V8.1 through V8.5
Vlevel/vendor V8.6 and above
We describe the level and
vendor parts in the next two sections.
17.5.1 The V Configuration Command's Level Part
The level is a positive integer. If
level is higher than the maximum allowed
for the current version, sendmail prints the
following warning and accepts the value:
Warning: .cf version level (lev) exceeds program functionality (max)
If level is less than 0 or if the
V configuration command is omitted, the default
level is 0.
The effects of the various version
levels are relatively minor. As sendmail
continues to develop, they might become more pronounced. Currently,
the version levels are as follows:
- 0
-
The check for a valid shell in /etc/shells is
ignored (Section 10.8.3).
- 0 through 1
-
MX records are looked up with the RES_DEFNAMES and RES_DNSRCH
cleared. The high bit is always stripped from the body of every mail
message.
- 2 and above
-
The sendmail program automatically adds a
-a. to the "host
host" database map (Section 23.4.3) declaration, if that database map
isn't declared in the configuration file.
RES_DEFNAMES and RES_DNSRCH are not turned off as they were for older
versions. Rule set 5 (Section 19.6) behavior is
enabled.
- 0 through 2
-
Sets the UseErrorsTo option (UseErrorsTo) to true automatically.
- 2 and above
-
Automatically sets the $w
sendmail macro ($w) to
be the short name instead of the fully qualified local hostname
($j, $j, still contains
the fully qualified name and $m, $m, the local domain).
- 3 and above
-
You can use the V8 form of comments.
- 0 through 5
-
For V8.7 and above sendmail, level 5 or lower
causes the F=5Aw:|/@ flags (Section 20.8) to automatically be set for the
local delivery agent (See this section) and the F=o flag (F=o) to automatically be set for the
prog (See this section) and
*file* (*file* and *include*) delivery
agents.
- 0 through 5
-
Looking up MX records with HasWildcardMX listed
with the ResolverOptions option (ResolverOptions) causes RES_QUERY to be used in place of
RES_SEARCH. Defaults the ColonOkInAddr option
(ColonOkInAddr) to false.
- 0 through 6
-
Sets the SmtpGreetingMessage option (SmtpGreetingMessage) with the value of $e
(SmtpGreetingMessage) if $e has a value.
Sets the OperatorChars option (OperatorChars) with the value of $o
(OperatorChars) if $o has a value.
- 7
-
The version shipped with V8.8 sendmail. Added
that a version 6 or less causes the F=q flag
(F=q) for the local
(See this section), prog (See this section), and *file* (*file* and *include*) delivery agents to be automatically set.
- 8
-
The version shipped with V8.9 sendmail. Added
the first antispam rule sets to the configuration file.
- 9
-
Beginning with V8.10 sendmail, a version of 9 or
higher causes the parenthetical comment in rules to be retained
(Section 18.2.2).
- 10
-
The version shipped with V8.12 sendmail. Added
the authinfo feature (FEATURE(authinfo)). Added -T<TMPF> for
access database (Section 7.5.1)
temporary lookup errors, and delivery agents no longer need numbered
rule sets (R= and S=).
17.5.2 The V Configuration Command's Vendor Part
Beginning
with V8.6 sendmail, the
level for the version command can be followed by
the identity of the vendor. The form of that declaration looks like
this:
Vlevel/vendor V8.6 and above
The / must immediately follow the
level with no intervening space. There can
be arbitrary space between the / and the
vendor. The string that is the vendor
specification can be either of the following:
- Sendmail
-
This is the commercial version of sendmail sold
by Sendmail, Inc.
- Berkeley
-
This is a configuration file based
on the BSD distribution and is the one you get when you build and
install from the source. As of V8.8, this declaration does nothing.
If you use this configuration file with another
vendor's version of sendmail,
the Berkeley tells the other version that you are
using a configuration file based on the open source.
- Sun
-
This is a configuration file
intended for use with Sun's release of
sendmail. If it is declared and if you are
running Sun's sendmail,
Sun-specific enhancements become available to you. If you are not
running Sun's sendmail, an
error is printed.
- HP, IBM, DEC, etc.
-
Beginning with V8.12, other vendors, such as IBM, now add their own
vendor designation to the V configuration command.
If any unrecognized string appears in the
vendor part, sendmail
will print the following error and ignore that vendor declaration:
invalid V line vendor code: bad vendor name here
Note that vendors other than those shown might have customized their
sendmail too, so this might not be a complete
list.
|