/* * Copyright (c) 2005 Sendmail, Inc. and its suppliers. * All rights reserved. * * By using this file, you agree to the terms and conditions set * forth in the LICENSE file which can be found at the top level of * the sendmail distribution. * * $Id: pmfdef.h,v 1.9 2007/02/03 18:20:38 ca Exp $ */ #ifndef PMFDEF_H #define PMFDEF_H 1 #include "sm/generic.h" #include "sm/smmts.h" #include "sm/hdrmoddef.h" /* pmilter (global) context */ typedef struct pmg_ctx_S pmg_ctx_T, *pmg_ctx_P; /* pmilter context per SMTP server */ typedef struct pmss_ctx_S pmss_ctx_T, *pmss_ctx_P; /* pmilter session context */ typedef struct pmse_ctx_S pmse_ctx_T, *pmse_ctx_P; /* pmilter application context */ typedef struct pmilter_S pmilter_T, *pmilter_P; /* macros that can be sent by the MTA to a pmilter */ #define PMM_END 0x0000 /* end of macro list */ #define PMM_SRVHOSTNAME 0x0001 /* hostname of server */ #define PMM_SEID 0x0010 /* session id */ #define PMM_CLIENT_RESOLVE 0x0011 /* result of client lookups */ #define PMM_TLS_VERSION 0x0020 #define PMM_TLS_CIPHER_SUITE 0x0021 #define PMM_TLS_CIPHER_BITS 0x0022 #define PMM_TLS_CERT_SUBJECT 0x0023 #define PMM_TLS_CERT_ISSUER 0x0024 #define PMM_TLS_ALG_BITS 0x0025 #define PMM_TLS_VRFY 0x0026 #define PMM_TLS_CN_SUBJECT 0x0027 #define PMM_TLS_CN_ISSUER 0x0028 #define PMM_AUTH_TYPE 0x0030 #define PMM_AUTH_AUTHEN 0x0031 #define PMM_AUTH_AUTHOR 0x0032 #define PMM_MAIL_TAID 0x0040 /* transaction id */ #define PMM_DOT_MSGID 0x0080 #define PMM_DOT_HOPS 0x0100 /* hop count $c */ /* stages when to send a macro */ #define PM_SMST_CONNECT 0 #define PM_SMST_EHLO 1 #define PM_SMST_MAIL 2 #define PM_SMST_RCPT 3 #define PM_SMST_DATA 4 #define PM_SMST_DOT 5 #define PM_SMST_MAX 6 /* max number of stages */ #define PM_MAX_MACROS 8 /* max. number of macro per stage */ /* recipient modification, none of these must be 0! */ #define PM_RCPT_ADD 0x01 #define PM_RCPT_DEL 0x02 /* see also smtps/pmilter.h, PM_RCPT_* */ #endif /* ! PMFDEF_H */