7 /* initialize message delivery attributes
11 /* void deliver_attr_init(attrp)
12 /* DELIVER_ATTR *attrp;
14 /* void deliver_attr_dump(attrp)
15 /* DELIVER_ATTR *attrp;
17 /* void deliver_attr_free(attrp)
18 /* DELIVER_ATTR *attrp;
20 /* deliver_attr_init() initializes a structure with message delivery
21 /* attributes to a known initial state (all zeros).
23 /* deliver_attr_dump() logs the contents of the given attribute list.
25 /* deliver_attr_free() releases memory that was allocated by
26 /* deliver_attr_init().
30 /* The Secure Mailer license must be distributed with this software.
33 /* IBM T.J. Watson Research
35 /* Yorktown Heights, NY 10598, USA
43 /* Utility library. */
49 /* Application-specific. */
53 /* deliver_attr_init - set message delivery attributes to all-zero state */
55 void deliver_attr_init(DELIVER_ATTR
*attrp
)
59 attrp
->queue_name
= 0;
63 RECIPIENT_ASSIGN(&(attrp
->rcpt
), 0, 0, 0, 0, 0);
74 attrp
->why
= dsb_create();
77 /* deliver_attr_dump - log message delivery attributes */
79 void deliver_attr_dump(DELIVER_ATTR
*attrp
)
81 msg_info("level: %d", attrp
->level
);
82 msg_info("path: %s", VSTREAM_PATH(attrp
->fp
));
83 msg_info("fp: 0x%lx", (long) attrp
->fp
);
84 msg_info("queue_name: %s", attrp
->queue_name
? attrp
->queue_name
: "null");
85 msg_info("queue_id: %s", attrp
->queue_id
? attrp
->queue_id
: "null");
86 msg_info("offset: %ld", attrp
->rcpt
.offset
);
87 msg_info("sender: %s", attrp
->sender
? attrp
->sender
: "null");
88 msg_info("recipient: %s", attrp
->rcpt
.address
? attrp
->rcpt
.address
: "null");
89 msg_info("domain: %s", attrp
->domain
? attrp
->domain
: "null");
90 msg_info("local: %s", attrp
->local
? attrp
->local
: "null");
91 msg_info("user: %s", attrp
->user
? attrp
->user
: "null");
92 msg_info("extension: %s", attrp
->extension
? attrp
->extension
: "null");
93 msg_info("unmatched: %s", attrp
->unmatched
? attrp
->unmatched
: "null");
94 msg_info("owner: %s", attrp
->owner
? attrp
->owner
: "null");
95 msg_info("delivered: %s", attrp
->delivered
? attrp
->delivered
: "null");
96 msg_info("relay: %s", attrp
->relay
? attrp
->relay
: "null");
97 msg_info("exp_type: %d", attrp
->exp_type
);
98 msg_info("exp_from: %s", attrp
->exp_from
? attrp
->exp_from
: "null");
99 msg_info("why: %s", attrp
->why
? "buffer" : "null");
102 /* deliver_attr_free - release storage */
104 void deliver_attr_free(DELIVER_ATTR
*attrp
)
106 dsb_free(attrp
->why
);