*************************************************/
/* Copyright (c) University of Cambridge 1995 - 2018 */
+/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
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 */
/* 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;