X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/8c2a478b1f6f8c3fb43317c1e6729b23a3b972b7..989ab7c83d1a69fe6ce454cfe51572c62933a5a3:/src/src/structs.h diff --git a/src/src/structs.h b/src/src/structs.h index 631e0f263..e1d989af2 100644 --- a/src/src/structs.h +++ b/src/src/structs.h @@ -3,6 +3,7 @@ *************************************************/ /* Copyright (c) University of Cambridge 1995 - 2018 */ +/* Copyright (c) The Exim Maintainers 2020 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -514,7 +515,7 @@ typedef struct address_item_propagated { uschar *remove_headers; /* list of those to remove */ void *variables; /* router-vasriables */ -#ifdef EXPERIMENTAL_SRS +#ifdef EXPERIMENTAL_SRS_ALT uschar *srs_sender; /* Change return path when delivering */ #endif BOOL ignore_error:1; /* ignore delivery error */ @@ -553,7 +554,9 @@ typedef struct address_item { uschar *lc_local_part; /* lowercased local part */ uschar *local_part; /* points to cc or lc version */ uschar *prefix; /* stripped prefix of local part */ + uschar *prefix_v; /* variable part of above */ uschar *suffix; /* stripped suffix of local part */ + uschar *suffix_v; /* variable part of above */ const uschar *domain; /* working domain (lower cased) */ uschar *address_retry_key; /* retry key including full address */ @@ -725,14 +728,16 @@ typedef struct tree_node { /* Structure for holding time-limited data such as DNS returns. We use this rather than extending tree_node to avoid wasting space for most tree use (variables...) at the cost of complexity -for the lookups cache */ +for the lookups cache. +We also store any options used for the lookup. */ typedef struct expiring_data { - time_t expiry; /* if nonzero, data invalid after this time */ + time_t expiry; /* if nonzero, data invalid after this time */ + const uschar * opts; /* options, or NULL */ union { - void *ptr; /* pointer to data */ - int val; /* or integer data */ + void * ptr; /* pointer to data */ + int val; /* or integer data */ } data; } expiring_data; @@ -888,8 +893,8 @@ typedef struct namedlist_cacheblock { typedef struct namedlist_block { const uschar *string; /* the list string */ namedlist_cacheblock *cache_data; /* cached domain_data or localpart_data */ - int number:31; /* the number of the list for caching */ - BOOL hide:1; /* -bP does not display value */ + short number; /* the number of the list for caching */ + BOOL hide; /* -bP does not display value */ } namedlist_block; /* Structures for Access Control Lists */