home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Previous Section Next Section

F=w

Check for valid user identity V8.7 and above

The sendmail program uses the getpwnam(3) routine (and can use others, such as LDAP) to determine whether a local address corresponds to a local account. If it does, the home directory for the user is copied into $z ($z). Then the full name of the user is extracted from the GECOS field of the passwd(5) file and placed into $x ($x).

Beginning with V8.7 sendmail, the information in the passwd(5) file is looked up only if the F=w delivery agent flag is set for the recipient's delivery agent. In general, it must be present (set) for the local and any local-clone delivery agents but should be absent for all other delivery agents. For configuration files of levels lower than 6 (Section 17.5), the F=w delivery agent flag is automatically set for the local delivery agent.

Omitting the F=w delivery agent flag has several consequences:

  • The recipient's home directory is not looked up, and all user-level forwarding is prevented. Note that this voids all forwarding, even if the user's home is defined as part of the ForwardPath option (ForwardPath).

  • The user's full name is not looked up in the GECOS field of the passwd(5) file (the setting of the MatchGECOS option, MatchGECOS, is ignored).

  • The user-id and group-id of the recipient become unavailable, so the identity of the controlling user cannot be set to that of the recipient.

Note that if you are using Unix V7-style mailboxes (as with /bin/mail), this delivery agent flag should be considered mandatory for local and local clones. If you are using blackbox-style mailboxes (as with cyrus), this flag is meaningless because usernames are not passed, and so should be omitted. If you want to cancel forwarding, use the ForwardPath option. Attempting to cancel forwarding by omitting the F=w delivery agent flag can have unpredictable side effects that might cause mail to fail.

    Previous Section Next Section