DKIM: support timestamp and expiry tags in signing. Bug 2260
[exim.git] / src / src / structs.h
index a32a5f9c6332fe1ec15e8368e1210fd3ba4d3c5b..8384920ee16f16b94329f753276aecf8e687f5b7 100644 (file)
@@ -2,7 +2,7 @@
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2017 */
+/* Copyright (c) University of Cambridge 1995 - 2018 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 
@@ -32,6 +32,17 @@ typedef struct gstring {
   uschar * s;          /* The string memory */
 } gstring;
 
+/* Structure for remembering macros for the configuration file */
+
+typedef struct macro_item {
+  struct  macro_item * next;
+  BOOL         command_line;
+  unsigned     namelen;
+  unsigned     replen;
+  const uschar * name;
+  const uschar * replacement;
+} macro_item;
+
 /* Structure for bit tables for debugging and logging */
 
 typedef struct bit_table {
@@ -609,7 +620,7 @@ typedef struct address_item {
 #endif
     BOOL af_chunking_used:1;           /* delivery used SMTP CHUNKING */
     BOOL af_force_command:1;           /* force_command in pipe transport */
-#ifdef EXPERIMENTAL_DANE
+#ifdef SUPPORT_DANE
     BOOL af_dane_verified:1;           /* TLS cert verify done with DANE */
 #endif
 #ifdef SUPPORT_I18N
@@ -694,38 +705,6 @@ typedef struct tree_node {
   uschar  name[1];                /* node name - variable length */
 } tree_node;
 
-typedef struct tree_node_64 {
-  struct tree_node_64 *left;      /* pointer to left child */
-  struct tree_node_64 *right;     /* pointer to right child */
-  union
-    {
-    void  *ptr;                   /* pointer to data */
-    int val;                      /* or integer data */
-    } data;
-  uschar  balance;                /* balancing factor */
-  uschar  name[64];               /* node name - bounded length */
-} tree_node_64;
-
-/* Structure for remembering macros for the configuration file */
-
-typedef struct macro_item {
-  BOOL         command_line;
-  unsigned     namelen;
-  unsigned     replen;
-  unsigned     m_number;
-  tree_node    tnode;          /* contains name; ptr indicates val */
-} macro_item;
-
-typedef struct macro_item_64 {
-  BOOL         command_line;
-  unsigned     namelen;
-  unsigned     replen;
-  unsigned     m_number;
-  tree_node_64 tnode;          /* contains name; ptr indicates val */
-} macro_item_64;
-
-#define tnode_to_mitem(tp) (tp ? (macro_item *) (CS(tp) - offsetof(macro_item, tnode)) : NULL)
-
 /* 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
@@ -899,7 +878,12 @@ struct ob_dkim {
   uschar *dkim_sign_headers;
   uschar *dkim_strict;
   uschar *dkim_hash;
+  uschar *dkim_timestamps;
   BOOL    dot_stuffed;
+  BOOL    force_bodyhash;
+#ifdef EXPERIMENTAL_ARC
+  uschar *arc_signspec;
+#endif
 };
 
 /* End of structs.h */