X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=postfix.h;h=d24dcbb7ab625ab0a62f84057fd5202cfffe4ec1;hb=e826fd379421938f920e7e51d2a34bf4eb3483a0;hp=ea8fffb1c78eef39f9da04d5818e1bbb705545e1;hpb=59c1f51ef38081d87885a37873545154c7a23e2d;p=apps%2Fpfixtools.git diff --git a/postfix.h b/postfix.h index ea8fffb..d24dcbb 100644 --- a/postfix.h +++ b/postfix.h @@ -36,4 +36,50 @@ #ifndef POSTLICYD_POSTFIX_H #define POSTLICYD_POSTFIX_H +#include "buffer.h" + +/* \see http://www.postfix.org/SMTPD_POLICY_README.html */ +typedef struct query_t { + unsigned state : 4; + unsigned esmtp : 1; + + const char *helo_name; + const char *queue_id; + const char *sender; + const char *recipient; + const char *recipient_count; + const char *client_address; + const char *client_name; + const char *rclient_name; + const char *instance; + + /* postfix 2.2+ */ + const char *sasl_method; + const char *sasl_username; + const char *sasl_sender; + const char *size; + const char *ccert_subject; + const char *ccert_issuer; + const char *ccsert_fingerprint; + + /* postfix 2.3+ */ + const char *encryption_protocol; + const char *encryption_cipher; + const char *encryption_keysize; + const char *etrn_domain; + + buffer_t data; +} query_t; + +static inline query_t *query_init(query_t *rq) { + p_clear(rq, 1); + buffer_init(&rq->data); + return rq; +} +static inline void query_wipe(query_t *rq) { + buffer_wipe(&rq->data); +} +DO_NEW(query_t, query); +DO_DELETE(query_t, query); + #endif