From 284d76414e98c8dac1a2ae7664a1717d621001a0 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Wed, 21 May 2025 13:56:22 +0200 Subject: [PATCH] resolve: Clean up includes Split out of #37344. --- src/resolve/dns-type.c | 1 - src/resolve/dns-type.h | 4 +-- src/resolve/fuzz-dns-packet.c | 1 - src/resolve/fuzz-resource-record.c | 3 +- src/resolve/resolvconf-compat.c | 7 +---- src/resolve/resolvectl.c | 5 +++- src/resolve/resolvectl.h | 4 +-- src/resolve/resolved-bus.c | 11 ++++--- src/resolve/resolved-bus.h | 6 +--- src/resolve/resolved-conf.c | 11 ++----- src/resolve/resolved-conf.h | 4 +-- src/resolve/resolved-def.h | 3 +- src/resolve/resolved-dns-answer.c | 2 +- src/resolve/resolved-dns-answer.h | 5 +--- src/resolve/resolved-dns-cache.c | 7 ++++- src/resolve/resolved-dns-cache.h | 17 +---------- src/resolve/resolved-dns-delegate-bus.c | 5 ++++ src/resolve/resolved-dns-delegate-bus.h | 3 +- src/resolve/resolved-dns-delegate.c | 6 ++++ src/resolve/resolved-dns-delegate.h | 12 ++------ src/resolve/resolved-dns-dnssec.c | 6 ++-- src/resolve/resolved-dns-dnssec.h | 10 +------ src/resolve/resolved-dns-packet.c | 5 +++- src/resolve/resolved-dns-packet.h | 15 +++------- src/resolve/resolved-dns-query.c | 8 +++-- src/resolve/resolved-dns-query.h | 28 ++++------------- src/resolve/resolved-dns-question.c | 4 ++- src/resolve/resolved-dns-question.h | 8 +---- src/resolve/resolved-dns-rr.c | 6 +++- src/resolve/resolved-dns-rr.h | 29 ++++++------------ src/resolve/resolved-dns-scope.c | 7 +++-- src/resolve/resolved-dns-scope.h | 19 +++--------- src/resolve/resolved-dns-search-domain.h | 14 ++------- src/resolve/resolved-dns-server.c | 7 +++-- src/resolve/resolved-dns-server.h | 18 +++-------- src/resolve/resolved-dns-stream.c | 10 +++++-- src/resolve/resolved-dns-stream.h | 18 ++++------- src/resolve/resolved-dns-stub.c | 10 +++++-- src/resolve/resolved-dns-stub.h | 11 ++----- src/resolve/resolved-dns-synthesize.c | 1 + src/resolve/resolved-dns-synthesize.h | 9 +----- src/resolve/resolved-dns-transaction.c | 8 ++++- src/resolve/resolved-dns-transaction.h | 17 ++--------- src/resolve/resolved-dns-trust-anchor.c | 1 + src/resolve/resolved-dns-trust-anchor.h | 6 +--- src/resolve/resolved-dns-zone.c | 4 +++ src/resolve/resolved-dns-zone.h | 13 ++------ src/resolve/resolved-dnssd-bus.c | 6 +++- src/resolve/resolved-dnssd-bus.h | 4 +-- src/resolve/resolved-dnssd.c | 5 ++++ src/resolve/resolved-dnssd.h | 16 ++++------ src/resolve/resolved-dnstls.c | 3 +- src/resolve/resolved-dnstls.h | 7 +---- src/resolve/resolved-etc-hosts.c | 8 ++--- src/resolve/resolved-etc-hosts.h | 7 +---- src/resolve/resolved-forward.h | 38 ++++++++++++++++++++++++ src/resolve/resolved-link-bus.c | 9 ++++-- src/resolve/resolved-link-bus.h | 6 +--- src/resolve/resolved-link.c | 4 +++ src/resolve/resolved-link.h | 20 ++++--------- src/resolve/resolved-llmnr.c | 5 +++- src/resolve/resolved-llmnr.h | 2 +- src/resolve/resolved-manager.c | 17 +++++------ src/resolve/resolved-manager.h | 22 ++------------ src/resolve/resolved-mdns.c | 6 ++-- src/resolve/resolved-mdns.h | 2 +- src/resolve/resolved-resolv-conf.c | 5 +--- src/resolve/resolved-resolv-conf.h | 6 +--- src/resolve/resolved-socket-graveyard.c | 4 +++ src/resolve/resolved-socket-graveyard.h | 11 ++----- src/resolve/resolved-varlink.c | 5 ++++ src/resolve/resolved-varlink.h | 2 +- src/resolve/resolved.c | 8 ++--- src/resolve/test-dns-answer.c | 2 -- src/resolve/test-dns-cache.c | 7 +++-- src/resolve/test-dns-packet-extract.c | 1 - src/resolve/test-dns-packet.c | 7 +---- src/resolve/test-dns-query.c | 3 +- src/resolve/test-dns-question.c | 3 +- src/resolve/test-dns-rr.c | 3 +- src/resolve/test-dns-search-domain.c | 1 - src/resolve/test-dns-synthesize.c | 1 - src/resolve/test-dns-zone.c | 2 -- src/resolve/test-dnssec-complex.c | 3 +- src/resolve/test-dnssec.c | 3 +- src/resolve/test-resolved-dummy-server.c | 4 +++ src/resolve/test-resolved-etc-hosts.c | 5 ++-- src/resolve/test-resolved-link.c | 5 ++-- src/resolve/test-resolved-stream.c | 5 +--- 89 files changed, 287 insertions(+), 405 deletions(-) create mode 100644 src/resolve/resolved-forward.h diff --git a/src/resolve/dns-type.c b/src/resolve/dns-type.c index 4cce7130c07..57fd915c691 100644 --- a/src/resolve/dns-type.c +++ b/src/resolve/dns-type.c @@ -1,6 +1,5 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include "dns-type.h" diff --git a/src/resolve/dns-type.h b/src/resolve/dns-type.h index 590e8f4008e..683c7ee6efc 100644 --- a/src/resolve/dns-type.h +++ b/src/resolve/dns-type.h @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "macro.h" +#include "forward.h" /* DNS record types, taken from * http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml. diff --git a/src/resolve/fuzz-dns-packet.c b/src/resolve/fuzz-dns-packet.c index a5b1fd64f76..27a196cb8f9 100644 --- a/src/resolve/fuzz-dns-packet.c +++ b/src/resolve/fuzz-dns-packet.c @@ -1,7 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "fuzz.h" -#include "memory-util.h" #include "resolved-dns-packet.h" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { diff --git a/src/resolve/fuzz-resource-record.c b/src/resolve/fuzz-resource-record.c index 378308cee8d..8d0817493db 100644 --- a/src/resolve/fuzz-resource-record.c +++ b/src/resolve/fuzz-resource-record.c @@ -2,12 +2,11 @@ #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" +#include "string-util.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/resolvconf-compat.c b/src/resolve/resolvconf-compat.c index 97749d80c2b..47abdc900f8 100644 --- a/src/resolve/resolvconf-compat.c +++ b/src/resolve/resolvconf-compat.c @@ -1,23 +1,18 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include +#include #include "alloc-util.h" #include "build.h" -#include "constants.h" -#include "dns-domain.h" #include "extract-word.h" #include "fileio.h" #include "log.h" -#include "parse-util.h" #include "pretty-print.h" #include "resolvconf-compat.h" #include "resolvectl.h" -#include "resolved-def.h" #include "string-util.h" #include "strv.h" -#include "terminal-util.h" static int resolvconf_help(void) { _cleanup_free_ char *link = NULL; diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c index 7dac8d741fc..bb967f8ce53 100644 --- a/src/resolve/resolvectl.c +++ b/src/resolve/resolvectl.c @@ -6,6 +6,7 @@ #include "sd-bus.h" #include "sd-daemon.h" +#include "sd-event.h" #include "sd-json.h" #include "sd-netlink.h" #include "sd-varlink.h" @@ -22,6 +23,7 @@ #include "bus-util.h" #include "dns-domain.h" #include "errno-list.h" +#include "errno-util.h" #include "escape.h" #include "format-ifname.h" #include "format-table.h" @@ -36,7 +38,6 @@ #include "parse-util.h" #include "polkit-agent.h" #include "pretty-print.h" -#include "process-util.h" #include "resolvconf-compat.h" #include "resolve-util.h" #include "resolvectl.h" @@ -48,8 +49,10 @@ #include "sort-util.h" #include "stdio-util.h" #include "string-table.h" +#include "string-util.h" #include "strv.h" #include "terminal-util.h" +#include "time-util.h" #include "utf8.h" #include "varlink-util.h" #include "verb-log-control.h" diff --git a/src/resolve/resolvectl.h b/src/resolve/resolvectl.h index 16e11fcd08e..c6ec0081699 100644 --- a/src/resolve/resolvectl.h +++ b/src/resolve/resolvectl.h @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include -#include -#include +#include "forward.h" typedef enum ExecutionMode { MODE_RESOLVE_HOST, diff --git a/src/resolve/resolved-bus.c b/src/resolve/resolved-bus.c index be927e07060..bbb6580bb0b 100644 --- a/src/resolve/resolved-bus.c +++ b/src/resolve/resolved-bus.c @@ -1,16 +1,18 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-bus.h" + #include "alloc-util.h" #include "bus-common-errors.h" #include "bus-get-properties.h" #include "bus-locator.h" #include "bus-log-control-api.h" #include "bus-message-util.h" +#include "bus-object.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" @@ -30,18 +32,15 @@ #include "resolved-dns-stub.h" #include "resolved-dns-synthesize.h" #include "resolved-dns-transaction.h" -#include "resolved-dns-trust-anchor.h" #include "resolved-dnssd.h" #include "resolved-dnssd-bus.h" #include "resolved-link.h" #include "resolved-link-bus.h" #include "resolved-manager.h" #include "resolved-resolv-conf.h" +#include "set.h" #include "socket-netlink.h" -#include "stdio-util.h" -#include "strv.h" -#include "syslog-util.h" -#include "user-util.h" +#include "string-util.h" #include "utf8.h" BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_resolve_support, resolve_support, ResolveSupport); diff --git a/src/resolve/resolved-bus.h b/src/resolve/resolved-bus.h index fb8de0ddb49..4bcd41caf9b 100644 --- a/src/resolve/resolved-bus.h +++ b/src/resolve/resolved-bus.h @@ -1,11 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "bus-object.h" -#include "macro.h" - -typedef struct DnsServer DnsServer; -typedef struct Manager Manager; +#include "resolved-forward.h" extern const BusObjectImplementation manager_object; diff --git a/src/resolve/resolved-conf.c b/src/resolve/resolved-conf.c index 415c46d8567..117bf7ccc32 100644 --- a/src/resolve/resolved-conf.c +++ b/src/resolve/resolved-conf.c @@ -2,26 +2,19 @@ #include "alloc-util.h" #include "conf-parser.h" -#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 "ordered-set.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" +#include "set.h" #include "socket-netlink.h" -#include "specifier.h" -#include "string-table.h" #include "string-util.h" -#include "strv.h" -#include "utf8.h" DEFINE_CONFIG_PARSE_ENUM(config_parse_dns_stub_listener_mode, dns_stub_listener_mode, DnsStubListenerMode); diff --git a/src/resolve/resolved-conf.h b/src/resolve/resolved-conf.h index 4499f3b956f..70c7b03aa71 100644 --- a/src/resolve/resolved-conf.h +++ b/src/resolve/resolved-conf.h @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" - -typedef struct Manager Manager; +#include "resolved-forward.h" typedef enum ResolveConfigSource { RESOLVE_CONFIG_SOURCE_FILE, diff --git a/src/resolve/resolved-def.h b/src/resolve/resolved-def.h index f702a0a0ea4..de06c8ad28e 100644 --- a/src/resolve/resolved-def.h +++ b/src/resolve/resolved-def.h @@ -1,8 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - +#include "resolved-forward.h" #include "time-util.h" /* Input + Output: The various protocols we can use */ diff --git a/src/resolve/resolved-dns-answer.c b/src/resolve/resolved-dns-answer.c index 2b9e750010c..144b8c3b677 100644 --- a/src/resolve/resolved-dns-answer.c +++ b/src/resolve/resolved-dns-answer.c @@ -7,8 +7,8 @@ #include "log.h" #include "random-util.h" #include "resolved-dns-answer.h" -#include "resolved-dns-dnssec.h" #include "resolved-dns-rr.h" +#include "siphash24.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 0707a9a6c0c..e4c1d2cb2a4 100644 --- a/src/resolve/resolved-dns-answer.h +++ b/src/resolve/resolved-dns-answer.h @@ -1,11 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "macro.h" #include "ordered-set.h" - -typedef struct DnsResourceKey DnsResourceKey; -typedef struct DnsResourceRecord DnsResourceRecord; +#include "resolved-forward.h" /* 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. diff --git a/src/resolve/resolved-dns-cache.c b/src/resolve/resolved-dns-cache.c index f14ddd19ab5..7f39e05c59b 100644 --- a/src/resolve/resolved-dns-cache.c +++ b/src/resolve/resolved-dns-cache.c @@ -1,17 +1,22 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include +#include "sd-json.h" #include "af-list.h" #include "alloc-util.h" +#include "bitmap.h" #include "dns-domain.h" #include "format-ifname.h" +#include "log.h" +#include "prioq.h" +#include "resolve-util.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" +#include "time-util.h" /* Never cache more than 4K entries. RFC 1536, Section 5 suggests to * leave DNS caches unbounded, but that's crazy. */ diff --git a/src/resolve/resolved-dns-cache.h b/src/resolve/resolved-dns-cache.h index c7649713736..be98a8a5676 100644 --- a/src/resolve/resolved-dns-cache.h +++ b/src/resolve/resolved-dns-cache.h @@ -1,22 +1,7 @@ /* 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 "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; +#include "resolved-forward.h" typedef struct DnsCache { Hashmap *by_key; diff --git a/src/resolve/resolved-dns-delegate-bus.c b/src/resolve/resolved-dns-delegate-bus.c index 60134b504ce..c1ea2d1ebb4 100644 --- a/src/resolve/resolved-dns-delegate-bus.c +++ b/src/resolve/resolved-dns-delegate-bus.c @@ -1,6 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-bus.h" + +#include "alloc-util.h" #include "bus-get-properties.h" +#include "bus-object.h" +#include "hashmap.h" #include "resolved-bus.h" #include "resolved-dns-delegate.h" #include "resolved-dns-delegate-bus.h" diff --git a/src/resolve/resolved-dns-delegate-bus.h b/src/resolve/resolved-dns-delegate-bus.h index 7acdd5a983e..e647c5321fe 100644 --- a/src/resolve/resolved-dns-delegate-bus.h +++ b/src/resolve/resolved-dns-delegate-bus.h @@ -1,8 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct BusObjectImplementation BusObjectImplementation; -typedef struct DnsDelegate DnsDelegate; +#include "resolved-forward.h" extern const BusObjectImplementation dns_delegate_object; diff --git a/src/resolve/resolved-dns-delegate.c b/src/resolve/resolved-dns-delegate.c index 969836c3047..287f9ad1318 100644 --- a/src/resolve/resolved-dns-delegate.c +++ b/src/resolve/resolved-dns-delegate.c @@ -1,9 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "alloc-util.h" #include "conf-files.h" +#include "conf-parser.h" #include "constants.h" #include "dns-domain.h" +#include "extract-word.h" +#include "hashmap.h" #include "in-addr-util.h" +#include "log.h" #include "path-util.h" #include "resolved-dns-delegate.h" #include "resolved-dns-scope.h" @@ -11,6 +16,7 @@ #include "resolved-dns-server.h" #include "resolved-manager.h" #include "socket-netlink.h" +#include "string-util.h" #include "strv.h" #define DNS_DELEGATES_MAX 4096U diff --git a/src/resolve/resolved-dns-delegate.h b/src/resolve/resolved-dns-delegate.h index 3ce3c1e172b..509cc06335e 100644 --- a/src/resolve/resolved-dns-delegate.h +++ b/src/resolve/resolved-dns-delegate.h @@ -1,14 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "conf-parser.h" #include "list.h" - -typedef struct DnsDelegate DnsDelegate; -typedef struct DnsScope DnsScope; -typedef struct DnsSearchDomain DnsSearchDomain; -typedef struct DnsServer DnsServer; -typedef struct Manager Manager; +#include "resolved-forward.h" #define DELEGATE_SEARCH_DOMAINS_MAX 256 #define DELEGATE_DNS_SERVERS_MAX 256 @@ -16,7 +10,7 @@ typedef struct Manager Manager; /* A DnsDelegate object is used to manage additional, explicitly configured unicast DNS lookup scopes, * independent from any network link and from the global scope. */ -struct DnsDelegate { +typedef struct DnsDelegate { Manager *manager; char *id; @@ -32,7 +26,7 @@ struct DnsDelegate { DnsScope *scope; LIST_FIELDS(DnsDelegate, delegates); -}; +} DnsDelegate; int dns_delegate_new(Manager *m, const char *id, DnsDelegate **ret); DnsDelegate *dns_delegate_free(DnsDelegate *d); diff --git a/src/resolve/resolved-dns-dnssec.c b/src/resolve/resolved-dns-dnssec.c index 221cd8548d6..321aa0816e4 100644 --- a/src/resolve/resolved-dns-dnssec.c +++ b/src/resolve/resolved-dns-dnssec.c @@ -1,10 +1,9 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" +#include "bitmap.h" #include "dns-domain.h" #include "dns-type.h" -#include "fd-util.h" -#include "fileio.h" #include "hexdecoct.h" #include "log.h" #include "memory-util.h" @@ -12,10 +11,11 @@ #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" +#include "string-util.h" +#include "time-util.h" #if HAVE_OPENSSL && OPENSSL_VERSION_MAJOR >= 3 DISABLE_WARNING_DEPRECATED_DECLARATIONS; diff --git a/src/resolve/resolved-dns-dnssec.h b/src/resolve/resolved-dns-dnssec.h index 21a9bd54af7..cd2e92f20e5 100644 --- a/src/resolve/resolved-dns-dnssec.h +++ b/src/resolve/resolved-dns-dnssec.h @@ -1,15 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include -#include -#include - -#include "time-util.h" - -typedef struct DnsAnswer DnsAnswer; -typedef struct DnsResourceKey DnsResourceKey; -typedef struct DnsResourceRecord DnsResourceRecord; +#include "resolved-forward.h" typedef enum DnssecResult { /* These six are returned by dnssec_verify_rrset() */ diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c index 0bf692c06ad..e091d4273b6 100644 --- a/src/resolve/resolved-dns-packet.c +++ b/src/resolve/resolved-dns-packet.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" +#include "bitmap.h" #include "dns-domain.h" #include "escape.h" #include "log.h" @@ -10,9 +11,11 @@ #include "resolved-dns-question.h" #include "resolved-dns-rr.h" #include "set.h" +#include "siphash24.h" #include "stdio-util.h" #include "string-table.h" -#include "strv.h" +#include "string-util.h" +#include "time-util.h" #include "unaligned.h" #include "utf8.h" diff --git a/src/resolve/resolved-dns-packet.h b/src/resolve/resolved-dns-packet.h index 6e93980d366..8095807805b 100644 --- a/src/resolve/resolved-dns-packet.h +++ b/src/resolve/resolved-dns-packet.h @@ -5,19 +5,12 @@ #include #include -#include "hashmap.h" #include "in-addr-util.h" -#include "macro.h" +#include "memory-util.h" #include "resolved-def.h" -#include "resolved-dns-answer.h" +#include "resolved-forward.h" #include "sparse-endian.h" -typedef struct DnsAnswer DnsAnswer; -typedef struct DnsPacket DnsPacket; -typedef struct DnsQuestion DnsQuestion; -typedef struct DnsResourceKey DnsResourceKey; -typedef struct DnsResourceRecord DnsResourceRecord; - typedef enum DnsProtocol { DNS_PROTOCOL_DNS, DNS_PROTOCOL_MDNS, @@ -58,7 +51,7 @@ assert_cc(sizeof(DnsPacketHeader) == 12); /* With EDNS0 we can use larger packets, default to 1232, which is what is commonly used */ #define DNS_PACKET_UNICAST_SIZE_LARGE_MAX 1232u -struct DnsPacket { +typedef struct DnsPacket { unsigned n_ref; DnsProtocol protocol; size_t size, allocated, rindex, max_size, fragsize; @@ -88,7 +81,7 @@ struct DnsPacket { bool canonical_form; /* Note: fields should be ordered to minimize alignment gaps. Use pahole! */ -}; +} DnsPacket; static inline uint8_t* DNS_PACKET_DATA(const DnsPacket *p) { if (_unlikely_(!p)) diff --git a/src/resolve/resolved-dns-query.c b/src/resolve/resolved-dns-query.c index 2da402c92f6..da35656bcf6 100644 --- a/src/resolve/resolved-dns-query.c +++ b/src/resolve/resolved-dns-query.c @@ -1,12 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-bus.h" +#include "sd-varlink.h" + #include "alloc-util.h" #include "dns-domain.h" #include "dns-type.h" #include "event-util.h" #include "glyph-util.h" -#include "hostname-util.h" -#include "local-addresses.h" +#include "log.h" #include "resolved-dns-answer.h" #include "resolved-dns-packet.h" #include "resolved-dns-query.h" @@ -14,12 +16,12 @@ #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 "set.h" #include "string-util.h" #define QUERIES_MAX 2048 diff --git a/src/resolve/resolved-dns-query.h b/src/resolve/resolved-dns-query.h index 9433ed91268..9eec6d87d16 100644 --- a/src/resolve/resolved-dns-query.h +++ b/src/resolve/resolved-dns-query.h @@ -1,29 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#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; -typedef struct Manager Manager; - -struct DnsQueryCandidate { +#include "resolved-forward.h" + +typedef struct DnsQueryCandidate { unsigned n_ref; int error_code; @@ -37,9 +21,9 @@ struct DnsQueryCandidate { LIST_FIELDS(DnsQueryCandidate, candidates_by_query); LIST_FIELDS(DnsQueryCandidate, candidates_by_scope); -}; +} DnsQueryCandidate; -struct DnsQuery { +typedef struct DnsQuery { Manager *manager; /* The question, formatted in IDNA for use on classic DNS, and as UTF8 for use in LLMNR or mDNS. Note @@ -129,7 +113,7 @@ struct DnsQuery { LIST_FIELDS(DnsQuery, auxiliary_queries); /* Note: fields should be ordered to minimize alignment gaps. Use pahole! */ -}; +} DnsQuery; enum { DNS_QUERY_MATCH, diff --git a/src/resolve/resolved-dns-question.c b/src/resolve/resolved-dns-question.c index 7d8f4832931..9288aa0af8c 100644 --- a/src/resolve/resolved-dns-question.c +++ b/src/resolve/resolved-dns-question.c @@ -1,12 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + #include "alloc-util.h" #include "dns-domain.h" #include "dns-type.h" -#include "log.h" #include "resolved-dns-question.h" #include "resolved-dns-rr.h" #include "socket-util.h" +#include "string-util.h" DnsQuestion *dns_question_new(size_t n) { DnsQuestion *q; diff --git a/src/resolve/resolved-dns-question.h b/src/resolve/resolved-dns-question.h index 33997963c16..15ea3024eca 100644 --- a/src/resolve/resolved-dns-question.h +++ b/src/resolve/resolved-dns-question.h @@ -1,13 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "in-addr-util.h" -#include "memory-util.h" - -typedef struct DnsResourceKey DnsResourceKey; -typedef struct DnsResourceRecord DnsResourceRecord; +#include "resolved-forward.h" /* A simple array of resource keys */ diff --git a/src/resolve/resolved-dns-rr.c b/src/resolve/resolved-dns-rr.c index e7d797c506a..4be6dd0f23c 100644 --- a/src/resolve/resolved-dns-rr.c +++ b/src/resolve/resolved-dns-rr.c @@ -3,20 +3,24 @@ #include #include "alloc-util.h" +#include "bitmap.h" #include "dns-domain.h" #include "dns-type.h" #include "escape.h" +#include "hash-funcs.h" #include "hexdecoct.h" #include "json-util.h" -#include "log.h" #include "memory-util.h" +#include "resolved-dns-answer.h" #include "resolved-dns-dnssec.h" #include "resolved-dns-packet.h" #include "resolved-dns-rr.h" +#include "siphash24.h" #include "string-table.h" #include "string-util.h" #include "strv.h" #include "terminal-util.h" +#include "time-util.h" #include "unaligned.h" DnsResourceKey* dns_resource_key_new(uint16_t class, uint16_t type, const char *name) { diff --git a/src/resolve/resolved-dns-rr.h b/src/resolve/resolved-dns-rr.h index 3ad98ee571a..d183d0b80fe 100644 --- a/src/resolve/resolved-dns-rr.h +++ b/src/resolve/resolved-dns-rr.h @@ -3,21 +3,10 @@ #include -#include "sd-json.h" - -#include "bitmap.h" #include "dns-def.h" #include "dns-type.h" -#include "hashmap.h" -#include "in-addr-util.h" #include "list.h" -#include "string-util.h" -#include "time-util.h" - -typedef struct DnsResourceKey DnsResourceKey; -typedef struct DnsResourceRecord DnsResourceRecord; -typedef struct DnsTxtItem DnsTxtItem; -typedef struct DnsSvcParam DnsSvcParam; +#include "resolved-forward.h" /* DNSKEY RR flags */ #define DNSKEY_FLAG_SEP (UINT16_C(1) << 0) @@ -68,11 +57,11 @@ enum { _NSEC3_ALGORITHM_MAX_DEFINED }; -struct DnsResourceKey { +typedef struct DnsResourceKey { unsigned n_ref; /* (unsigned -1) for const keys, see below */ uint16_t class, type; char *_name; /* don't access directly, use dns_resource_key_name()! */ -}; +} DnsResourceKey; /* Creates a temporary resource key. This is only useful to quickly * look up something, without allocating a full DnsResourceKey object @@ -86,13 +75,13 @@ struct DnsResourceKey { ._name = (char*) n, \ }) -struct DnsTxtItem { +typedef struct DnsTxtItem { size_t length; LIST_FIELDS(DnsTxtItem, items); uint8_t data[]; -}; +} DnsTxtItem; -struct DnsSvcParam { +typedef struct DnsSvcParam { uint16_t key; size_t length; LIST_FIELDS(DnsSvcParam, params); @@ -101,9 +90,9 @@ struct DnsSvcParam { DECLARE_FLEX_ARRAY(struct in_addr, value_in_addr); DECLARE_FLEX_ARRAY(struct in6_addr, value_in6_addr); }; -}; +} DnsSvcParam; -struct DnsResourceRecord { +typedef struct DnsResourceRecord { unsigned n_ref; uint32_t ttl; usec_t expiry; /* RRSIG signature expiry */ @@ -284,7 +273,7 @@ struct DnsResourceRecord { }; /* Note: fields should be ordered to minimize alignment gaps. Use pahole! */ -}; +} DnsResourceRecord; /* We use uint8_t for label counts above, and UINT8_MAX/-1 has special meaning. */ assert_cc(DNS_N_LABELS_MAX < UINT8_MAX); diff --git a/src/resolve/resolved-dns-scope.c b/src/resolve/resolved-dns-scope.c index 4525f253de7..72b918b3cfc 100644 --- a/src/resolve/resolved-dns-scope.c +++ b/src/resolve/resolved-dns-scope.c @@ -2,6 +2,9 @@ #include +#include "sd-event.h" +#include "sd-json.h" + #include "af-list.h" #include "alloc-util.h" #include "dns-domain.h" @@ -9,7 +12,7 @@ #include "errno-util.h" #include "fd-util.h" #include "hostname-util.h" -#include "missing_network.h" +#include "log.h" #include "random-util.h" #include "resolved-dns-answer.h" #include "resolved-dns-delegate.h" @@ -29,9 +32,9 @@ #include "resolved-manager.h" #include "resolved-mdns.h" #include "resolved-timeouts.h" +#include "set.h" #include "socket-util.h" #include "string-table.h" -#include "strv.h" #define MULTICAST_RATELIMIT_INTERVAL_USEC (1*USEC_PER_SEC) #define MULTICAST_RATELIMIT_BURST 1000 diff --git a/src/resolve/resolved-dns-scope.h b/src/resolve/resolved-dns-scope.h index 872457ffc20..4e930499ec8 100644 --- a/src/resolve/resolved-dns-scope.h +++ b/src/resolve/resolved-dns-scope.h @@ -1,26 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-event.h" - #include "dns-def.h" +#include "forward.h" #include "list.h" #include "ratelimit.h" #include "resolve-util.h" #include "resolved-dns-cache.h" #include "resolved-dns-packet.h" #include "resolved-dns-zone.h" -#include "socket-util.h" - -typedef struct DnsDelegate DnsDelegate; -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; +#include "resolved-forward.h" typedef enum DnsScopeMatch { DNS_SCOPE_NO, @@ -40,7 +29,7 @@ typedef enum DnsScopeOrigin { _DNS_SCOPE_ORIGIN_INVALID = -EINVAL, } DnsScopeOrigin; -struct DnsScope { +typedef struct DnsScope { Manager *manager; DnsScopeOrigin origin; @@ -84,7 +73,7 @@ struct DnsScope { LIST_FIELDS(DnsScope, scopes); bool announced; -}; +} DnsScope; int dns_scope_new(Manager *m, DnsScope **ret, DnsScopeOrigin origin, Link *link, DnsDelegate *delegate, DnsProtocol protocol, int family); DnsScope* dns_scope_free(DnsScope *s); diff --git a/src/resolve/resolved-dns-search-domain.h b/src/resolve/resolved-dns-search-domain.h index 63bd357b831..503f6bf3e6c 100644 --- a/src/resolve/resolved-dns-search-domain.h +++ b/src/resolve/resolved-dns-search-domain.h @@ -1,16 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-json.h" - #include "list.h" -#include "macro.h" -#include "memory-util.h" - -typedef struct DnsDelegate DnsDelegate; -typedef struct DnsSearchDomain DnsSearchDomain; -typedef struct Link Link; -typedef struct Manager Manager; +#include "resolved-forward.h" typedef enum DnsSearchDomainType { DNS_SEARCH_DOMAIN_SYSTEM, @@ -18,7 +10,7 @@ typedef enum DnsSearchDomainType { DNS_SEARCH_DOMAIN_DELEGATE, } DnsSearchDomainType; -struct DnsSearchDomain { +typedef struct DnsSearchDomain { Manager *manager; unsigned n_ref; @@ -34,7 +26,7 @@ struct DnsSearchDomain { bool linked:1; LIST_FIELDS(DnsSearchDomain, domains); -}; +} DnsSearchDomain; int dns_search_domain_new( Manager *m, diff --git a/src/resolve/resolved-dns-server.c b/src/resolve/resolved-dns-server.c index 7845dcfd217..a177c323e2b 100644 --- a/src/resolve/resolved-dns-server.c +++ b/src/resolve/resolved-dns-server.c @@ -1,13 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include - +#include "sd-event.h" #include "sd-messages.h" #include "alloc-util.h" #include "dns-domain.h" #include "errno-util.h" +#include "extract-word.h" #include "fd-util.h" +#include "hash-funcs.h" #include "json-util.h" #include "resolved-bus.h" #include "resolved-dns-cache.h" @@ -16,7 +17,6 @@ #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" @@ -25,6 +25,7 @@ #include "socket-util.h" #include "string-table.h" #include "string-util.h" +#include "time-util.h" /* The amount of time to wait before retrying with a full feature set */ #define DNS_SERVER_FEATURE_GRACE_PERIOD_MAX_USEC (6 * USEC_PER_HOUR) diff --git a/src/resolve/resolved-dns-server.h b/src/resolve/resolved-dns-server.h index bef352aa421..efc8de2f0a3 100644 --- a/src/resolve/resolved-dns-server.h +++ b/src/resolve/resolved-dns-server.h @@ -1,22 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-json.h" - +#include "forward.h" #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 DnsDelegate DnsDelegate; -typedef struct DnsPacket DnsPacket; -typedef struct DnsScope DnsScope; -typedef struct DnsServer DnsServer; -typedef struct DnsStream DnsStream; -typedef struct Link Link; -typedef struct Manager Manager; +#include "resolved-forward.h" typedef enum DnsServerType { DNS_SERVER_SYSTEM, @@ -51,7 +41,7 @@ typedef enum DnsServerFeatureLevel { const char* dns_server_feature_level_to_string(DnsServerFeatureLevel i) _const_; DnsServerFeatureLevel dns_server_feature_level_from_string(const char *s) _pure_; -struct DnsServer { +typedef struct DnsServer { Manager *manager; unsigned n_ref; @@ -110,7 +100,7 @@ struct DnsServer { /* Tri-state to indicate if the DNS server is accessible. */ int accessible; -}; +} DnsServer; int dns_server_new( Manager *m, diff --git a/src/resolve/resolved-dns-stream.c b/src/resolve/resolved-dns-stream.c index 03c6cd7cf4d..728c3f76204 100644 --- a/src/resolve/resolved-dns-stream.c +++ b/src/resolve/resolved-dns-stream.c @@ -1,18 +1,22 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include -#include #include +#include "sd-event.h" + #include "alloc-util.h" +#include "errno-util.h" #include "fd-util.h" #include "iovec-util.h" -#include "macro.h" +#include "log.h" #include "missing_network.h" +#include "ordered-set.h" #include "resolved-dns-packet.h" #include "resolved-dns-server.h" #include "resolved-dns-stream.h" #include "resolved-manager.h" +#include "set.h" +#include "time-util.h" #define DNS_STREAMS_MAX 128 diff --git a/src/resolve/resolved-dns-stream.h b/src/resolve/resolved-dns-stream.h index fe661d5cee2..91f65e446a4 100644 --- a/src/resolve/resolved-dns-stream.h +++ b/src/resolve/resolved-dns-stream.h @@ -1,20 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-event.h" - +#include "forward.h" #include "list.h" -#include "ordered-set.h" #include "resolved-dns-packet.h" #include "resolved-dnstls.h" +#include "resolved-forward.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 "sparse-endian.h" +#include "time-util.h" /* Various timeouts for establishing TCP connections. First the default timeout for that. */ #define DNS_STREAM_DEFAULT_TIMEOUT_USEC (10 * USEC_PER_SEC) @@ -46,7 +40,7 @@ typedef enum DnsStreamType { * 3. The DNS stub logic when accepting a TCP-based lookup */ -struct DnsStream { +typedef struct DnsStream { Manager *manager; unsigned n_ref; @@ -94,7 +88,7 @@ struct DnsStream { DnsStubListenerExtra *stub_listener_extra; LIST_FIELDS(DnsStream, streams); -}; +} DnsStream; int dns_stream_new( Manager *m, diff --git a/src/resolve/resolved-dns-stub.c b/src/resolve/resolved-dns-stub.c index e70902a60b3..82f852a9368 100644 --- a/src/resolve/resolved-dns-stub.c +++ b/src/resolve/resolved-dns-stub.c @@ -1,8 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include +#include "sd-event.h" +#include "sd-id128.h" + #include "alloc-util.h" #include "capability-util.h" #include "dns-type.h" @@ -10,7 +12,6 @@ #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" @@ -21,10 +22,13 @@ #include "resolved-dns-stub.h" #include "resolved-dns-transaction.h" #include "resolved-manager.h" -#include "socket-netlink.h" +#include "set.h" +#include "siphash24.h" #include "socket-util.h" #include "stdio-util.h" #include "string-table.h" +#include "string-util.h" +#include "time-util.h" /* The MTU of the loopback device is 64K on Linux, advertise that as maximum datagram size, but subtract the Ethernet, * IP and UDP header sizes */ diff --git a/src/resolve/resolved-dns-stub.h b/src/resolve/resolved-dns-stub.h index bfde108026c..a7b0e417220 100644 --- a/src/resolve/resolved-dns-stub.h +++ b/src/resolve/resolved-dns-stub.h @@ -1,13 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-event.h" - -#include "hashmap.h" #include "in-addr-util.h" - -typedef struct DnsStubListenerExtra DnsStubListenerExtra; -typedef struct Manager Manager; +#include "resolved-forward.h" typedef enum DnsStubListenerMode { DNS_STUB_LISTENER_NO, @@ -18,7 +13,7 @@ typedef enum DnsStubListenerMode { _DNS_STUB_LISTENER_MODE_INVALID = -EINVAL, } DnsStubListenerMode; -struct DnsStubListenerExtra { +typedef struct DnsStubListenerExtra { Manager *manager; DnsStubListenerMode mode; @@ -31,7 +26,7 @@ struct DnsStubListenerExtra { sd_event_source *tcp_event_source; Hashmap *queries_by_packet; -}; +} DnsStubListenerExtra; extern const struct hash_ops dns_stub_listener_extra_hash_ops; diff --git a/src/resolve/resolved-dns-synthesize.c b/src/resolve/resolved-dns-synthesize.c index 0f19fa51c39..c549856b93e 100644 --- a/src/resolve/resolved-dns-synthesize.c +++ b/src/resolve/resolved-dns-synthesize.c @@ -6,6 +6,7 @@ #include "env-util.h" #include "hostname-util.h" #include "local-addresses.h" +#include "log.h" #include "missing_network.h" #include "resolved-def.h" #include "resolved-dns-answer.h" diff --git a/src/resolve/resolved-dns-synthesize.h b/src/resolve/resolved-dns-synthesize.h index f121eb442af..43a9c0623a5 100644 --- a/src/resolve/resolved-dns-synthesize.h +++ b/src/resolve/resolved-dns-synthesize.h @@ -1,14 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include -#include - -typedef enum DnsProtocol DnsProtocol; - -typedef struct DnsAnswer DnsAnswer; -typedef struct DnsQuestion DnsQuestion; -typedef struct Manager Manager; +#include "resolved-forward.h" 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 12abd8b0e83..d6dbba546c6 100644 --- a/src/resolve/resolved-dns-transaction.c +++ b/src/resolve/resolved-dns-transaction.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-event.h" #include "sd-messages.h" #include "af-list.h" @@ -9,6 +10,7 @@ #include "errno-util.h" #include "fd-util.h" #include "glyph-util.h" +#include "log.h" #include "random-util.h" #include "resolved-dns-answer.h" #include "resolved-dns-cache.h" @@ -18,13 +20,17 @@ #include "resolved-dns-rr.h" #include "resolved-dns-scope.h" #include "resolved-dns-server.h" +#include "resolved-dns-stream.h" #include "resolved-dns-transaction.h" #include "resolved-dnstls.h" #include "resolved-link.h" #include "resolved-llmnr.h" +#include "resolved-manager.h" #include "resolved-socket-graveyard.h" #include "resolved-timeouts.h" +#include "set.h" #include "string-table.h" +#include "string-util.h" #define TRANSACTIONS_MAX 4096 @@ -473,7 +479,7 @@ static void dns_transaction_complete_errno(DnsTransaction *t, int error) { assert(t); assert(error != 0); - t->answer_errno = abs(error); + t->answer_errno = ABS(error); dns_transaction_complete(t, DNS_TRANSACTION_ERRNO); } diff --git a/src/resolve/resolved-dns-transaction.h b/src/resolve/resolved-dns-transaction.h index 85feffb0d07..e7f9ca7fbf6 100644 --- a/src/resolve/resolved-dns-transaction.h +++ b/src/resolve/resolved-dns-transaction.h @@ -1,22 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-event.h" - -#include "in-addr-util.h" #include "list.h" #include "resolved-def.h" #include "resolved-dns-dnssec.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; +#include "resolved-forward.h" typedef enum DnsTransactionState { DNS_TRANSACTION_NULL, @@ -52,7 +41,7 @@ typedef enum DnsTransactionSource { _DNS_TRANSACTION_SOURCE_INVALID = -EINVAL, } DnsTransactionSource; -struct DnsTransaction { +typedef struct DnsTransaction { DnsScope *scope; DnsResourceKey *key; /* For regular lookups the RR key to look for */ @@ -149,7 +138,7 @@ struct DnsTransaction { LIST_FIELDS(DnsTransaction, transactions_by_key); /* Note: fields should be ordered to minimize alignment gaps. Use pahole! */ -}; +} DnsTransaction; int dns_transaction_new(DnsTransaction **ret, DnsScope *s, DnsResourceKey *key, DnsPacket *bypass, uint64_t flags); DnsTransaction* dns_transaction_free(DnsTransaction *t); diff --git a/src/resolve/resolved-dns-trust-anchor.c b/src/resolve/resolved-dns-trust-anchor.c index 8cc495c898a..3c4d7efdc59 100644 --- a/src/resolve/resolved-dns-trust-anchor.c +++ b/src/resolve/resolved-dns-trust-anchor.c @@ -6,6 +6,7 @@ #include "conf-files.h" #include "constants.h" #include "dns-domain.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "hexdecoct.h" diff --git a/src/resolve/resolved-dns-trust-anchor.h b/src/resolve/resolved-dns-trust-anchor.h index 969e648957d..640aa4cb8b0 100644 --- a/src/resolve/resolved-dns-trust-anchor.h +++ b/src/resolve/resolved-dns-trust-anchor.h @@ -1,11 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "hashmap.h" - -typedef struct DnsAnswer DnsAnswer; -typedef struct DnsResourceKey DnsResourceKey; -typedef struct DnsResourceRecord DnsResourceRecord; +#include "resolved-forward.h" /* This contains a fixed database mapping domain names to DS or DNSKEY records. */ diff --git a/src/resolve/resolved-dns-zone.c b/src/resolve/resolved-dns-zone.c index a471de76969..bb30c5a6f70 100644 --- a/src/resolve/resolved-dns-zone.c +++ b/src/resolve/resolved-dns-zone.c @@ -1,8 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + #include "alloc-util.h" #include "dns-domain.h" #include "list.h" +#include "log.h" #include "resolved-dns-answer.h" #include "resolved-dns-packet.h" #include "resolved-dns-rr.h" @@ -11,6 +14,7 @@ #include "resolved-dns-zone.h" #include "resolved-dnssd.h" #include "resolved-manager.h" +#include "set.h" #include "string-util.h" /* Never allow more than 1K entries */ diff --git a/src/resolve/resolved-dns-zone.h b/src/resolve/resolved-dns-zone.h index a4c0da5a7bc..63bee685ba9 100644 --- a/src/resolve/resolved-dns-zone.h +++ b/src/resolve/resolved-dns-zone.h @@ -1,15 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #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; +#include "resolved-forward.h" typedef struct DnsZone { Hashmap *by_key; @@ -29,7 +22,7 @@ typedef enum DnsZoneItemState { DNS_ZONE_ITEM_WITHDRAWN, } DnsZoneItemState; -struct DnsZoneItem { +typedef struct DnsZoneItem { DnsScope *scope; DnsResourceRecord *rr; @@ -43,7 +36,7 @@ struct DnsZoneItem { LIST_FIELDS(DnsZoneItem, by_name); DnsTransaction *probe_transaction; -}; +} DnsZoneItem; void dns_zone_flush(DnsZone *z); diff --git a/src/resolve/resolved-dnssd-bus.c b/src/resolve/resolved-dnssd-bus.c index 0f97eae05ac..6b344427d76 100644 --- a/src/resolve/resolved-dnssd-bus.c +++ b/src/resolve/resolved-dnssd-bus.c @@ -1,14 +1,18 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-bus.h" + #include "alloc-util.h" +#include "bus-object.h" #include "bus-polkit.h" +#include "hashmap.h" +#include "log.h" #include "resolved-dns-scope.h" #include "resolved-dnssd.h" #include "resolved-dnssd-bus.h" #include "resolved-link.h" #include "resolved-manager.h" #include "strv.h" -#include "user-util.h" int bus_dnssd_method_unregister(sd_bus_message *message, void *userdata, sd_bus_error *error) { DnssdService *s = ASSERT_PTR(userdata); diff --git a/src/resolve/resolved-dnssd-bus.h b/src/resolve/resolved-dnssd-bus.h index f396e23cd76..04fd506cf45 100644 --- a/src/resolve/resolved-dnssd-bus.h +++ b/src/resolve/resolved-dnssd-bus.h @@ -2,9 +2,7 @@ #pragma once -#include "sd-bus.h" - -#include "bus-object.h" +#include "forward.h" extern const BusObjectImplementation dnssd_object; diff --git a/src/resolve/resolved-dnssd.c b/src/resolve/resolved-dnssd.c index 6523737ccec..725f8238026 100644 --- a/src/resolve/resolved-dnssd.c +++ b/src/resolve/resolved-dnssd.c @@ -1,10 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-bus.h" + #include "alloc-util.h" #include "conf-files.h" #include "conf-parser.h" #include "constants.h" #include "dns-domain.h" +#include "extract-word.h" +#include "hashmap.h" #include "hexdecoct.h" #include "path-util.h" #include "resolved-conf.h" @@ -13,6 +17,7 @@ #include "resolved-dnssd.h" #include "resolved-manager.h" #include "specifier.h" +#include "string-util.h" #include "strv.h" #include "utf8.h" diff --git a/src/resolve/resolved-dnssd.h b/src/resolve/resolved-dnssd.h index 8aaa9da748d..98d6a54a6cd 100644 --- a/src/resolve/resolved-dnssd.h +++ b/src/resolve/resolved-dnssd.h @@ -4,28 +4,22 @@ #include "list.h" #include "resolved-conf.h" - -typedef struct DnssdService DnssdService; -typedef struct DnssdTxtData DnssdTxtData; - -typedef struct Manager Manager; -typedef struct DnsResourceRecord DnsResourceRecord; -typedef struct DnsTxtItem DnsTxtItem; +#include "resolved-forward.h" enum { DNS_TXT_ITEM_TEXT, DNS_TXT_ITEM_DATA, }; -struct DnssdTxtData { +typedef struct DnssdTxtData { DnsResourceRecord *rr; LIST_HEAD(DnsTxtItem, txts); LIST_FIELDS(DnssdTxtData, items); -}; +} DnssdTxtData; -struct DnssdService { +typedef struct DnssdService { char *path; char *id; char *name_template; @@ -50,7 +44,7 @@ struct DnssdService { bool withdrawn:1; uid_t originator; -}; +} DnssdService; DnssdService *dnssd_service_free(DnssdService *service); DnssdTxtData *dnssd_txtdata_free(DnssdTxtData *txt_data); diff --git a/src/resolve/resolved-dnstls.c b/src/resolve/resolved-dnstls.c index a03919cfedd..b4b53921a13 100644 --- a/src/resolve/resolved-dnstls.c +++ b/src/resolve/resolved-dnstls.c @@ -7,10 +7,11 @@ #include #include #include +#include #include "alloc-util.h" -#include "io-util.h" #include "openssl-util.h" +#include "log.h" #include "resolved-dns-server.h" #include "resolved-dns-stream.h" #include "resolved-dnstls.h" diff --git a/src/resolve/resolved-dnstls.h b/src/resolve/resolved-dnstls.h index 3d06a82196b..35a8d785def 100644 --- a/src/resolve/resolved-dnstls.h +++ b/src/resolve/resolved-dnstls.h @@ -8,13 +8,8 @@ #endif #include -#include -#include -#include -typedef struct DnsServer DnsServer; -typedef struct DnsStream DnsStream; -typedef struct Manager Manager; +#include "resolved-forward.h" typedef struct DnsTlsManagerData { SSL_CTX *ctx; diff --git a/src/resolve/resolved-etc-hosts.c b/src/resolve/resolved-etc-hosts.c index bb655d055d0..1b5d061e4ca 100644 --- a/src/resolve/resolved-etc-hosts.c +++ b/src/resolve/resolved-etc-hosts.c @@ -1,24 +1,24 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include +#include "sd-event.h" #include "alloc-util.h" #include "dns-domain.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "hostname-util.h" +#include "log.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 "set.h" #include "socket-netlink.h" #include "stat-util.h" #include "string-util.h" -#include "strv.h" #include "time-util.h" /* Recheck /etc/hosts at most once every 2s */ diff --git a/src/resolve/resolved-etc-hosts.h b/src/resolve/resolved-etc-hosts.h index 032654fcad0..0d790bbd47b 100644 --- a/src/resolve/resolved-etc-hosts.h +++ b/src/resolve/resolved-etc-hosts.h @@ -2,12 +2,7 @@ #pragma once #include "in-addr-util.h" -#include "set.h" - -typedef struct DnsAnswer DnsAnswer; -typedef struct DnsQuestion DnsQuestion; -typedef struct EtcHosts EtcHosts; -typedef struct Manager Manager; +#include "resolved-forward.h" typedef struct EtcHosts { Hashmap *by_address; diff --git a/src/resolve/resolved-forward.h b/src/resolve/resolved-forward.h new file mode 100644 index 00000000000..e5be2fe939a --- /dev/null +++ b/src/resolve/resolved-forward.h @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +#pragma once + +#include "conf-parser-forward.h" /* IWYU pragma: export */ +#include "forward.h" /* IWYU pragma: export */ + +typedef enum DnsAnswerFlags DnsAnswerFlags; +typedef enum DnsCacheMode DnsCacheMode; +typedef enum DnsProtocol DnsProtocol; +typedef enum DnssecResult DnssecResult; +typedef enum DnssecVerdict DnssecVerdict; +typedef enum DnsScopeOrigin DnsScopeOrigin; +typedef enum DnsTransactionState DnsTransactionState; +typedef enum ResolveConfigSource ResolveConfigSource; + +typedef struct DnsAnswer DnsAnswer; +typedef struct DnsDelegate DnsDelegate; +typedef struct DnsPacket DnsPacket; +typedef struct DnsQuery DnsQuery; +typedef struct DnsQueryCandidate DnsQueryCandidate; +typedef struct DnsQuestion DnsQuestion; +typedef struct DnsResourceKey DnsResourceKey; +typedef struct DnsResourceRecord DnsResourceRecord; +typedef struct DnsScope DnsScope; +typedef struct DnssdService DnssdService; +typedef struct DnssdTxtData DnssdTxtData; +typedef struct DnsSearchDomain DnsSearchDomain; +typedef struct DnsServer DnsServer; +typedef struct DnsStream DnsStream; +typedef struct DnsStubListenerExtra DnsStubListenerExtra; +typedef struct DnsSvcParam DnsSvcParam; +typedef struct DnsTransaction DnsTransaction; +typedef struct DnsTxtItem DnsTxtItem; +typedef struct DnsZoneItem DnsZoneItem; +typedef struct Link Link; +typedef struct LinkAddress LinkAddress; +typedef struct Manager Manager; +typedef struct SocketGraveyard SocketGraveyard; diff --git a/src/resolve/resolved-link-bus.c b/src/resolve/resolved-link-bus.c index 9e5371684aa..ed4485671c8 100644 --- a/src/resolve/resolved-link-bus.c +++ b/src/resolve/resolved-link-bus.c @@ -1,13 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include + +#include "sd-bus.h" #include "alloc-util.h" #include "bus-common-errors.h" #include "bus-get-properties.h" #include "bus-message-util.h" +#include "bus-object.h" #include "bus-polkit.h" #include "dns-domain.h" #include "log-link.h" @@ -20,12 +21,14 @@ #include "resolved-link.h" #include "resolved-link-bus.h" #include "resolved-llmnr.h" +#include "resolved-manager.h" #include "resolved-mdns.h" #include "resolved-resolv-conf.h" +#include "set.h" #include "socket-netlink.h" #include "stdio-util.h" +#include "string-util.h" #include "strv.h" -#include "user-util.h" static BUS_DEFINE_PROPERTY_GET(property_get_dnssec_supported, "b", Link, link_dnssec_supported); static BUS_DEFINE_PROPERTY_GET2(property_get_dnssec_mode, "s", Link, link_get_dnssec_mode, dnssec_mode_to_string); diff --git a/src/resolve/resolved-link-bus.h b/src/resolve/resolved-link-bus.h index e798aae74a3..539f9cd69d6 100644 --- a/src/resolve/resolved-link-bus.h +++ b/src/resolve/resolved-link-bus.h @@ -1,11 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-bus.h" - -#include "bus-object.h" - -typedef struct Link Link; +#include "resolved-forward.h" extern const BusObjectImplementation link_object; diff --git a/src/resolve/resolved-link.c b/src/resolve/resolved-link.c index 55c8aa36cf6..6d79d1709c5 100644 --- a/src/resolve/resolved-link.c +++ b/src/resolve/resolved-link.c @@ -3,11 +3,13 @@ #include #include +#include "sd-netlink.h" #include "sd-network.h" #include "alloc-util.h" #include "dns-domain.h" #include "env-file.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" @@ -22,7 +24,9 @@ #include "resolved-dns-server.h" #include "resolved-link.h" #include "resolved-llmnr.h" +#include "resolved-manager.h" #include "resolved-mdns.h" +#include "set.h" #include "socket-netlink.h" #include "stat-util.h" #include "string-util.h" diff --git a/src/resolve/resolved-link.h b/src/resolve/resolved-link.h index 3ae0c209259..3f9002fa107 100644 --- a/src/resolve/resolved-link.h +++ b/src/resolve/resolved-link.h @@ -3,26 +3,16 @@ #include -#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; -typedef struct Manager Manager; +#include "resolved-forward.h" #define LINK_SEARCH_DOMAINS_MAX 256 #define LINK_DNS_SERVERS_MAX 256 -struct LinkAddress { +typedef struct LinkAddress { Link *link; int family; @@ -39,9 +29,9 @@ struct LinkAddress { DnsResourceRecord *mdns_ptr_rr; LIST_FIELDS(LinkAddress, addresses); -}; +} LinkAddress; -struct Link { +typedef struct Link { Manager *manager; int ifindex; @@ -83,7 +73,7 @@ struct Link { char *state_file; bool unicast_relevant; -}; +} Link; int link_new(Manager *m, Link **ret, int ifindex); Link *link_free(Link *l); diff --git a/src/resolve/resolved-llmnr.c b/src/resolve/resolved-llmnr.c index 5fdecc97eb7..812ef947f6b 100644 --- a/src/resolve/resolved-llmnr.c +++ b/src/resolve/resolved-llmnr.c @@ -2,10 +2,13 @@ #include #include -#include + +#include "sd-event.h" #include "errno-util.h" #include "fd-util.h" +#include "hashmap.h" +#include "log.h" #include "resolved-dns-packet.h" #include "resolved-dns-scope.h" #include "resolved-dns-transaction.h" diff --git a/src/resolve/resolved-llmnr.h b/src/resolve/resolved-llmnr.h index 358201b5df8..3da0f3a5c1c 100644 --- a/src/resolve/resolved-llmnr.h +++ b/src/resolve/resolved-llmnr.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "resolved-manager.h" +#include "resolved-forward.h" #define LLMNR_PORT 5355 diff --git a/src/resolve/resolved-manager.c b/src/resolve/resolved-manager.c index f5c2fafd901..f52adaf22d6 100644 --- a/src/resolve/resolved-manager.c +++ b/src/resolve/resolved-manager.c @@ -4,30 +4,28 @@ #include #include #include -#include -#include -#include #include +#include "sd-bus.h" +#include "sd-netlink.h" +#include "sd-network.h" + #include "af-list.h" #include "alloc-util.h" -#include "bus-polkit.h" #include "daemon-util.h" #include "dirent-util.h" #include "dns-domain.h" +#include "errno-util.h" #include "event-util.h" #include "fd-util.h" -#include "fileio.h" #include "hostname-setup.h" #include "hostname-util.h" -#include "idn-util.h" #include "io-util.h" #include "iovec-util.h" #include "json-util.h" #include "memstream-util.h" #include "missing_network.h" #include "missing_socket.h" -#include "netlink-util.h" #include "ordered-set.h" #include "parse-util.h" #include "random-util.h" @@ -54,11 +52,10 @@ #include "resolved-socket-graveyard.h" #include "resolved-util.h" #include "resolved-varlink.h" -#include "socket-netlink.h" +#include "set.h" #include "socket-util.h" -#include "string-table.h" #include "string-util.h" -#include "utf8.h" +#include "time-util.h" #include "varlink-util.h" #define SEND_TIMEOUT_USEC (200 * USEC_PER_MSEC) diff --git a/src/resolve/resolved-manager.h b/src/resolve/resolved-manager.h index bb398e83b7f..cbe635ff947 100644 --- a/src/resolve/resolved-manager.h +++ b/src/resolve/resolved-manager.h @@ -3,34 +3,16 @@ #include -#include "sd-bus.h" -#include "sd-event.h" -#include "sd-netlink.h" -#include "sd-network.h" -#include "sd-varlink.h" - #include "common-signal.h" -#include "hashmap.h" +#include "forward.h" #include "list.h" -#include "ordered-set.h" #include "resolve-util.h" #include "resolved-dns-dnssec.h" #include "resolved-dns-stream.h" #include "resolved-dns-stub.h" #include "resolved-dns-trust-anchor.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; +#include "resolved-forward.h" #define MANAGER_SEARCH_DOMAINS_MAX 256 #define MANAGER_DNS_SERVERS_MAX 256 diff --git a/src/resolve/resolved-mdns.c b/src/resolve/resolved-mdns.c index d9a993a0014..e6bd844aadc 100644 --- a/src/resolve/resolved-mdns.c +++ b/src/resolve/resolved-mdns.c @@ -1,12 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include -#include + +#include "sd-event.h" #include "alloc-util.h" #include "dns-domain.h" #include "fd-util.h" +#include "log.h" #include "resolved-dns-answer.h" #include "resolved-dns-packet.h" #include "resolved-dns-question.h" @@ -17,6 +18,7 @@ #include "resolved-manager.h" #include "resolved-mdns.h" #include "sort-util.h" +#include "time-util.h" #define CLEAR_CACHE_FLUSH(x) (~MDNS_RR_CACHE_FLUSH_OR_QU & (x)) diff --git a/src/resolve/resolved-mdns.h b/src/resolve/resolved-mdns.h index 319fa53703c..fd9ecc944f4 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 -typedef struct Manager Manager; +#include "resolved-forward.h" #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 3f4c67ecbc3..c85d68c9840 100644 --- a/src/resolve/resolved-resolv-conf.c +++ b/src/resolve/resolved-resolv-conf.c @@ -2,18 +2,15 @@ #include #include -#include -#include #include "alloc-util.h" -#include "dns-domain.h" #include "fd-util.h" #include "fileio.h" #include "fs-util.h" #include "label-util.h" +#include "log.h" #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" diff --git a/src/resolve/resolved-resolv-conf.h b/src/resolve/resolved-resolv-conf.h index 6738af61999..6b3c91ed288 100644 --- a/src/resolve/resolved-resolv-conf.h +++ b/src/resolve/resolved-resolv-conf.h @@ -1,11 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "macro.h" - -typedef struct Manager Manager; +#include "resolved-forward.h" 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 a55ebd304e5..bfa3055dede 100644 --- a/src/resolve/resolved-socket-graveyard.c +++ b/src/resolve/resolved-socket-graveyard.c @@ -1,8 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-event.h" #include "alloc-util.h" +#include "assert-fundamental.h" +#include "log.h" #include "resolved-manager.h" #include "resolved-socket-graveyard.h" +#include "time-util.h" #define SOCKET_GRAVEYARD_USEC (5 * USEC_PER_SEC) #define SOCKET_GRAVEYARD_MAX 100 diff --git a/src/resolve/resolved-socket-graveyard.h b/src/resolve/resolved-socket-graveyard.h index 90417313fbd..07b895ad3e5 100644 --- a/src/resolve/resolved-socket-graveyard.h +++ b/src/resolve/resolved-socket-graveyard.h @@ -1,20 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-event.h" - #include "list.h" -#include "time-util.h" - -typedef struct Manager Manager; -typedef struct SocketGraveyard SocketGraveyard; +#include "resolved-forward.h" -struct SocketGraveyard { +typedef struct SocketGraveyard { Manager *manager; usec_t deadline; sd_event_source *io_event_source; LIST_FIELDS(SocketGraveyard, graveyard); -}; +} SocketGraveyard; void manager_socket_graveyard_process(Manager *m); void manager_socket_graveyard_clear(Manager *m); diff --git a/src/resolve/resolved-varlink.c b/src/resolve/resolved-varlink.c index 5b534b1d937..43bd0b6c6f6 100644 --- a/src/resolve/resolved-varlink.c +++ b/src/resolve/resolved-varlink.c @@ -1,9 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-event.h" + #include "alloc-util.h" #include "bus-polkit.h" #include "dns-domain.h" #include "dns-type.h" +#include "errno-util.h" #include "glyph-util.h" #include "in-addr-util.h" #include "json-util.h" @@ -21,7 +24,9 @@ #include "resolved-link.h" #include "resolved-manager.h" #include "resolved-varlink.h" +#include "set.h" #include "socket-netlink.h" +#include "string-util.h" #include "varlink-io.systemd.Resolve.h" #include "varlink-io.systemd.Resolve.Monitor.h" #include "varlink-io.systemd.service.h" diff --git a/src/resolve/resolved-varlink.h b/src/resolve/resolved-varlink.h index b96700719bf..ad55182adbf 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 -typedef struct Manager Manager; +#include "resolved-forward.h" int manager_varlink_init(Manager *m); void manager_varlink_done(Manager *m); diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c index a0c80180239..0676c4529f2 100644 --- a/src/resolve/resolved.c +++ b/src/resolve/resolved.c @@ -1,24 +1,22 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include #include -#include "sd-daemon.h" #include "sd-event.h" #include "bus-log-control-api.h" +#include "bus-object.h" #include "capability-util.h" #include "daemon-util.h" +#include "label-util.h" +#include "log.h" #include "main-func.h" #include "mkdir-label.h" #include "resolved-bus.h" -#include "resolved-conf.h" #include "resolved-manager.h" #include "resolved-resolv-conf.h" -#include "selinux-util.h" #include "service-util.h" -#include "signal-util.h" #include "user-util.h" static int run(int argc, char *argv[]) { diff --git a/src/resolve/test-dns-answer.c b/src/resolve/test-dns-answer.c index 7f59e666bca..77775bffc9e 100644 --- a/src/resolve/test-dns-answer.c +++ b/src/resolve/test-dns-answer.c @@ -3,8 +3,6 @@ #include "dns-type.h" #include "fd-util.h" #include "fileio.h" -#include "fs-util.h" -#include "log.h" #include "resolved-dns-answer.h" #include "resolved-dns-rr.h" #include "tests.h" diff --git a/src/resolve/test-dns-cache.c b/src/resolve/test-dns-cache.c index 2413ad795f0..a60daab5c63 100644 --- a/src/resolve/test-dns-cache.c +++ b/src/resolve/test-dns-cache.c @@ -1,12 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include +#include + +#include "sd-json.h" #include "dns-type.h" #include "fd-util.h" #include "fileio.h" -#include "fs-util.h" -#include "log.h" #include "resolve-util.h" #include "resolved-def.h" #include "resolved-dns-answer.h" @@ -15,6 +17,7 @@ #include "resolved-dns-packet.h" #include "resolved-dns-rr.h" #include "tests.h" +#include "time-util.h" #include "tmpfile-util.h" static DnsCache new_cache(void) { diff --git a/src/resolve/test-dns-packet-extract.c b/src/resolve/test-dns-packet-extract.c index 64bbd6241db..9b67a6a93fc 100644 --- a/src/resolve/test-dns-packet-extract.c +++ b/src/resolve/test-dns-packet-extract.c @@ -1,7 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "dns-type.h" -#include "log.h" #include "resolved-dns-answer.h" #include "resolved-dns-packet.h" #include "resolved-dns-question.h" diff --git a/src/resolve/test-dns-packet.c b/src/resolve/test-dns-packet.c index fca52bcf61e..88c6cb127b8 100644 --- a/src/resolve/test-dns-packet.c +++ b/src/resolve/test-dns-packet.c @@ -1,19 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include - #include "sd-id128.h" #include "alloc-util.h" #include "fileio.h" #include "glob-util.h" #include "log.h" -#include "macro.h" -#include "path-util.h" #include "resolved-dns-packet.h" #include "resolved-dns-rr.h" -#include "string-util.h" -#include "strv.h" +#include "siphash24.h" #include "tests.h" #include "unaligned.h" diff --git a/src/resolve/test-dns-query.c b/src/resolve/test-dns-query.c index 83460e1c2d4..083cc6d7005 100644 --- a/src/resolve/test-dns-query.c +++ b/src/resolve/test-dns-query.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include "log.h" +#include "sd-event.h" + #include "resolved-dns-answer.h" #include "resolved-dns-packet.h" #include "resolved-dns-query.h" diff --git a/src/resolve/test-dns-question.c b/src/resolve/test-dns-question.c index 27e907463ae..62cc81d47e8 100644 --- a/src/resolve/test-dns-question.c +++ b/src/resolve/test-dns-question.c @@ -3,8 +3,7 @@ #include "dns-type.h" #include "fd-util.h" #include "fileio.h" -#include "fs-util.h" -#include "log.h" +#include "in-addr-util.h" #include "resolved-dns-question.h" #include "resolved-dns-rr.h" #include "tests.h" diff --git a/src/resolve/test-dns-rr.c b/src/resolve/test-dns-rr.c index 8b8f9566135..a69c2120d13 100644 --- a/src/resolve/test-dns-rr.c +++ b/src/resolve/test-dns-rr.c @@ -1,7 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-json.h" + #include "dns-type.h" -#include "log.h" #include "resolved-dns-packet.h" #include "resolved-dns-rr.h" #include "tests.h" diff --git a/src/resolve/test-dns-search-domain.c b/src/resolve/test-dns-search-domain.c index 8c1f8415cc7..e8fc7a48234 100644 --- a/src/resolve/test-dns-search-domain.c +++ b/src/resolve/test-dns-search-domain.c @@ -1,6 +1,5 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include "log.h" #include "resolved-dns-search-domain.h" #include "resolved-link.h" #include "resolved-manager.h" diff --git a/src/resolve/test-dns-synthesize.c b/src/resolve/test-dns-synthesize.c index eb25a7fbe76..14f7a5156ab 100644 --- a/src/resolve/test-dns-synthesize.c +++ b/src/resolve/test-dns-synthesize.c @@ -1,6 +1,5 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include "log.h" #include "resolved-dns-answer.h" #include "resolved-dns-packet.h" #include "resolved-dns-question.h" diff --git a/src/resolve/test-dns-zone.c b/src/resolve/test-dns-zone.c index 2c461e9d88d..3f449cbfcf8 100644 --- a/src/resolve/test-dns-zone.c +++ b/src/resolve/test-dns-zone.c @@ -1,13 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "dns-type.h" -#include "log.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" -#include "resolved-link.h" #include "resolved-manager.h" #include "tests.h" diff --git a/src/resolve/test-dnssec-complex.c b/src/resolve/test-dnssec-complex.c index 30f49a780be..7dab5b8fe00 100644 --- a/src/resolve/test-dnssec-complex.c +++ b/src/resolve/test-dnssec-complex.c @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include +#include #include "sd-bus.h" @@ -13,7 +13,6 @@ #include "resolved-def.h" #include "string-util.h" #include "tests.h" -#include "time-util.h" static void prefix_random(const char *name, char **ret) { uint64_t i, u; diff --git a/src/resolve/test-dnssec.c b/src/resolve/test-dnssec.c index dc2e3f076ca..32aaa4c0db2 100644 --- a/src/resolve/test-dnssec.c +++ b/src/resolve/test-dnssec.c @@ -2,15 +2,16 @@ #include #include -#include #include "alloc-util.h" +#include "bitmap.h" #include "hexdecoct.h" #include "resolved-dns-answer.h" #include "resolved-dns-dnssec.h" #include "resolved-dns-rr.h" #include "string-util.h" #include "tests.h" +#include "time-util.h" TEST(dnssec_verify_dns_key) { static const uint8_t ds1_fprint[] = { diff --git a/src/resolve/test-resolved-dummy-server.c b/src/resolve/test-resolved-dummy-server.c index 705965f30e1..21556d57fa8 100644 --- a/src/resolve/test-resolved-dummy-server.c +++ b/src/resolve/test-resolved-dummy-server.c @@ -1,8 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "sd-daemon.h" +#include "sd-event.h" #include "dns-type.h" +#include "errno-util.h" #include "fd-util.h" #include "iovec-util.h" #include "log.h" @@ -12,6 +14,8 @@ #include "resolved-manager.h" #include "socket-netlink.h" #include "socket-util.h" +#include "string-util.h" +#include "time-util.h" /* Taken from resolved-dns-stub.c */ #define ADVERTISE_DATAGRAM_SIZE_MAX (65536U-14U-20U-8U) diff --git a/src/resolve/test-resolved-etc-hosts.c b/src/resolve/test-resolved-etc-hosts.c index 75f7db34828..0528a411dc3 100644 --- a/src/resolve/test-resolved-etc-hosts.c +++ b/src/resolve/test-resolved-etc-hosts.c @@ -1,15 +1,16 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include #include #include +#include "argv-util.h" #include "fd-util.h" #include "fileio.h" -#include "fs-util.h" +#include "hashmap.h" #include "log.h" #include "resolved-etc-hosts.h" +#include "set.h" #include "strv.h" #include "tests.h" #include "tmpfile-util.h" diff --git a/src/resolve/test-resolved-link.c b/src/resolve/test-resolved-link.c index 96f62a362fb..e0cb6006adc 100644 --- a/src/resolve/test-resolved-link.c +++ b/src/resolve/test-resolved-link.c @@ -1,9 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #include -#include -#include "log.h" +#include "sd-event.h" +#include "sd-netlink.h" + #include "netlink-internal.h" #include "resolved-dns-packet.h" #include "resolved-dns-scope.h" diff --git a/src/resolve/test-resolved-stream.c b/src/resolve/test-resolved-stream.c index b5e8ce9f955..82d8f292532 100644 --- a/src/resolve/test-resolved-stream.c +++ b/src/resolve/test-resolved-stream.c @@ -1,15 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include -#include #include #include #include #include #include -#include #include #include #include @@ -18,7 +15,6 @@ #include "fd-util.h" #include "log.h" -#include "macro.h" #include "path-util.h" #include "process-util.h" #include "random-util.h" @@ -31,6 +27,7 @@ #include "resolved-manager.h" #include "sparse-endian.h" #include "tests.h" +#include "time-util.h" static union sockaddr_union server_address; -- 2.47.3