* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 2014 */
+/* Copyright (c) University of Cambridge 1995 - 2015 */
/* See the file NOTICE for conditions of use and distribution. */
typedef struct bit_table {
uschar *name;
- unsigned int bit;
+ int bit;
} bit_table;
/* Block for holding a uid and gid, possibly unset, and an initgroups flag. */
+typedef struct {
+ uschar *request;
+ uschar *require;
+} dnssec_domains;
+
/* Structure for holding information about the configured routers. */
typedef struct router_instance {
transport_instance *transport; /* Transport block (when found) */
struct router_instance *pass_router; /* Actual router for passed address */
struct router_instance *redirect_router; /* Actual router for generated address */
- uschar *dnssec_request_domains; /* ask for DNSSEC XXX */
- uschar *dnssec_require_domains; /* require DNSSEC XXX */
+
+ dnssec_domains dnssec;
} router_instance;
uschar *self_hostname; /* after self=pass */
uschar *shadow_message; /* info about shadow transporting */
- #ifdef SUPPORT_TLS
+#ifdef SUPPORT_TLS
uschar *cipher; /* Cipher used for transport */
void *ourcert; /* Certificate offered to peer, binary */
void *peercert; /* Certificate from peer, binary */
uschar *peerdn; /* DN of server's certificate */
int ocsp; /* OCSP status of peer cert */
- #endif
+#endif
+
+#ifdef EXPERIMENTAL_DSN_INFO
+ const uschar *smtp_greeting; /* peer self-identification */
+ const uschar *helo_response; /* peer message */
+#endif
uschar *authenticator; /* auth driver name used by transport */
uschar *auth_id; /* auth "login" name used by transport */