summaryrefslogtreecommitdiff
path: root/src/src/dk.h
diff options
context:
space:
mode:
authorTom Kistner <tom@duncanthrax.net>2005-03-08 15:32:02 +0000
committerTom Kistner <tom@duncanthrax.net>2005-03-08 15:32:02 +0000
commitfb2274d4a2c4398a497fbec5cacebaab7d20a127 (patch)
tree122606197e4c69828498b14a5e00718ee3936e4e /src/src/dk.h
parentb5aea5e16720f8b17bcbbf54af966ba034432db9 (diff)
Added DomainKeys support. See doc/experimental-spec.txt for documentation.
Diffstat (limited to 'src/src/dk.h')
-rw-r--r--src/src/dk.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/src/dk.h b/src/src/dk.h
new file mode 100644
index 000000000..0837ebc5d
--- /dev/null
+++ b/src/src/dk.h
@@ -0,0 +1,51 @@
+/* $Cambridge: exim/src/src/dk.h,v 1.1 2005/03/08 15:32:02 tom Exp $ */
+
+/*************************************************
+* Exim - an Internet mail transport agent *
+*************************************************/
+
+/* Copyright (c) University of Cambridge 1995 - 2005 */
+/* See the file NOTICE for conditions of use and distribution. */
+
+/* Code for DomainKeys support. Other DK relevant code is in
+ receive.c, transport.c and transports/smtp.c */
+
+#ifdef EXPERIMENTAL_DOMAINKEYS
+
+#include <domainkeys.h>
+
+#define DK_EXIM_ADDRESS_NONE 0
+#define DK_EXIM_ADDRESS_FROM_FROM 1
+#define DK_EXIM_ADDRESS_FROM_SENDER 2
+
+#define DK_EXIM_RESULT_ERR 0
+#define DK_EXIM_RESULT_BAD_FORMAT 1
+#define DK_EXIM_RESULT_NO_KEY 2
+#define DK_EXIM_RESULT_NO_SIGNATURE 3
+#define DK_EXIM_RESULT_REVOKED 4
+#define DK_EXIM_RESULT_NON_PARTICIPANT 5
+#define DK_EXIM_RESULT_GOOD 6
+#define DK_EXIM_RESULT_BAD 7
+
+typedef struct dk_exim_verify_block {
+ int result;
+ int address_source;
+ uschar *result_string;
+ uschar *address;
+ uschar *domain;
+ uschar *local_part;
+ BOOL is_signed;
+ BOOL signsall;
+ BOOL testing;
+} dk_exim_verify_block;
+
+int dk_receive_getc(void);
+int dk_receive_ungetc(int);
+void dk_exim_verify_init(void);
+void dk_exim_verify_finish(void);
+int dk_exim_verify_result(uschar **);
+uschar *dk_exim_sign(int, uschar *, uschar *, uschar *, uschar *);
+
+extern dk_exim_verify_block *dk_verify_block;
+
+#endif