-
When
sendmail
collects addresses, it discards duplicates.
Prior to V8
sendmail
,
program entries in a
~/.forward
file had to be unique; otherwise,
an identical entry in another user's
~/.forward
caused
one or the other to be ignored. Usually, this is solved by requiring
the program to take an argument. If the program won't accept an
argument, add a shell comment inside the quotes.
-
The database forms of the
aliases
(5) file contain binary
integers. As a consequence, those database files cannot be
shared via network-mounted file systems by machines of differing
architectures. This has been fixed with V8
sendmail
,
which can use the 4.4
BSD
UNIX
db
(3) form of database.
-
As network-mounted file systems become increasingly common, the likelihood
that a user's home directory will be
temporarily
unavailable
increases. Prior to V8
sendmail
this problem was not handled
well. Instead of queueing mail until a user's home
directory could be accessed,
sendmail
wrongly assumed that the
~/.forward
didn't exist. This caused mail to be delivered
locally when it should have been forwarded to another site.
This can be fixed by using the
ForwardPath
(
J
) option (see
Section 34.8.27
)
of V8
sendmail
.
-
Prior to V8
sendmail
there was no way to disable user forwarding via
~/.forward
files. At sites with proprietary or confidential information
there was no simple way to prevent local users from arbitrarily
forwarding confidential mail offsite.
But
~/.forward
files can be centrally administered
by using the
ForwardPath
(
J
) option (see
Section 34.8.27
)
of V8
sendmail
, even to the point of
completely disabling forwarding with
OJ/dev/null
.
-
Programs run from
~/.forward
files should take care to
clear or reset all untrusted environment variables.
Only V8 properly presets the environment.
-
If a user's
~/.forward
file evaluates to an empty address,
the mail will be silently discarded. This has been fixed in
IDA and V8
sendmail
.
-
A program run from a
~/.forward
file is always run on the
machine running
sendmail
. That machine is not necessarily the same
as the machine housing the
~/.forward
file. When user home
directories are network-mounted, it is possible that one machine
may support the program (such as
/usr/ucb/vacation
), while another
may lack the program or call it something else (such as
/usr/bsd/vacation
). Note that if
smrsh
(1) is used, the
path is ignored.