Arguments Passed to checkcompat( )

The checkcompat( ) is found in the C-language source file sendmail/conf.c. Inside that file you will find it declared like this:

checkcompat(to, e)
        register ADDRESS *to;
        register ENVELOPE *e;

Here, to is a pointer to a structure of typedef ADDRESS which contains information about the recipient. And e is a pointer to a structure of typedef ENVELOPE which contains information about the current envelope. (Actually, both are linked lists of structures.)

The members of the ADDRESS *to structure are shown in Table C-1. Note that these members are correct for V8.14 sendmail only. Also note that the table shows only those members that can be useful in a checkcompat( ) routine (see sendmail.h for the other members of *to).

Table C-1. ADDRESS *to members

Type

Member

Description

struct address *

q_alias

The alias that yielded this address

char *

q_finalrcpt

This is a Final-Recipient: DSN header

unsigned long

q_flags

Address flags

char *

q_fullname

The (GECOS) full name of q_ruser, if known

gid_t

q_gid

The gid of the q_ruser, if known

char *

q_home

The home directory (path), if F=w delivery-agent flag is set

char *

q_host

The host part ($@) from rule set 0

struct mailer *

q_mailer

The delivery agent ($#) from rule set 0

char *

q_message

Message regarding address (not always an error)

struct address *

q_next

Link to the next ADDRESS in the chain

char *

q_orcpt

The ORCPT parameter from RCPT TO: line was set

char *

q_owner

Get sendmail, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.