resolved: allow building without libgcrypt

This commit is contained in:
Michael Olbrich 2016-01-31 21:17:39 +01:00
parent 421cc89d30
commit 4709152273
2 changed files with 75 additions and 2 deletions

View File

@ -5184,7 +5184,6 @@ EXTRA_DIST += \
# ------------------------------------------------------------------------------
if ENABLE_RESOLVED
if HAVE_GCRYPT
systemd_resolved_SOURCES = \
src/resolve/resolved.c \
@ -5355,7 +5354,6 @@ test_dnssec_complex_LDADD = \
libshared.la
endif
endif
gperf_txt_sources += \
src/resolve/dns_type-list.txt

View File

@ -19,7 +19,9 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#ifdef HAVE_GCRYPT
#include <gcrypt.h>
#endif
#include "alloc-util.h"
#include "dns-domain.h"
@ -124,6 +126,8 @@ int dnssec_canonicalize(const char *n, char *buffer, size_t buffer_max) {
return (int) c;
}
#ifdef HAVE_GCRYPT
static void initialize_libgcrypt(void) {
const char *p;
@ -2114,6 +2118,77 @@ int dnssec_test_positive_wildcard(
return dnssec_test_positive_wildcard_nsec(answer, name, source, zone, authenticated);
}
#else
int dnssec_verify_rrset(
DnsAnswer *a,
const DnsResourceKey *key,
DnsResourceRecord *rrsig,
DnsResourceRecord *dnskey,
usec_t realtime,
DnssecResult *result) {
return -EOPNOTSUPP;
}
int dnssec_rrsig_match_dnskey(DnsResourceRecord *rrsig, DnsResourceRecord *dnskey, bool revoked_ok) {
return -EOPNOTSUPP;
}
int dnssec_key_match_rrsig(const DnsResourceKey *key, DnsResourceRecord *rrsig) {
return -EOPNOTSUPP;
}
int dnssec_verify_rrset_search(
DnsAnswer *a,
const DnsResourceKey *key,
DnsAnswer *validated_dnskeys,
usec_t realtime,
DnssecResult *result,
DnsResourceRecord **ret_rrsig) {
return -EOPNOTSUPP;
}
int dnssec_has_rrsig(DnsAnswer *a, const DnsResourceKey *key) {
return -EOPNOTSUPP;
}
int dnssec_verify_dnskey_by_ds(DnsResourceRecord *dnskey, DnsResourceRecord *ds, bool mask_revoke) {
return -EOPNOTSUPP;
}
int dnssec_verify_dnskey_by_ds_search(DnsResourceRecord *dnskey, DnsAnswer *validated_ds) {
return -EOPNOTSUPP;
}
int dnssec_nsec3_hash(DnsResourceRecord *nsec3, const char *name, void *ret) {
return -EOPNOTSUPP;
}
int dnssec_nsec_test(DnsAnswer *answer, DnsResourceKey *key, DnssecNsecResult *result, bool *authenticated, uint32_t *ttl) {
return -EOPNOTSUPP;
}
int dnssec_test_positive_wildcard(
DnsAnswer *answer,
const char *name,
const char *source,
const char *zone,
bool *authenticated) {
return -EOPNOTSUPP;
}
#endif
static const char* const dnssec_result_table[_DNSSEC_RESULT_MAX] = {
[DNSSEC_VALIDATED] = "validated",
[DNSSEC_VALIDATED_WILDCARD] = "validated-wildcard",