TLS resumption: restrict session re-use
[exim.git] / src / src / structs.h
index a6ba95f95ce5db315f896840357e60a779ecd5e4..9bf3aebe2fa1152d9a3a96c6fad10b84ec7551c0 100644 (file)
@@ -133,11 +133,15 @@ typedef struct driver_instance {
   uschar *name;                   /* Instance name */
   struct driver_info *info;       /* Points to info for this driver */
   void   *options_block;          /* Pointer to private options */
+
   uschar *driver_name;            /* All start with this generic option */
+  const uschar *srcfile;         /* and config source info for errors */
+  int    srcline;
 } driver_instance;
 
 typedef struct driver_info {
   uschar *driver_name;            /* Name of driver */
+
   optionlist *options;            /* Table of private options names */
   int    *options_count;          /* -> Number of entries in table */
   void   *options_block;          /* Points to default private block */
@@ -159,6 +163,9 @@ typedef struct transport_instance {
   struct transport_info *info;    /* Info for this driver */
   void *options_block;            /* Pointer to private options */
   uschar *driver_name;            /* Must be first */
+  const uschar *srcfile;
+  int    srcline;
+
   int   (*setup)(                 /* Setup entry point */
     struct transport_instance *,
     struct address_item *,
@@ -283,6 +290,8 @@ typedef struct router_instance {
   struct router_info *info;
   void   *options_block;          /* Pointer to private options */
   uschar *driver_name;            /* Must be first */
+  const uschar *srcfile;
+  int    srcline;
 
   uschar *address_data;           /* Arbitrary data */
 #ifdef EXPERIMENTAL_BRIGHTMAIL
@@ -400,6 +409,9 @@ typedef struct auth_instance {
   struct auth_info *info;         /* Pointer to driver info block */
   void   *options_block;          /* Pointer to private options */
   uschar *driver_name;            /* Must be first */
+  const uschar *srcfile;
+  int    srcline;
+
   uschar *advertise_condition;    /* Are we going to advertise this?*/
   uschar *client_condition;       /* Should the client try this? */
   uschar *public_name;            /* Advertised name */
@@ -518,9 +530,6 @@ typedef struct address_item_propagated {
   uschar *remove_headers;         /* list of those to remove */
   void   *variables;             /* router-vasriables */
 
-#ifdef EXPERIMENTAL_SRS_ALT
-  uschar *srs_sender;             /* Change return path when delivering */
-#endif
   BOOL    ignore_error:1;        /* ignore delivery error */
 #ifdef SUPPORT_I18N
   BOOL    utf8_msg:1;            /* requires SMTPUTF8 processing */
@@ -821,6 +830,8 @@ typedef struct {
   host_item *           host;
   int                   host_af;
   uschar *              interface;
+  uschar *             sending_ip_address;     /* used for TLS resumption */
+  int                  sock;   /* used for a bound but not connected socket */
 
 #ifdef SUPPORT_DANE
   BOOL dane:1;                 /* connection must do dane */