From: Daan De Meyer Date: Sat, 19 Apr 2025 20:41:49 +0000 (+0200) Subject: resolved: Remove circular header dependencies X-Git-Tag: v258-rc1~756^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=68527d3051d75ef7b6a3283ba56c678af430dd4f;p=thirdparty%2Fsystemd.git resolved: Remove circular header dependencies --- diff --git a/src/resolve/fuzz-resource-record.c b/src/resolve/fuzz-resource-record.c index b1ff0d87e94..378308cee8d 100644 --- a/src/resolve/fuzz-resource-record.c +++ b/src/resolve/fuzz-resource-record.c @@ -1,10 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-json.h" + #include "fd-util.h" #include "fuzz.h" #include "memory-util.h" #include "memstream-util.h" #include "resolved-dns-packet.h" +#include "resolved-dns-rr.h" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { _cleanup_(dns_resource_record_unrefp) DnsResourceRecord *rr = NULL, *copy = NULL; diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c index b6278f111b1..98eadb39433 100644 --- a/src/resolve/resolvectl.c +++ b/src/resolve/resolvectl.c @@ -38,6 +38,7 @@ #include "resolvectl.h" #include "resolved-def.h" #include "resolved-dns-packet.h" +#include "resolved-dns-rr.h" #include "resolved-util.h" #include "socket-netlink.h" #include "sort-util.h" diff --git a/src/resolve/resolved-bus.c b/src/resolve/resolved-bus.c index 1f06a7d57d1..3824401918e 100644 --- a/src/resolve/resolved-bus.c +++ b/src/resolve/resolved-bus.c @@ -7,17 +7,33 @@ #include "bus-log-control-api.h" #include "bus-message-util.h" #include "bus-polkit.h" +#include "bus-util.h" #include "dns-domain.h" #include "format-util.h" #include "memory-util.h" #include "path-util.h" +#include "resolve-util.h" #include "resolved-bus.h" #include "resolved-def.h" +#include "resolved-dns-answer.h" +#include "resolved-dns-dnssec.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-query.h" +#include "resolved-dns-question.h" +#include "resolved-dns-rr.h" +#include "resolved-dns-scope.h" +#include "resolved-dns-search-domain.h" +#include "resolved-dns-server.h" #include "resolved-dns-stream.h" +#include "resolved-dns-stub.h" #include "resolved-dns-synthesize.h" +#include "resolved-dns-transaction.h" +#include "resolved-dns-trust-anchor.h" #include "resolved-dnssd-bus.h" #include "resolved-dnssd.h" +#include "resolved-link.h" #include "resolved-link-bus.h" +#include "resolved-manager.h" #include "resolved-resolv-conf.h" #include "socket-netlink.h" #include "stdio-util.h" diff --git a/src/resolve/resolved-bus.h b/src/resolve/resolved-bus.h index 6c2bd266805..073ff1eb5a3 100644 --- a/src/resolve/resolved-bus.h +++ b/src/resolve/resolved-bus.h @@ -2,7 +2,10 @@ #pragma once #include "bus-object.h" -#include "resolved-manager.h" +#include "macro.h" + +typedef struct DnsServer DnsServer; +typedef struct Manager Manager; extern const BusObjectImplementation manager_object; diff --git a/src/resolve/resolved-conf.c b/src/resolve/resolved-conf.c index baf73350a9f..415c46d8567 100644 --- a/src/resolve/resolved-conf.c +++ b/src/resolve/resolved-conf.c @@ -5,12 +5,14 @@ #include "constants.h" #include "creds-util.h" #include "dns-domain.h" +#include "dns-type.h" #include "extract-word.h" #include "hexdecoct.h" #include "parse-util.h" #include "proc-cmdline.h" #include "resolved-conf.h" #include "resolved-dns-search-domain.h" +#include "resolved-dns-server.h" #include "resolved-dns-stub.h" #include "resolved-dnssd.h" #include "resolved-manager.h" diff --git a/src/resolve/resolved-conf.h b/src/resolve/resolved-conf.h index 3b3ff178ae9..4499f3b956f 100644 --- a/src/resolve/resolved-conf.h +++ b/src/resolve/resolved-conf.h @@ -3,6 +3,8 @@ #include "conf-parser.h" +typedef struct Manager Manager; + typedef enum ResolveConfigSource { RESOLVE_CONFIG_SOURCE_FILE, RESOLVE_CONFIG_SOURCE_NETWORKD, @@ -11,8 +13,6 @@ typedef enum ResolveConfigSource { _RESOLVE_CONFIG_SOURCE_INVALID = -EINVAL, } ResolveConfigSource; -#include "resolved-dns-server.h" - int manager_parse_config_file(Manager *m); const struct ConfigPerfItem* resolved_gperf_lookup(const char *key, GPERF_LEN_TYPE length); diff --git a/src/resolve/resolved-dns-answer.c b/src/resolve/resolved-dns-answer.c index fd88a863f8e..2b9e750010c 100644 --- a/src/resolve/resolved-dns-answer.c +++ b/src/resolve/resolved-dns-answer.c @@ -8,6 +8,7 @@ #include "random-util.h" #include "resolved-dns-answer.h" #include "resolved-dns-dnssec.h" +#include "resolved-dns-rr.h" #include "string-util.h" static DnsAnswerItem *dns_answer_item_free(DnsAnswerItem *item) { diff --git a/src/resolve/resolved-dns-answer.h b/src/resolve/resolved-dns-answer.h index 068803c6cb1..0707a9a6c0c 100644 --- a/src/resolve/resolved-dns-answer.h +++ b/src/resolve/resolved-dns-answer.h @@ -1,12 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct DnsAnswer DnsAnswer; -typedef struct DnsAnswerItem DnsAnswerItem; - #include "macro.h" #include "ordered-set.h" -#include "resolved-dns-rr.h" + +typedef struct DnsResourceKey DnsResourceKey; +typedef struct DnsResourceRecord DnsResourceRecord; /* A simple array of resource records. We keep track of the originating ifindex for each RR where that makes * sense, so that we can qualify A and AAAA RRs referring to a local link with the right ifindex. @@ -29,18 +28,18 @@ typedef enum DnsAnswerFlags { DNS_ANSWER_SECTION_ADDITIONAL, } DnsAnswerFlags; -struct DnsAnswerItem { +typedef struct DnsAnswerItem { unsigned n_ref; DnsResourceRecord *rr; DnsResourceRecord *rrsig; /* Optionally, also store RRSIG RR that successfully validates this item */ int ifindex; DnsAnswerFlags flags; -}; +} DnsAnswerItem; -struct DnsAnswer { +typedef struct DnsAnswer { unsigned n_ref; OrderedSet *items; -}; +} DnsAnswer; DnsAnswer *dns_answer_new(size_t n); DnsAnswer *dns_answer_ref(DnsAnswer *a); diff --git a/src/resolve/resolved-dns-cache.c b/src/resolve/resolved-dns-cache.c index c7b51c02246..f14ddd19ab5 100644 --- a/src/resolve/resolved-dns-cache.c +++ b/src/resolve/resolved-dns-cache.c @@ -8,7 +8,9 @@ #include "format-ifname.h" #include "resolved-dns-answer.h" #include "resolved-dns-cache.h" +#include "resolved-dns-dnssec.h" #include "resolved-dns-packet.h" +#include "resolved-dns-rr.h" #include "string-util.h" /* Never cache more than 4K entries. RFC 1536, Section 5 suggests to diff --git a/src/resolve/resolved-dns-cache.h b/src/resolve/resolved-dns-cache.h index d8b71a3c2ad..c7649713736 100644 --- a/src/resolve/resolved-dns-cache.h +++ b/src/resolve/resolved-dns-cache.h @@ -1,13 +1,23 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +#include "sd-json.h" + #include "hashmap.h" +#include "in-addr-util.h" #include "list.h" #include "prioq.h" #include "resolve-util.h" -#include "resolved-dns-dnssec.h" #include "time-util.h" +typedef enum DnsProtocol DnsProtocol; +typedef enum DnssecResult DnssecResult; + +typedef struct DnsAnswer DnsAnswer; +typedef struct DnsPacket DnsPacket; +typedef struct DnsResourceKey DnsResourceKey; +typedef struct DnsResourceRecord DnsResourceRecord; + typedef struct DnsCache { Hashmap *by_key; Prioq *by_expiry; @@ -15,11 +25,6 @@ typedef struct DnsCache { unsigned n_miss; } DnsCache; -#include "resolved-dns-answer.h" -#include "resolved-dns-packet.h" -#include "resolved-dns-question.h" -#include "resolved-dns-rr.h" - void dns_cache_flush(DnsCache *c); void dns_cache_prune(DnsCache *c); diff --git a/src/resolve/resolved-dns-dnssec.c b/src/resolve/resolved-dns-dnssec.c index ccd4ff9196a..221cd8548d6 100644 --- a/src/resolve/resolved-dns-dnssec.c +++ b/src/resolve/resolved-dns-dnssec.c @@ -2,6 +2,7 @@ #include "alloc-util.h" #include "dns-domain.h" +#include "dns-type.h" #include "fd-util.h" #include "fileio.h" #include "hexdecoct.h" @@ -9,8 +10,10 @@ #include "memory-util.h" #include "memstream-util.h" #include "openssl-util.h" +#include "resolved-dns-answer.h" #include "resolved-dns-dnssec.h" #include "resolved-dns-packet.h" +#include "resolved-dns-rr.h" #include "sort-util.h" #include "string-table.h" diff --git a/src/resolve/resolved-dns-dnssec.h b/src/resolve/resolved-dns-dnssec.h index d8ff3bada98..21a9bd54af7 100644 --- a/src/resolve/resolved-dns-dnssec.h +++ b/src/resolve/resolved-dns-dnssec.h @@ -1,14 +1,17 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef enum DnssecResult DnssecResult; -typedef enum DnssecVerdict DnssecVerdict; +#include +#include +#include -#include "dns-domain.h" -#include "resolved-dns-answer.h" -#include "resolved-dns-rr.h" +#include "time-util.h" -enum DnssecResult { +typedef struct DnsAnswer DnsAnswer; +typedef struct DnsResourceKey DnsResourceKey; +typedef struct DnsResourceRecord DnsResourceRecord; + +typedef enum DnssecResult { /* These six are returned by dnssec_verify_rrset() */ DNSSEC_VALIDATED, DNSSEC_VALIDATED_WILDCARD, /* Validated via a wildcard RRSIG, further NSEC/NSEC3 checks necessary */ @@ -30,9 +33,9 @@ enum DnssecResult { _DNSSEC_RESULT_MAX, _DNSSEC_RESULT_INVALID = -EINVAL, -}; +} DnssecResult; -enum DnssecVerdict { +typedef enum DnssecVerdict { DNSSEC_SECURE, DNSSEC_INSECURE, DNSSEC_BOGUS, @@ -40,7 +43,7 @@ enum DnssecVerdict { _DNSSEC_VERDICT_MAX, _DNSSEC_VERDICT_INVALID = -EINVAL, -}; +} DnssecVerdict; #define DNSSEC_CANONICAL_HOSTNAME_MAX (DNS_HOSTNAME_MAX + 2) diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c index 189d1417d78..9b225735082 100644 --- a/src/resolve/resolved-dns-packet.c +++ b/src/resolve/resolved-dns-packet.c @@ -5,7 +5,10 @@ #include "escape.h" #include "log.h" #include "memory-util.h" +#include "resolved-dns-answer.h" #include "resolved-dns-packet.h" +#include "resolved-dns-question.h" +#include "resolved-dns-rr.h" #include "set.h" #include "stdio-util.h" #include "string-table.h" diff --git a/src/resolve/resolved-dns-packet.h b/src/resolve/resolved-dns-packet.h index 9fdbded4eb7..6e93980d366 100644 --- a/src/resolve/resolved-dns-packet.h +++ b/src/resolve/resolved-dns-packet.h @@ -8,15 +8,15 @@ #include "hashmap.h" #include "in-addr-util.h" #include "macro.h" +#include "resolved-def.h" +#include "resolved-dns-answer.h" #include "sparse-endian.h" -typedef struct DnsPacketHeader DnsPacketHeader; +typedef struct DnsAnswer DnsAnswer; typedef struct DnsPacket DnsPacket; - -#include "resolved-def.h" -#include "resolved-dns-answer.h" -#include "resolved-dns-question.h" -#include "resolved-dns-rr.h" +typedef struct DnsQuestion DnsQuestion; +typedef struct DnsResourceKey DnsResourceKey; +typedef struct DnsResourceRecord DnsResourceRecord; typedef enum DnsProtocol { DNS_PROTOCOL_DNS, @@ -26,14 +26,14 @@ typedef enum DnsProtocol { _DNS_PROTOCOL_INVALID = -EINVAL, } DnsProtocol; -struct DnsPacketHeader { +typedef struct DnsPacketHeader { uint16_t id; be16_t flags; be16_t qdcount; be16_t ancount; be16_t nscount; be16_t arcount; -} _packed_; +} _packed_ DnsPacketHeader; #define DNS_PACKET_HEADER_SIZE sizeof(DnsPacketHeader) #define UDP4_PACKET_HEADER_SIZE (sizeof(struct iphdr) + sizeof(struct udphdr)) diff --git a/src/resolve/resolved-dns-query.c b/src/resolve/resolved-dns-query.c index f0004671530..f7c2e8eec4b 100644 --- a/src/resolve/resolved-dns-query.c +++ b/src/resolve/resolved-dns-query.c @@ -7,9 +7,18 @@ #include "glyph-util.h" #include "hostname-util.h" #include "local-addresses.h" +#include "resolved-dns-answer.h" +#include "resolved-dns-packet.h" #include "resolved-dns-query.h" +#include "resolved-dns-question.h" +#include "resolved-dns-rr.h" +#include "resolved-dns-scope.h" +#include "resolved-dns-search-domain.h" +#include "resolved-dns-stub.h" #include "resolved-dns-synthesize.h" +#include "resolved-dns-transaction.h" #include "resolved-etc-hosts.h" +#include "resolved-manager.h" #include "resolved-timeouts.h" #include "string-util.h" @@ -1493,3 +1502,13 @@ int validate_and_mangle_query_flags( return 0; } + +uint64_t dns_query_reply_flags_make(DnsQuery *q) { + assert(q); + + return SD_RESOLVED_FLAGS_MAKE(q->answer_protocol, + q->answer_family, + dns_query_fully_authenticated(q), + dns_query_fully_confidential(q)) | + (q->answer_query_flags & (SD_RESOLVED_FROM_MASK|SD_RESOLVED_SYNTHETIC)); +} diff --git a/src/resolve/resolved-dns-query.h b/src/resolve/resolved-dns-query.h index 3a93ff7f1ab..9433ed91268 100644 --- a/src/resolve/resolved-dns-query.h +++ b/src/resolve/resolved-dns-query.h @@ -4,16 +4,24 @@ #include "sd-bus.h" #include "sd-varlink.h" +#include "in-addr-util.h" +#include "list.h" +#include "resolved-def.h" +#include "resolved-dns-dnssec.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-transaction.h" #include "set.h" +typedef struct DnsAnswer DnsAnswer; +typedef struct DnsPacket DnsPacket; typedef struct DnsQueryCandidate DnsQueryCandidate; typedef struct DnsQuery DnsQuery; +typedef struct DnsQuestion DnsQuestion; +typedef struct DnsScope DnsScope; +typedef struct DnsSearchDomain DnsSearchDomain; +typedef struct DnsStream DnsStream; typedef struct DnsStubListenerExtra DnsStubListenerExtra; - -#include "resolved-dns-answer.h" -#include "resolved-dns-question.h" -#include "resolved-dns-search-domain.h" -#include "resolved-dns-transaction.h" +typedef struct Manager Manager; struct DnsQueryCandidate { unsigned n_ref; @@ -160,12 +168,4 @@ bool dns_query_fully_authoritative(DnsQuery *q); int validate_and_mangle_query_flags(Manager *manager, uint64_t *flags, const char *name, uint64_t ok); -static inline uint64_t dns_query_reply_flags_make(DnsQuery *q) { - assert(q); - - return SD_RESOLVED_FLAGS_MAKE(q->answer_protocol, - q->answer_family, - dns_query_fully_authenticated(q), - dns_query_fully_confidential(q)) | - (q->answer_query_flags & (SD_RESOLVED_FROM_MASK|SD_RESOLVED_SYNTHETIC)); -} +uint64_t dns_query_reply_flags_make(DnsQuery *q); diff --git a/src/resolve/resolved-dns-question.c b/src/resolve/resolved-dns-question.c index 6fb778860c4..7d8f4832931 100644 --- a/src/resolve/resolved-dns-question.c +++ b/src/resolve/resolved-dns-question.c @@ -5,6 +5,7 @@ #include "dns-type.h" #include "log.h" #include "resolved-dns-question.h" +#include "resolved-dns-rr.h" #include "socket-util.h" DnsQuestion *dns_question_new(size_t n) { diff --git a/src/resolve/resolved-dns-question.h b/src/resolve/resolved-dns-question.h index b986c429975..33997963c16 100644 --- a/src/resolve/resolved-dns-question.h +++ b/src/resolve/resolved-dns-question.h @@ -1,11 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct DnsQuestion DnsQuestion; -typedef struct DnsQuestionItem DnsQuestionItem; +#include -#include "macro.h" -#include "resolved-dns-rr.h" +#include "in-addr-util.h" +#include "memory-util.h" + +typedef struct DnsResourceKey DnsResourceKey; +typedef struct DnsResourceRecord DnsResourceRecord; /* A simple array of resource keys */ @@ -13,16 +15,16 @@ typedef enum DnsQuestionFlags { DNS_QUESTION_WANTS_UNICAST_REPLY = 1 << 0, /* For mDNS: sender is willing to accept unicast replies */ } DnsQuestionFlags; -struct DnsQuestionItem { +typedef struct DnsQuestionItem { DnsResourceKey *key; DnsQuestionFlags flags; -}; +} DnsQuestionItem; -struct DnsQuestion { +typedef struct DnsQuestion { unsigned n_ref; size_t n_keys, n_allocated; DnsQuestionItem items[]; -}; +} DnsQuestion; DnsQuestion *dns_question_new(size_t n); DnsQuestion *dns_question_ref(DnsQuestion *q); diff --git a/src/resolve/resolved-dns-scope.c b/src/resolve/resolved-dns-scope.c index 78fa6015d20..c9ea2d31d54 100644 --- a/src/resolve/resolved-dns-scope.c +++ b/src/resolve/resolved-dns-scope.c @@ -5,16 +5,27 @@ #include "af-list.h" #include "alloc-util.h" #include "dns-domain.h" +#include "dns-type.h" #include "errno-util.h" #include "fd-util.h" #include "hostname-util.h" #include "missing_network.h" #include "random-util.h" #include "resolved-dnssd.h" +#include "resolved-dns-answer.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-query.h" +#include "resolved-dns-question.h" +#include "resolved-dns-rr.h" #include "resolved-dns-scope.h" +#include "resolved-dns-search-domain.h" +#include "resolved-dns-server.h" #include "resolved-dns-synthesize.h" +#include "resolved-dns-transaction.h" #include "resolved-dns-zone.h" +#include "resolved-link.h" #include "resolved-llmnr.h" +#include "resolved-manager.h" #include "resolved-mdns.h" #include "resolved-timeouts.h" #include "socket-util.h" diff --git a/src/resolve/resolved-dns-scope.h b/src/resolve/resolved-dns-scope.h index aefddb9a80f..834bc918859 100644 --- a/src/resolve/resolved-dns-scope.h +++ b/src/resolve/resolved-dns-scope.h @@ -1,20 +1,25 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +#include "sd-event.h" + +#include "dns-def.h" #include "list.h" #include "ratelimit.h" - -typedef struct DnsQueryCandidate DnsQueryCandidate; -typedef struct DnsScope DnsScope; - +#include "resolve-util.h" #include "resolved-dns-cache.h" -#include "resolved-dns-dnssec.h" #include "resolved-dns-packet.h" -#include "resolved-dns-query.h" -#include "resolved-dns-search-domain.h" -#include "resolved-dns-server.h" -#include "resolved-dns-stream.h" #include "resolved-dns-zone.h" +#include "socket-util.h" + +typedef struct DnsQuery DnsQuery; +typedef struct DnsQueryCandidate DnsQueryCandidate; +typedef struct DnsQuestion DnsQuestion; +typedef struct DnsSearchDomain DnsSearchDomain; +typedef struct DnsServer DnsServer; +typedef struct DnsStream DnsStream; +typedef struct Link Link; +typedef struct Manager Manager; typedef enum DnsScopeMatch { DNS_SCOPE_NO, diff --git a/src/resolve/resolved-dns-server.c b/src/resolve/resolved-dns-server.c index 839aedb45ab..36b7f74813a 100644 --- a/src/resolve/resolved-dns-server.c +++ b/src/resolve/resolved-dns-server.c @@ -5,12 +5,18 @@ #include "sd-messages.h" #include "alloc-util.h" +#include "dns-domain.h" #include "errno-util.h" #include "fd-util.h" #include "json-util.h" #include "resolved-bus.h" +#include "resolved-dns-cache.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-scope.h" +#include "resolved-dns-search-domain.h" #include "resolved-dns-server.h" #include "resolved-dns-stub.h" +#include "resolved-link.h" #include "resolved-manager.h" #include "resolved-resolv-conf.h" #include "siphash24.h" diff --git a/src/resolve/resolved-dns-server.h b/src/resolve/resolved-dns-server.h index d1110bc2661..bb3c0e109f5 100644 --- a/src/resolve/resolved-dns-server.h +++ b/src/resolve/resolved-dns-server.h @@ -6,6 +6,8 @@ #include "in-addr-util.h" #include "list.h" #include "resolve-util.h" +#include "resolved-conf.h" +#include "resolved-dnstls.h" #include "time-util.h" typedef struct DnsScope DnsScope; @@ -15,8 +17,6 @@ typedef struct DnsPacket DnsPacket; typedef struct Link Link; typedef struct Manager Manager; -#include "resolved-dnstls.h" - typedef enum DnsServerType { DNS_SERVER_SYSTEM, DNS_SERVER_FALLBACK, @@ -25,8 +25,6 @@ typedef enum DnsServerType { _DNS_SERVER_TYPE_INVALID = -EINVAL, } DnsServerType; -#include "resolved-conf.h" - const char* dns_server_type_to_string(DnsServerType i) _const_; DnsServerType dns_server_type_from_string(const char *s) _pure_; diff --git a/src/resolve/resolved-dns-stream.c b/src/resolve/resolved-dns-stream.c index 7545065bae6..41c31c5a415 100644 --- a/src/resolve/resolved-dns-stream.c +++ b/src/resolve/resolved-dns-stream.c @@ -9,6 +9,8 @@ #include "iovec-util.h" #include "macro.h" #include "missing_network.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-server.h" #include "resolved-dns-stream.h" #include "resolved-manager.h" diff --git a/src/resolve/resolved-dns-stream.h b/src/resolve/resolved-dns-stream.h index d3de4ebf3d9..8098e994bcb 100644 --- a/src/resolve/resolved-dns-stream.h +++ b/src/resolve/resolved-dns-stream.h @@ -3,18 +3,19 @@ #include "sd-event.h" +#include "list.h" #include "ordered-set.h" +#include "resolved-dnstls.h" +#include "resolved-dns-packet.h" #include "socket-util.h" +typedef struct DnsPacket DnsPacket; typedef struct DnsServer DnsServer; typedef struct DnsStream DnsStream; typedef struct DnsTransaction DnsTransaction; typedef struct Manager Manager; typedef struct DnsStubListenerExtra DnsStubListenerExtra; -#include "resolved-dns-packet.h" -#include "resolved-dnstls.h" - /* Various timeouts for establishing TCP connections. First the default timeout for that. */ #define DNS_STREAM_DEFAULT_TIMEOUT_USEC (10 * USEC_PER_SEC) diff --git a/src/resolve/resolved-dns-stub.c b/src/resolve/resolved-dns-stub.c index ac3067729f8..08b35690ba8 100644 --- a/src/resolve/resolved-dns-stub.c +++ b/src/resolve/resolved-dns-stub.c @@ -4,11 +4,22 @@ #include #include "capability-util.h" +#include "dns-type.h" #include "errno-util.h" #include "fd-util.h" +#include "log.h" #include "missing_network.h" #include "missing_socket.h" +#include "resolve-util.h" +#include "resolved-dns-answer.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-query.h" +#include "resolved-dns-question.h" +#include "resolved-dns-rr.h" +#include "resolved-dns-stream.h" #include "resolved-dns-stub.h" +#include "resolved-dns-transaction.h" +#include "resolved-manager.h" #include "socket-netlink.h" #include "socket-util.h" #include "stdio-util.h" diff --git a/src/resolve/resolved-dns-stub.h b/src/resolve/resolved-dns-stub.h index 3b9bf65b217..bfde108026c 100644 --- a/src/resolve/resolved-dns-stub.h +++ b/src/resolve/resolved-dns-stub.h @@ -1,9 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "hash-funcs.h" +#include "sd-event.h" + +#include "hashmap.h" +#include "in-addr-util.h" typedef struct DnsStubListenerExtra DnsStubListenerExtra; +typedef struct Manager Manager; typedef enum DnsStubListenerMode { DNS_STUB_LISTENER_NO, @@ -14,8 +18,6 @@ typedef enum DnsStubListenerMode { _DNS_STUB_LISTENER_MODE_INVALID = -EINVAL, } DnsStubListenerMode; -#include "resolved-manager.h" - struct DnsStubListenerExtra { Manager *manager; diff --git a/src/resolve/resolved-dns-synthesize.c b/src/resolve/resolved-dns-synthesize.c index cccea54f029..0f19fa51c39 100644 --- a/src/resolve/resolved-dns-synthesize.c +++ b/src/resolve/resolved-dns-synthesize.c @@ -1,11 +1,20 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" +#include "dns-domain.h" +#include "dns-type.h" #include "env-util.h" #include "hostname-util.h" #include "local-addresses.h" #include "missing_network.h" +#include "resolved-def.h" +#include "resolved-dns-answer.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-question.h" +#include "resolved-dns-rr.h" #include "resolved-dns-synthesize.h" +#include "resolved-manager.h" +#include "socket-util.h" int dns_synthesize_family(uint64_t flags) { diff --git a/src/resolve/resolved-dns-synthesize.h b/src/resolve/resolved-dns-synthesize.h index ca39e682b4d..f121eb442af 100644 --- a/src/resolve/resolved-dns-synthesize.h +++ b/src/resolve/resolved-dns-synthesize.h @@ -1,9 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "resolved-dns-answer.h" -#include "resolved-dns-question.h" -#include "resolved-manager.h" +#include +#include + +typedef enum DnsProtocol DnsProtocol; + +typedef struct DnsAnswer DnsAnswer; +typedef struct DnsQuestion DnsQuestion; +typedef struct Manager Manager; int dns_synthesize_family(uint64_t flags); DnsProtocol dns_synthesize_protocol(uint64_t flags); diff --git a/src/resolve/resolved-dns-transaction.c b/src/resolve/resolved-dns-transaction.c index cfe724cba88..3cf92da1f5d 100644 --- a/src/resolve/resolved-dns-transaction.c +++ b/src/resolve/resolved-dns-transaction.c @@ -10,10 +10,19 @@ #include "fd-util.h" #include "glyph-util.h" #include "random-util.h" +#include "resolved-dns-answer.h" #include "resolved-dns-cache.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-query.h" +#include "resolved-dns-question.h" +#include "resolved-dns-rr.h" +#include "resolved-dns-scope.h" +#include "resolved-dns-server.h" #include "resolved-dns-transaction.h" #include "resolved-dnstls.h" +#include "resolved-link.h" #include "resolved-llmnr.h" +#include "resolved-socket-graveyard.h" #include "resolved-timeouts.h" #include "string-table.h" @@ -2788,6 +2797,20 @@ int dns_transaction_request_dnssec_keys(DnsTransaction *t) { return dns_transaction_dnssec_is_live(t); } +DnsResourceKey* dns_transaction_key(DnsTransaction *t) { + assert(t); + + /* Return the lookup key of this transaction. Either takes the lookup key from the bypass packet if + * we are a bypass transaction. Or take the configured key for regular transactions. */ + + if (t->key) + return t->key; + + assert(t->bypass); + + return dns_question_first_key(t->bypass->question); +} + void dns_transaction_notify(DnsTransaction *t, DnsTransaction *source) { assert(t); assert(source); diff --git a/src/resolve/resolved-dns-transaction.h b/src/resolve/resolved-dns-transaction.h index cea0a890db3..85feffb0d07 100644 --- a/src/resolve/resolved-dns-transaction.h +++ b/src/resolve/resolved-dns-transaction.h @@ -2,20 +2,23 @@ #pragma once #include "sd-event.h" -#include "in-addr-util.h" - -typedef struct DnsTransaction DnsTransaction; -typedef struct DnsTransactionFinder DnsTransactionFinder; -typedef enum DnsTransactionState DnsTransactionState; -typedef enum DnsTransactionSource DnsTransactionSource; -#include "resolved-dns-answer.h" +#include "in-addr-util.h" +#include "list.h" +#include "resolved-def.h" #include "resolved-dns-dnssec.h" -#include "resolved-dns-packet.h" -#include "resolved-dns-question.h" #include "resolved-dns-server.h" +#include "set.h" + +typedef struct DnsAnswer DnsAnswer; +typedef struct DnsPacket DnsPacket; +typedef struct DnsResourceKey DnsResourceKey; +typedef struct DnsScope DnsScope; +typedef struct DnsServer DnsServer; +typedef struct DnsStream DnsStream; +typedef struct DnsTransaction DnsTransaction; -enum DnsTransactionState { +typedef enum DnsTransactionState { DNS_TRANSACTION_NULL, DNS_TRANSACTION_PENDING, DNS_TRANSACTION_VALIDATING, @@ -36,18 +39,18 @@ enum DnsTransactionState { DNS_TRANSACTION_STUB_LOOP, _DNS_TRANSACTION_STATE_MAX, _DNS_TRANSACTION_STATE_INVALID = -EINVAL, -}; +} DnsTransactionState; #define DNS_TRANSACTION_IS_LIVE(state) IN_SET((state), DNS_TRANSACTION_NULL, DNS_TRANSACTION_PENDING, DNS_TRANSACTION_VALIDATING) -enum DnsTransactionSource { +typedef enum DnsTransactionSource { DNS_TRANSACTION_NETWORK, DNS_TRANSACTION_CACHE, DNS_TRANSACTION_ZONE, DNS_TRANSACTION_TRUST_ANCHOR, _DNS_TRANSACTION_SOURCE_MAX, _DNS_TRANSACTION_SOURCE_INVALID = -EINVAL, -}; +} DnsTransactionSource; struct DnsTransaction { DnsScope *scope; @@ -163,19 +166,7 @@ void dns_transaction_notify(DnsTransaction *t, DnsTransaction *source); int dns_transaction_validate_dnssec(DnsTransaction *t); int dns_transaction_request_dnssec_keys(DnsTransaction *t); -static inline DnsResourceKey *dns_transaction_key(DnsTransaction *t) { - assert(t); - - /* Return the lookup key of this transaction. Either takes the lookup key from the bypass packet if - * we are a bypass transaction. Or take the configured key for regular transactions. */ - - if (t->key) - return t->key; - - assert(t->bypass); - - return dns_question_first_key(t->bypass->question); -} +DnsResourceKey* dns_transaction_key(DnsTransaction *t); static inline uint64_t dns_transaction_source_to_query_flags(DnsTransactionSource s) { diff --git a/src/resolve/resolved-dns-trust-anchor.c b/src/resolve/resolved-dns-trust-anchor.c index 13843637172..8cc495c898a 100644 --- a/src/resolve/resolved-dns-trust-anchor.c +++ b/src/resolve/resolved-dns-trust-anchor.c @@ -12,7 +12,9 @@ #include "log.h" #include "nulstr-util.h" #include "parse-util.h" +#include "resolved-dns-answer.h" #include "resolved-dns-dnssec.h" +#include "resolved-dns-rr.h" #include "resolved-dns-trust-anchor.h" #include "set.h" #include "string-util.h" diff --git a/src/resolve/resolved-dns-trust-anchor.h b/src/resolve/resolved-dns-trust-anchor.h index 14047ec7eb6..969e648957d 100644 --- a/src/resolve/resolved-dns-trust-anchor.h +++ b/src/resolve/resolved-dns-trust-anchor.h @@ -1,19 +1,19 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct DnsTrustAnchor DnsTrustAnchor; - #include "hashmap.h" -#include "resolved-dns-answer.h" -#include "resolved-dns-rr.h" + +typedef struct DnsAnswer DnsAnswer; +typedef struct DnsResourceKey DnsResourceKey; +typedef struct DnsResourceRecord DnsResourceRecord; /* This contains a fixed database mapping domain names to DS or DNSKEY records. */ -struct DnsTrustAnchor { +typedef struct DnsTrustAnchor { Hashmap *positive_by_key; Set *negative_by_name; Set *revoked_by_rr; -}; +} DnsTrustAnchor; int dns_trust_anchor_load(DnsTrustAnchor *d); void dns_trust_anchor_flush(DnsTrustAnchor *d); diff --git a/src/resolve/resolved-dns-zone.c b/src/resolve/resolved-dns-zone.c index d4ede46459c..a471de76969 100644 --- a/src/resolve/resolved-dns-zone.c +++ b/src/resolve/resolved-dns-zone.c @@ -3,7 +3,11 @@ #include "alloc-util.h" #include "dns-domain.h" #include "list.h" +#include "resolved-dns-answer.h" #include "resolved-dns-packet.h" +#include "resolved-dns-rr.h" +#include "resolved-dns-scope.h" +#include "resolved-dns-transaction.h" #include "resolved-dns-zone.h" #include "resolved-dnssd.h" #include "resolved-manager.h" diff --git a/src/resolve/resolved-dns-zone.h b/src/resolve/resolved-dns-zone.h index 1f5a6e0571f..a4c0da5a7bc 100644 --- a/src/resolve/resolved-dns-zone.h +++ b/src/resolve/resolved-dns-zone.h @@ -2,32 +2,32 @@ #pragma once #include "hashmap.h" +#include "list.h" + +typedef struct DnsAnswer DnsAnswer; +typedef struct DnsResourceKey DnsResourceKey; +typedef struct DnsResourceRecord DnsResourceRecord; +typedef struct DnsScope DnsScope; +typedef struct DnsTransaction DnsTransaction; +typedef struct DnsZoneItem DnsZoneItem; typedef struct DnsZone { Hashmap *by_key; Hashmap *by_name; } DnsZone; -typedef struct DnsZoneItem DnsZoneItem; -typedef enum DnsZoneItemState DnsZoneItemState; - -#include "resolved-dns-answer.h" -#include "resolved-dns-question.h" -#include "resolved-dns-rr.h" -#include "resolved-dns-transaction.h" - /* RFC 4795 Section 2.8. suggests a TTL of 30s by default */ #define LLMNR_DEFAULT_TTL (30) /* RFC 6762 Section 10. suggests a TTL of 120s by default */ #define MDNS_DEFAULT_TTL (120) -enum DnsZoneItemState { +typedef enum DnsZoneItemState { DNS_ZONE_ITEM_PROBING, DNS_ZONE_ITEM_ESTABLISHED, DNS_ZONE_ITEM_VERIFYING, DNS_ZONE_ITEM_WITHDRAWN, -}; +} DnsZoneItemState; struct DnsZoneItem { DnsScope *scope; diff --git a/src/resolve/resolved-dnssd-bus.c b/src/resolve/resolved-dnssd-bus.c index 1843382d9b0..844b85ce0a1 100644 --- a/src/resolve/resolved-dnssd-bus.c +++ b/src/resolve/resolved-dnssd-bus.c @@ -2,6 +2,7 @@ #include "alloc-util.h" #include "bus-polkit.h" +#include "resolved-dns-scope.h" #include "resolved-dnssd-bus.h" #include "resolved-dnssd.h" #include "resolved-link.h" diff --git a/src/resolve/resolved-dnssd.c b/src/resolve/resolved-dnssd.c index 00fd7250441..55cbfcef7fc 100644 --- a/src/resolve/resolved-dnssd.c +++ b/src/resolve/resolved-dnssd.c @@ -3,10 +3,12 @@ #include "conf-files.h" #include "conf-parser.h" #include "constants.h" +#include "dns-domain.h" #include "hexdecoct.h" #include "path-util.h" #include "resolved-conf.h" #include "resolved-dns-rr.h" +#include "resolved-dns-zone.h" #include "resolved-dnssd.h" #include "resolved-manager.h" #include "specifier.h" diff --git a/src/resolve/resolved-dnstls.c b/src/resolve/resolved-dnstls.c index 5b259fa1b68..c56f62e1e33 100644 --- a/src/resolve/resolved-dnstls.c +++ b/src/resolve/resolved-dnstls.c @@ -10,6 +10,7 @@ #include "io-util.h" #include "openssl-util.h" +#include "resolved-dns-server.h" #include "resolved-dns-stream.h" #include "resolved-dnstls.h" #include "resolved-manager.h" diff --git a/src/resolve/resolved-etc-hosts.c b/src/resolve/resolved-etc-hosts.c index 0044cd4d95a..14580cb9bea 100644 --- a/src/resolve/resolved-etc-hosts.c +++ b/src/resolve/resolved-etc-hosts.c @@ -4,11 +4,16 @@ #include #include +#include "dns-domain.h" #include "fd-util.h" #include "fileio.h" #include "hostname-util.h" +#include "resolved-dns-answer.h" +#include "resolved-dns-question.h" +#include "resolved-dns-rr.h" #include "resolved-dns-synthesize.h" #include "resolved-etc-hosts.h" +#include "resolved-manager.h" #include "socket-netlink.h" #include "stat-util.h" #include "string-util.h" diff --git a/src/resolve/resolved-etc-hosts.h b/src/resolve/resolved-etc-hosts.h index 805a09bb6d6..032654fcad0 100644 --- a/src/resolve/resolved-etc-hosts.h +++ b/src/resolve/resolved-etc-hosts.h @@ -1,9 +1,19 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "resolved-manager.h" -#include "resolved-dns-question.h" -#include "resolved-dns-answer.h" +#include "in-addr-util.h" +#include "set.h" + +typedef struct DnsAnswer DnsAnswer; +typedef struct DnsQuestion DnsQuestion; +typedef struct EtcHosts EtcHosts; +typedef struct Manager Manager; + +typedef struct EtcHosts { + Hashmap *by_address; + Hashmap *by_name; + Set *no_address; +} EtcHosts; typedef struct EtcHostsItemByAddress { struct in_addr_data address; diff --git a/src/resolve/resolved-gperf.gperf b/src/resolve/resolved-gperf.gperf index 0124ef4208f..c548320449b 100644 --- a/src/resolve/resolved-gperf.gperf +++ b/src/resolve/resolved-gperf.gperf @@ -7,6 +7,7 @@ _Pragma("GCC diagnostic ignored \"-Wzero-as-null-pointer-constant\"") #include #include "conf-parser.h" #include "resolved-conf.h" +#include "resolved-dns-server.h" #include "resolved-manager.h" %} struct ConfigPerfItem; diff --git a/src/resolve/resolved-link-bus.c b/src/resolve/resolved-link-bus.c index c5c986bd53f..8b4e492e884 100644 --- a/src/resolve/resolved-link-bus.c +++ b/src/resolve/resolved-link-bus.c @@ -9,10 +9,15 @@ #include "bus-get-properties.h" #include "bus-message-util.h" #include "bus-polkit.h" +#include "dns-domain.h" #include "log-link.h" #include "parse-util.h" #include "resolve-util.h" #include "resolved-bus.h" +#include "resolved-def.h" +#include "resolved-dns-search-domain.h" +#include "resolved-dns-server.h" +#include "resolved-link.h" #include "resolved-link-bus.h" #include "resolved-llmnr.h" #include "resolved-mdns.h" diff --git a/src/resolve/resolved-link-bus.h b/src/resolve/resolved-link-bus.h index a450c51e56b..e798aae74a3 100644 --- a/src/resolve/resolved-link-bus.h +++ b/src/resolve/resolved-link-bus.h @@ -3,8 +3,9 @@ #include "sd-bus.h" -#include "bus-util.h" -#include "resolved-link.h" +#include "bus-object.h" + +typedef struct Link Link; extern const BusObjectImplementation link_object; diff --git a/src/resolve/resolved-link.c b/src/resolve/resolved-link.c index d6cd902a37d..2a9d606bb41 100644 --- a/src/resolve/resolved-link.c +++ b/src/resolve/resolved-link.c @@ -6,6 +6,7 @@ #include "sd-network.h" #include "alloc-util.h" +#include "dns-domain.h" #include "env-file.h" #include "fd-util.h" #include "fileio.h" @@ -14,7 +15,11 @@ #include "mkdir.h" #include "netif-util.h" #include "parse-util.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-rr.h" #include "resolved-dns-scope.h" +#include "resolved-dns-search-domain.h" +#include "resolved-dns-server.h" #include "resolved-link.h" #include "resolved-llmnr.h" #include "resolved-mdns.h" diff --git a/src/resolve/resolved-link.h b/src/resolve/resolved-link.h index 04c11bc4120..3ae0c209259 100644 --- a/src/resolve/resolved-link.h +++ b/src/resolve/resolved-link.h @@ -6,17 +6,18 @@ #include "sd-netlink.h" #include "in-addr-util.h" +#include "list.h" #include "network-util.h" #include "ratelimit.h" #include "resolve-util.h" +typedef struct DnsResourceRecord DnsResourceRecord; +typedef struct DnsScope DnsScope; +typedef struct DnsSearchDomain DnsSearchDomain; +typedef struct DnsServer DnsServer; typedef struct Link Link; typedef struct LinkAddress LinkAddress; - -#include "resolved-dns-rr.h" -#include "resolved-dns-scope.h" -#include "resolved-dns-search-domain.h" -#include "resolved-dns-server.h" +typedef struct Manager Manager; #define LINK_SEARCH_DOMAINS_MAX 256 #define LINK_DNS_SERVERS_MAX 256 diff --git a/src/resolve/resolved-llmnr.c b/src/resolve/resolved-llmnr.c index abb9c469604..5fdecc97eb7 100644 --- a/src/resolve/resolved-llmnr.c +++ b/src/resolve/resolved-llmnr.c @@ -6,6 +6,10 @@ #include "errno-util.h" #include "fd-util.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-scope.h" +#include "resolved-dns-transaction.h" +#include "resolved-link.h" #include "resolved-llmnr.h" #include "resolved-manager.h" diff --git a/src/resolve/resolved-manager.c b/src/resolve/resolved-manager.c index 2f370790d9d..174db4dcc50 100644 --- a/src/resolve/resolved-manager.c +++ b/src/resolve/resolved-manager.c @@ -33,13 +33,24 @@ #include "random-util.h" #include "resolved-bus.h" #include "resolved-conf.h" +#include "resolved-dns-answer.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-query.h" +#include "resolved-dns-question.h" +#include "resolved-dns-rr.h" +#include "resolved-dns-scope.h" +#include "resolved-dns-search-domain.h" +#include "resolved-dns-server.h" #include "resolved-dns-stub.h" +#include "resolved-dns-transaction.h" #include "resolved-dnssd.h" #include "resolved-etc-hosts.h" +#include "resolved-link.h" #include "resolved-llmnr.h" #include "resolved-manager.h" #include "resolved-mdns.h" #include "resolved-resolv-conf.h" +#include "resolved-socket-graveyard.h" #include "resolved-util.h" #include "resolved-varlink.h" #include "socket-util.h" diff --git a/src/resolve/resolved-manager.h b/src/resolve/resolved-manager.h index 7aac4afe101..e3f98be33db 100644 --- a/src/resolve/resolved-manager.h +++ b/src/resolve/resolved-manager.h @@ -3,6 +3,7 @@ #include +#include "sd-bus.h" #include "sd-event.h" #include "sd-netlink.h" #include "sd-network.h" @@ -13,27 +14,28 @@ #include "list.h" #include "ordered-set.h" #include "resolve-util.h" - -typedef struct Manager Manager; - -#include "resolved-dns-query.h" -#include "resolved-dns-search-domain.h" +#include "resolved-dns-dnssec.h" #include "resolved-dns-stream.h" #include "resolved-dns-stub.h" #include "resolved-dns-trust-anchor.h" -#include "resolved-link.h" -#include "resolved-socket-graveyard.h" +#include "resolved-dnstls.h" +#include "resolved-etc-hosts.h" + +typedef enum DnsServerType DnsServerType; + +typedef struct DnsQuery DnsQuery; +typedef struct DnsResourceKey DnsResourceKey; +typedef struct DnsSearchDomain DnsSearchDomain; +typedef struct DnsScope DnsScope; +typedef struct DnsServer DnsServer; +typedef struct Link Link; +typedef struct LinkAddress LinkAddress; +typedef struct SocketGraveyard SocketGraveyard; #define MANAGER_SEARCH_DOMAINS_MAX 256 #define MANAGER_DNS_SERVERS_MAX 256 -typedef struct EtcHosts { - Hashmap *by_address; - Hashmap *by_name; - Set *no_address; -} EtcHosts; - -struct Manager { +typedef struct Manager { sd_event *event; ResolveSupport llmnr_support; @@ -170,7 +172,7 @@ struct Manager { size_t n_socket_graveyard; struct sigrtmin18_info sigrtmin18_info; -}; +} Manager; /* Manager */ diff --git a/src/resolve/resolved-mdns.c b/src/resolve/resolved-mdns.c index 77b9ebfa20e..19275d9d34a 100644 --- a/src/resolve/resolved-mdns.c +++ b/src/resolve/resolved-mdns.c @@ -5,7 +5,15 @@ #include #include "alloc-util.h" +#include "dns-domain.h" #include "fd-util.h" +#include "resolved-dns-answer.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-question.h" +#include "resolved-dns-rr.h" +#include "resolved-dns-scope.h" +#include "resolved-dns-transaction.h" +#include "resolved-link.h" #include "resolved-manager.h" #include "resolved-mdns.h" #include "sort-util.h" diff --git a/src/resolve/resolved-mdns.h b/src/resolve/resolved-mdns.h index c52bce10691..319fa53703c 100644 --- a/src/resolve/resolved-mdns.h +++ b/src/resolve/resolved-mdns.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "resolved-manager.h" +typedef struct Manager Manager; #define MDNS_PORT 5353 #define MDNS_ANNOUNCE_DELAY (1 * USEC_PER_SEC) diff --git a/src/resolve/resolved-resolv-conf.c b/src/resolve/resolved-resolv-conf.c index 2071e0810cc..3f4c67ecbc3 100644 --- a/src/resolve/resolved-resolv-conf.c +++ b/src/resolve/resolved-resolv-conf.c @@ -14,7 +14,12 @@ #include "ordered-set.h" #include "path-util.h" #include "resolved-conf.h" +#include "resolved-dns-cache.h" +#include "resolved-dns-scope.h" +#include "resolved-dns-search-domain.h" #include "resolved-dns-server.h" +#include "resolved-dns-stub.h" +#include "resolved-manager.h" #include "resolved-resolv-conf.h" #include "stat-util.h" #include "string-table.h" diff --git a/src/resolve/resolved-resolv-conf.h b/src/resolve/resolved-resolv-conf.h index 8c0dee876b7..6738af61999 100644 --- a/src/resolve/resolved-resolv-conf.h +++ b/src/resolve/resolved-resolv-conf.h @@ -1,7 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "resolved-manager.h" +#include + +#include "macro.h" + +typedef struct Manager Manager; int manager_check_resolv_conf(const Manager *m); int manager_read_resolv_conf(Manager *m); diff --git a/src/resolve/resolved-socket-graveyard.c b/src/resolve/resolved-socket-graveyard.c index 9605d725ba1..0b04002bafb 100644 --- a/src/resolve/resolved-socket-graveyard.c +++ b/src/resolve/resolved-socket-graveyard.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "resolved-manager.h" #include "resolved-socket-graveyard.h" #define SOCKET_GRAVEYARD_USEC (5 * USEC_PER_SEC) diff --git a/src/resolve/resolved-socket-graveyard.h b/src/resolve/resolved-socket-graveyard.h index 50c6aad5448..90417313fbd 100644 --- a/src/resolve/resolved-socket-graveyard.h +++ b/src/resolve/resolved-socket-graveyard.h @@ -1,9 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct SocketGraveyard SocketGraveyard; +#include "sd-event.h" + +#include "list.h" +#include "time-util.h" -#include "resolved-manager.h" +typedef struct Manager Manager; +typedef struct SocketGraveyard SocketGraveyard; struct SocketGraveyard { Manager *manager; diff --git a/src/resolve/resolved-varlink.c b/src/resolve/resolved-varlink.c index a69cfb7f2df..dd4c137c75c 100644 --- a/src/resolve/resolved-varlink.c +++ b/src/resolve/resolved-varlink.c @@ -1,10 +1,24 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "bus-polkit.h" +#include "dns-domain.h" +#include "dns-type.h" #include "glyph-util.h" #include "in-addr-util.h" #include "json-util.h" +#include "resolved-dns-answer.h" +#include "resolved-dns-dnssec.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-query.h" +#include "resolved-dns-question.h" +#include "resolved-dns-rr.h" +#include "resolved-dns-scope.h" +#include "resolved-dns-search-domain.h" +#include "resolved-dns-server.h" #include "resolved-dns-synthesize.h" +#include "resolved-dns-transaction.h" +#include "resolved-link.h" +#include "resolved-manager.h" #include "resolved-varlink.h" #include "socket-netlink.h" #include "varlink-io.systemd.Resolve.h" diff --git a/src/resolve/resolved-varlink.h b/src/resolve/resolved-varlink.h index 57fdfe909bd..b96700719bf 100644 --- a/src/resolve/resolved-varlink.h +++ b/src/resolve/resolved-varlink.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "resolved-manager.h" +typedef struct Manager Manager; int manager_varlink_init(Manager *m); void manager_varlink_done(Manager *m); diff --git a/src/resolve/test-dns-packet-append.c b/src/resolve/test-dns-packet-append.c index 9431871a70a..df311286a33 100644 --- a/src/resolve/test-dns-packet-append.c +++ b/src/resolve/test-dns-packet-append.c @@ -1,7 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "dns-type.h" +#include "resolved-dns-answer.h" #include "resolved-dns-packet.h" +#include "resolved-dns-question.h" #include "resolved-dns-rr.h" #include "list.h" diff --git a/src/resolve/test-dns-packet-extract.c b/src/resolve/test-dns-packet-extract.c index 94ac6f6b262..c63484578b4 100644 --- a/src/resolve/test-dns-packet-extract.c +++ b/src/resolve/test-dns-packet-extract.c @@ -1,7 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "dns-type.h" +#include "resolved-dns-answer.h" #include "resolved-dns-packet.h" +#include "resolved-dns-question.h" #include "resolved-dns-rr.h" #include "log.h" diff --git a/src/resolve/test-dns-query.c b/src/resolve/test-dns-query.c index 53c45884744..6ae6b9e09e1 100644 --- a/src/resolve/test-dns-query.c +++ b/src/resolve/test-dns-query.c @@ -1,10 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "log.h" +#include "resolved-dns-answer.h" +#include "resolved-dns-packet.h" #include "resolved-dns-query.h" +#include "resolved-dns-question.h" #include "resolved-dns-rr.h" #include "resolved-dns-scope.h" +#include "resolved-dns-search-domain.h" #include "resolved-dns-server.h" +#include "resolved-dns-transaction.h" #include "resolved-link.h" #include "resolved-manager.h" #include "tests.h" diff --git a/src/resolve/test-dns-synthesize.c b/src/resolve/test-dns-synthesize.c index 64523f48540..eb25a7fbe76 100644 --- a/src/resolve/test-dns-synthesize.c +++ b/src/resolve/test-dns-synthesize.c @@ -2,6 +2,7 @@ #include "log.h" #include "resolved-dns-answer.h" +#include "resolved-dns-packet.h" #include "resolved-dns-question.h" #include "resolved-dns-rr.h" #include "resolved-dns-synthesize.h" diff --git a/src/resolve/test-dns-zone.c b/src/resolve/test-dns-zone.c index e2d46248b19..b1cfbb697a9 100644 --- a/src/resolve/test-dns-zone.c +++ b/src/resolve/test-dns-zone.c @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "dns-type.h" +#include "resolved-dns-answer.h" +#include "resolved-dns-packet.h" #include "resolved-dns-rr.h" #include "resolved-dns-scope.h" #include "resolved-dns-zone.h" diff --git a/src/resolve/test-dnssec.c b/src/resolve/test-dnssec.c index 59ce0c7b2d5..dc2e3f076ca 100644 --- a/src/resolve/test-dnssec.c +++ b/src/resolve/test-dnssec.c @@ -6,6 +6,7 @@ #include "alloc-util.h" #include "hexdecoct.h" +#include "resolved-dns-answer.h" #include "resolved-dns-dnssec.h" #include "resolved-dns-rr.h" #include "string-util.h" diff --git a/src/resolve/test-resolved-dummy-server.c b/src/resolve/test-resolved-dummy-server.c index 81f367039c7..705965f30e1 100644 --- a/src/resolve/test-resolved-dummy-server.c +++ b/src/resolve/test-resolved-dummy-server.c @@ -2,11 +2,13 @@ #include "sd-daemon.h" +#include "dns-type.h" #include "fd-util.h" #include "iovec-util.h" #include "log.h" #include "main-func.h" #include "resolved-dns-packet.h" +#include "resolved-dns-question.h" #include "resolved-manager.h" #include "socket-netlink.h" #include "socket-util.h" diff --git a/src/resolve/test-resolved-link.c b/src/resolve/test-resolved-link.c index 54de7f7ce20..3f6af5d3242 100644 --- a/src/resolve/test-resolved-link.c +++ b/src/resolve/test-resolved-link.c @@ -4,6 +4,9 @@ #include #include "netlink-internal.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-scope.h" +#include "resolved-dns-server.h" #include "resolved-link.h" #include "resolved-manager.h" diff --git a/src/resolve/test-resolved-packet.c b/src/resolve/test-resolved-packet.c index cccbf54d464..af1332bb548 100644 --- a/src/resolve/test-resolved-packet.c +++ b/src/resolve/test-resolved-packet.c @@ -1,8 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-json.h" + #include "hexdecoct.h" #include "log.h" +#include "resolved-dns-answer.h" #include "resolved-dns-packet.h" +#include "resolved-dns-rr.h" #include "tests.h" TEST(dns_packet_new) {