Cover | Table of Contents | Colophon
8.13.0/8.13.0 2004/06/20
SECURITY: Some security matter was fixed, and the description of
that fix will appear here.
This item describes a change made to the sendmail binary.
LIBMILTER: This documents a change made to one of the files in the
libmilter directory.|
Keyword
|
Description
|
|---|---|
SECURITY: |
This type of information is usually very important. You should read
it first, as it contains information about a security matter and may
involve some vital action. |
8.13.0/8.13.0 2004/06/20
SECURITY: Some security matter was fixed, and the description of
that fix will appear here.
This item describes a change made to the sendmail binary.
LIBMILTER: This documents a change made to one of the files in the
libmilter directory.|
Keyword
|
Description
|
|---|---|
SECURITY: |
This type of information is usually very important. You should read
it first, as it contains information about a security matter and may
involve some vital action.
|
NOTICE: |
This documents something you need to be aware of, usually an
important change that might otherwise be overlooked.
|
none |
This item documents the sendmail binary.
|
% rnote RELEASE_NOTES | more
# include <stdio.h>
# include <ctype.h>
# include <stdlib.h>
# include <strings.h>
# include <errno.h>
int
main(int argc, char **argv)
{
char *c, *cp, *prefix = NULL;
FILE *fp;
char buf[BUFSIZ];
if (argc != 2)
{
(void) printf("Usage: rnote RELEASE_NOTES\n");
exit(EINVAL);
}
if ((fp = fopen(argv[1], "r")) == NULL)
{
(void) fprintf(stderr, "rnote: %s: %s\n",
argv[1], strerror(errno));
(void) exit(errno);
}
while ((cp = fgets(buf, BUFSIZ, fp)) != NULL)
{
if (isdigit((int)*cp))
{
if ((c = strchr(cp, '/')) != NULL)
{
*c = '\0';
if (prefix != NULL)
(void) free(prefix);
prefix = strdup(cp);
continue;
}
}
if (prefix == NULL)
continue;
(void) printf("%-7.7s%s", prefix, cp);
}
if (ferror(fp))
{
(void) fprintf(stderr, "rnote: %s: %s\n",
argv[1], strerror(errno));
(void) exit(errno);
}
return 0;
}8.12.11). Everything
following the first slash character is removed
and the result becomes the new prefix
for all following file lines. Each line of
the file is then prefixed with the release that created it and
printed.confMSP_STFILE
Build m4-macro (Section 2.1.1
[V8.13]).confMSP_STFILE
Build macro
may be used to define a new name under which the
statistics file
(24.9.106[3ed]) used by the MSP
(2.6.2.4[3ed]) invocation of
sendmail can be installed.
It is used like this:
define(`confMSP_STFILE´, `mspstats´)
mspstats
will be installed in the default directory
/var/spool/clientmqueue (unless you redefine the
default directory using the confMSP_QUEUE_DIR
(2.8.37[3ed]) Build
macro). The default name for this statistics file is
sm-client.st.# cd cf/cf ... edit the submit.mc file here # make install-submit-cf ... the submit.cf file is recreated and installed
make
submit.cf rather
than make
install-submit-cf if
you want to check the result before installation.-c command-line switch
(5.4.4.1[3ed]), which is used to print the
contents of this statistics file.confMSP_STFILE
Build m4-macro (Section 2.1.1
[V8.13]).confMSP_STFILE
Build macro
may be used to define a new name under which the
statistics file
(24.9.106[3ed]) used by the MSP
(2.6.2.4[3ed]) invocation of
sendmail can be installed.
It is used like this:
define(`confMSP_STFILE´, `mspstats´)
mspstats
will be installed in the default directory
/var/spool/clientmqueue (unless you redefine the
default directory using the confMSP_QUEUE_DIR
(2.8.37[3ed]) Build
macro). The default name for this statistics file is
sm-client.st.# cd cf/cf ... edit the submit.mc file here # make install-submit-cf ... the submit.cf file is recreated and installed
make
submit.cf rather
than make
install-submit-cf if
you want to check the result before installation.-c command-line switch
(5.4.4.1[3ed]), which is used to print the
contents of this statistics file.|
File/Directory
|
sendmail text reference
|
Description
|
|---|---|---|
|
Build
|
2.2.1.1[3ed]
|
A top-level Build script
|
|
CACerts
|
[V8.13]
|
A list of CA certificates used by members of the sendmail consortium
|
|
cf
|
4.2[3ed]
|
Top of the tree for building a configuration file
|
|
contrib
|
2.2.1.2[3ed]
|
SOCKETMAP compile-time macro enables use
of the new socket database-map type (Section 3.1.1
[V8.13]).SM_CONF_LDAP_INITIALIZE compile-time macro
(Section 3.1.2
[V8.13]) if
set, declares that the ldap_initialize(3)
routine exists in your LDAP library.NEEDINTERRNO compile-time macro, if set,
says that errno is not declared in your
system's errno.h file.SM_CONF_POLL compile-time macro causes
poll(2) to be used instead of
select(2) in the Milter library.HASCLOSEFROM compile-time macro may be
defined if your system has the closefrom(3)
C-library function.HASFDWALK compile-time macro may be
defined if your system has the fdwalk(3)
C-library function.SOCKETMAP compile-time macro
enables
use of the new socket database-map type (Section 23.1.5
[V8.13]). Define
SOCKETMAP inside your Build
m4 file with a line like this:
APPENDDEF(`confMAPDEF´, `-DSOCKETMAP´)
SOCKETMAP
support by running a command like the following:% /usr/sbin/sendmail -bt -d0.4 < /dev/null | grep SOCKETMAP
SOCKETMAP,
you indeed have support for it. If not, you will either need to
contact your vendor or download and build open source
sendmail.LDAPMAP defined
(3.4.19[3ed]), LDAP database-maps are
available for use. If the LDAP library contains an
ldap_initialize( ) routine, and if this
SM_CONF_LDAP_INITIALIZE macro is defined,
SOCKETMAP compile-time macro enables use
of the new socket database-map type (Section 3.1.1
[V8.13]).SM_CONF_LDAP_INITIALIZE compile-time macro
(Section 3.1.2
[V8.13]) if
set, declares that the ldap_initialize(3)
routine exists in your LDAP library.NEEDINTERRNO compile-time macro, if set,
says that errno is not declared in your
system's errno.h file.SM_CONF_POLL compile-time macro causes
poll(2) to be used instead of
select(2) in the Milter library.HASCLOSEFROM compile-time macro may be
defined if your system has the closefrom(3)
C-library function.HASFDWALK compile-time macro may be
defined if your system has the fdwalk(3)
C-library function.SOCKETMAP compile-time macro
enables
use of the new socket database-map type (Section 23.1.5
[V8.13]). Define
SOCKETMAP inside your Build
m4 file with a line like this:
APPENDDEF(`confMAPDEF´, `-DSOCKETMAP´)
SOCKETMAP
support by running a command like the following:% /usr/sbin/sendmail -bt -d0.4 < /dev/null | grep SOCKETMAP
SOCKETMAP,
you indeed have support for it. If not, you will either need to
contact your vendor or download and build open source
sendmail.LDAPMAP defined
(3.4.19[3ed]), LDAP database-maps are
available for use. If the LDAP library contains an
ldap_initialize( ) routine, and if this
SM_CONF_LDAP_INITIALIZE macro is defined,
ldap_initialize( ) is called if your LDAP server
supports direct use of URIs.SM_CONF_LDAP_INITIALIZE is not set, but the
scheme:// in
(scheme://host:port/...) is ignored. Therefore, if
SM_CONF_LDAP_INITIALIZE is not available, the
scheme ldap:// is always used, but the schemes
ldaps:// and ldapi://, if used,
may result in an error.|
Compile-time macro
|
sendmail text reference
|
Description
|
|---|---|---|
ARBPTR_T |
3.4.68[3ed]
|
How to cast an arbitrary pointer
|
AUTO_NIS_ALIASES |
3.4.1[3ed]
|
Add fallback alias techniques
|
BROKEN_RES_SEARCH |
3.4.17[3ed]
|
Broken resolver fix (e.g., Ultrix)
|
BSD4_3 |
3.4.2[3ed]
|
BSD 4.3-style signal handling
|
BSD4_4 |
3.4.3[3ed]
|
Compile for BSD 4.4 Unix
|
DATA_PROGRESS_TIMEOUT |
3.4.4[3ed]
|
Timeout inbound DATA phase
|
DNSMAP |
3.4.5[3ed]
|
Enable use of dns databases
|
DSN |
confREJECT_LOG_INTERVAL
mc
macro (Section 4.1.1
[V8.13]) sets the
new RejectLogInterval option (Section 24.1.11
[V8.13]). It
specifies how often a message advising that connections are still
being refused should be logged.confREQUIRES_DIR_FSYNC
mc
macro (Section 4.1.2
[V8.13]) sets the
new RequiresDirfsync option (Section 24.1.12
[V8.13]). It causes
sendmail to change the effect if the
compile-time flag REQUIRES_DIR_FSYNC
(3.4.47[3ed]) at runtime.confCONNECTION_RATE_WINDOW_SIZE
mc
macro (Section 4.1.3
[V8.13]) sets the
new ConnectionRateWindowSize option (Section 24.1.13
[V8.13]). It defines
the window of time over which a count of the number of connections is
maintained in order to enable connection rate-control.confTO_QUEUERETURN_DSN
mc macro (Section 4.1.4[V8.13])
adds a
new timeout to the
Timeout.queuereturn option
(24.9.109.18[3ed]). This affects only
normal DSN messages.confTO_QUEUEWARN_DSN
mc macro (Section 4.1.5[V8.13])
adds a new timeout to the
Timeout.queuewarn option
(24.9.109.19[3ed]). This affects only
normal DSN messages.nodns feature (4.8.29[3ed]) has been
removed. It was present prior to V8.13,
but has done nothing since V8.9. If you wish to disable DNS, use your
service-switch file (24.9.100confREJECT_LOG_INTERVAL
mc
macro (Section 4.1.1
[V8.13]) sets the
new RejectLogInterval option (Section 24.1.11
[V8.13]). It
specifies how often a message advising that connections are still
being refused should be logged.confREQUIRES_DIR_FSYNC
mc
macro (Section 4.1.2
[V8.13]) sets the
new RequiresDirfsync option (Section 24.1.12
[V8.13]). It causes
sendmail to change the effect if the
compile-time flag REQUIRES_DIR_FSYNC
(3.4.47[3ed]) at runtime.confCONNECTION_RATE_WINDOW_SIZE
mc
macro (Section 4.1.3
[V8.13]) sets the
new ConnectionRateWindowSize option (Section 24.1.13
[V8.13]). It defines
the window of time over which a count of the number of connections is
maintained in order to enable connection rate-control.confTO_QUEUERETURN_DSN
mc macro (Section 4.1.4[V8.13])
adds a
new timeout to the
Timeout.queuereturn option
(24.9.109.18[3ed]). This affects only
normal DSN messages.confTO_QUEUEWARN_DSN
mc macro (Section 4.1.5[V8.13])
adds a new timeout to the
Timeout.queuewarn option
(24.9.109.19[3ed]). This affects only
normal DSN messages.nodns feature (4.8.29[3ed]) has been
removed. It was present prior to V8.13,
but has done nothing since V8.9. If you wish to disable DNS, use your
service-switch file (24.9.100[3ed]).define method. For example:define(`ALIAS_FILE´, `/etc/mail/aliases´)
CANONIFY_DOMAIN_FILE(`/etc/mail/canonify-domains´)
ALIAS_FILE
use with define( )
CANONIFY_DOMAIN_FILE( )
use by itself
|
Item
|
sendmail text reference
|
Description
|
|---|---|---|
ALIAS_FILE |
24.9.1[3ed]
|
Define the location of the aliases files
|
BITNET_RELAY |
21.9.11[3ed]
|
Define the BITNET relay host
|
CANONIFY_DOMAIN( ) |
4.8.28[3ed]
|
Add a value to the
$={Canonify} class |
CANONIFY_DOMAIN_FILE( ) |
4.8.28[3ed]
|
Add values to the
$={Canonify} class from a file |
CLIENT_OPTIONS( ) |
24.9.17[3ed]
|
Define client port option settings |
-D command-line
switch (Section 5.1.2[V8.13])
allows
you to define an alternative to # as a comment
character.-j
command-line
switch
(Section 5.1.3
[V8.13])
allows vacation to respond to messages, even if
a user's name does not appear in a
To: or Cc: header.-R
command-line
switch
(Section 5.1.4
[V8.13])
allows you to redefine the envelope-sender address from
<> to one of your own choice.msgsdis column). Beginning with V8.13, a new
rightmost column has been added (called msgsqur)
that shows the number of messages that have been quarantined:# mailstats
Statistics from Sun Apr 6 09:47:44 2003
M msgsfr bytes_from msgsto bytes_to msgsrej msgsdis msgsqur Mailer
0 0 0K 15544 46975K 0 0 0 prog
3 678 9590K 0 0K 62 0 0 local
5 21430 264395K 1055 2082K 12969 0 0 esmtp
=====================================================================
T 22108 273985K 16599 49057K 13031 0 0
C 28551 1980 13031-D command-line
switch (Section 5.1.2[V8.13])
allows
you to define an alternative to # as a comment
character.-j
command-line
switch
(Section 5.1.3
[V8.13])
allows vacation to respond to messages, even if
a user's name does not appear in a
To: or Cc: header.-R
command-line
switch
(Section 5.1.4
[V8.13])
allows you to redefine the envelope-sender address from
<> to one of your own choice.msgsdis column). Beginning with V8.13, a new
rightmost column has been added (called msgsqur)
that shows the number of messages that have been quarantined:# mailstats
Statistics from Sun Apr 6 09:47:44 2003
M msgsfr bytes_from msgsto bytes_to msgsrej msgsdis msgsqur Mailer
0 0 0K 15544 46975K 0 0 0 prog
3 678 9590K 0 0K 62 0 0 local
5 21430 264395K 1055 2082K 12969 0 0 esmtp
=====================================================================
T 22108 273985K 16599 49057K 13031 0 0
C 28551 1980 13031|
Switch
|
sendmail text reference
|
Description
|
|---|---|---|
-A
|
5.1.1[3ed]
|
Show the architecture for the build
|
-c
|
5.1.2[3ed]
|
Clean out an existing object tree
|
-E
|
5.1.3[3ed]
|
Pass environment variables to Build
|
-f
|
5.1.4[3ed]
|
RequiresDirfsync option (Section 24.1.12
[V8.13]) turns off
the REQUIRES_DIR_FSYNC (3.4.47[3ed]) compile-time
macro's setting at
runtime. Turning off directory fsyncs increases
performance—but at (possibly) increased risk.PostMilter setting that delays
fsync( )ing the df file
until after all Milters have reviewed the message. This improves
performance when a great deal of email is rejected by Milters that
review the message body.Timeout.queuereturn.dsn (Section 24.1.15[V8.13])
and
Timeout.queuewarn.dsn (Section 24.1.16
[V8.13]) options
have been added. Use them to lower bounce timeouts, and thereby to
create less congested queues and increase performance.P=[LPC] equate (20.5.11[3ed]) to achieve this
effect. Beginning
with V8.13,
sendmail enables connection caching
(24.7.5[3ed]) for such delivery agents,
thereby increasing delivery performance.logging,noatime
logging causes transactions (such as
creating and deleting files) to be stored in a log before they are
applied to the disk. Once a transaction is logged, it can be applied
to the underlying disk layout later. This speeds up disk I/O and can
help a machine to reboot faster.RequiresDirfsync option (Section 24.1.12
[V8.13]) turns off
the REQUIRES_DIR_FSYNC (3.4.47[3ed]) compile-time
macro's setting at
runtime. Turning off directory fsyncs increases
performance—but at (possibly) increased risk.PostMilter setting that delays
fsync( )ing the df file
until after all Milters have reviewed the message. This improves
performance when a great deal of email is rejected by Milters that
review the message body.Timeout.queuereturn.dsn (Section 24.1.15[V8.13])
and
Timeout.queuewarn.dsn (Section 24.1.16
[V8.13]) options
have been added. Use them to lower bounce timeouts, and thereby to
create less congested queues and increase performance.P=[LPC] equate (20.5.11[3ed]) to achieve this
effect. Beginning
with V8.13,
sendmail enables connection caching
(24.7.5[3ed]) for such delivery agents,
thereby increasing delivery performance.logging,noatime
logging causes transactions (such as
creating and deleting files) to be stored in a log before they are
applied to the disk. Once a transaction is logged, it can be applied
to the underlying disk layout later. This speeds up disk I/O and can
help a machine to reboot faster.noatime prevents inodes from being updated
each time a file is read. This eliminates a disk write that has no
significant value. The speed increase will be most noticeable when
many queued files are being retried in parallel.confREJECT_MSG
mc macro
no longer
auto-inserts quotation marks around
its value (Section 7.1.1
[V8.13]).check_relay ruleset
(7.1.1[3ed]) is now called with the value
of ${client_name} macro (21.9.20[3ed]) so that it
can deal with bogus DNS entries (Section 9.1.2
[V8.13]).greet_pause feature allows
protection from SMTP slamming
(Section 7.1.3
[V8.13]).mtamark
feature implements MTA marking by
looking up TXT records in the in-addr.arpa domain
(Section 7.1.4
[V8.13]).use_client_ptr feature (Section 7.1.5[V8.13]) causes the
check_relay rule set to use the
${client_ptr} macro as its first argument.confREJECT_MSG
mc macro
was declared in
cf/proto.m4, in part, like this:ifdef(`confREJECT_MSG´, `$: "confREJECT_MSG"´, `$@ 5.7.1 $: "550 Access denied"´)confREJECT_MSG
mc macro
no longer
auto-inserts quotation marks around
its value (Section 7.1.1
[V8.13]).check_relay ruleset
(7.1.1[3ed]) is now called with the value
of ${client_name} macro (21.9.20[3ed]) so that it
can deal with bogus DNS entries (Section 9.1.2
[V8.13]).greet_pause feature allows
protection from SMTP slamming
(Section 7.1.3
[V8.13]).mtamark
feature implements MTA marking by
looking up TXT records in the in-addr.arpa domain
(Section 7.1.4
[V8.13]).use_client_ptr feature (Section 7.1.5[V8.13]) causes the
check_relay rule set to use the
${client_ptr} macro as its first argument.confREJECT_MSG
mc macro
was declared in
cf/proto.m4, in part, like this:ifdef(`confREJECT_MSG´, `$: "confREJECT_MSG"´, `$@ 5.7.1 $: "550 Access denied"´)|
Feature
|
sendmail text reference
|
Description
|
|---|---|---|
access_db
|
7.5[3ed]
|
Screen addresses and set policy
|
loose_relay_check
|
7.4.2[3ed]
|
Allow percent-hack relaying
|
promiscuous_relay
|
7.4.3[3ed]
|
Allow all relaying
|
relay_based_on_MX
|
7.4.4[3ed]
|
Relay for any site for which you are an MX server
|
relay_entire_domain
|
7.4.5[3ed]
|
-bt command-line switch causes
sendmail to run in rule-testing mode.|
Command
|
sendmail text reference
|
Description
|
|---|---|---|
.D
|
8.2.1[3ed]
|
Give a macro a value
|
.C
|
8.2.2[3ed]
|
Add a value to a class
|
=S
|
8.4.1[3ed]
|
Show a rule set's rules
|
=M
|
8.4.2[3ed]
|
List all delivery agents
|
-d
|
16.1[3ed]
|
Turn debugging on or off
|
$
|