Plug the postfix policy query parsing again.
[apps/pfixtools.git] / policy.h
index 077b045..632baf8 100644 (file)
--- a/policy.h
+++ b/policy.h
 #ifndef PFIXTOOLS_POLICY_H
 #define PFIXTOOLS_POLICY_H
 
-#include <stddef.h>
-
-#include "buffer.h"
-
-enum smtp_state {
-    SMTP_UNKNOWN,
-    SMTP_CONNECT,
-    SMTP_EHLO,
-    SMTP_HELO = SMTP_EHLO,
-    SMTP_MAIL,
-    SMTP_RCPT,
-    SMTP_DATA,
-    SMTP_END_OF_MESSAGE,
-    SMTP_VRFY,
-    SMTP_ETRN,
-};
-
-/* \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) {
-    memset(rq, 0, offsetof(query_t, data));
-    buffer_init(&rq->data);
-    return rq;
-}
-static inline query_t *query_reset(query_t *rq) {
-    memset(rq, 0, offsetof(query_t, data));
-    buffer_reset(&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);
-
-
 void *policy_run(int fd, void *);
 
 #endif