Commit | Line | Data |
---|---|---|
e682570f TL |
1 | /************************************************* |
2 | * Exim - an Internet mail transport agent * | |
3 | *************************************************/ | |
4 | ||
043b1248 | 5 | /* Copyright (c) University of Cambridge 1995 - 2012, 2014 */ |
e682570f TL |
6 | /* See the file NOTICE for conditions of use and distribution. */ |
7 | ||
043b1248 JH |
8 | /* This module provides DANE (RFC6659) support for Exim. See also |
9 | the draft RFC for DANE-over-SMTP, "SMTP security via opportunistic DANE TLS" | |
10 | (V. Dukhovni, W. Hardaker) - version 10, dated May 25, 2014. | |
11 | ||
12 | The code for DANE support with Openssl was provided by V.Dukhovni. | |
e682570f TL |
13 | |
14 | No cryptographic code is included in Exim. All this module does is to call | |
15 | functions from the OpenSSL or GNU TLS libraries. */ | |
16 | ||
17 | ||
18 | #include "exim.h" | |
19 | ||
20 | /* This module is compiled only when it is specifically requested in the | |
21 | build-time configuration. However, some compilers don't like compiling empty | |
22 | modules, so keep them happy with a dummy when skipping the rest. Make it | |
23 | reference itself to stop picky compilers complaining that it is unused, and put | |
24 | in a dummy argument to stop even pickier compilers complaining about infinite | |
25 | loops. */ | |
26 | ||
c0635b6d | 27 | #ifndef SUPPORT_DANE |
e682570f TL |
28 | static void dummy(int x) { dummy(x-1); } |
29 | #else | |
30 | ||
31 | /* Enabling DANE without enabling TLS cannot work. Abort the compilation. */ | |
01603eec | 32 | # ifdef DISABLE_TLS |
043b1248 JH |
33 | # error DANE support requires that TLS support must be enabled. Abort build. |
34 | # endif | |
35 | ||
fc6b96fa JH |
36 | /* DNSSEC support is also required */ |
37 | # ifndef RES_USE_DNSSEC | |
4c04137d | 38 | # error DANE support requires that the DNS resolver library supports DNSSEC |
fc6b96fa JH |
39 | # endif |
40 | ||
de517fd3 | 41 | # ifdef USE_OPENSSL |
043b1248 JH |
42 | # include "dane-openssl.c" |
43 | # endif | |
e682570f TL |
44 | |
45 | ||
c0635b6d | 46 | #endif /* SUPPORT_DANE */ |
e682570f TL |
47 | |
48 | /* End of dane.c */ |