diff --git a/src/resolve/resolved-conf.c b/src/resolve/resolved-conf.c index 6ad66113e8d..cdca0afbea8 100644 --- a/src/resolve/resolved-conf.c +++ b/src/resolve/resolved-conf.c @@ -9,6 +9,9 @@ #include "resolved-conf.h" #include "resolved-dnssd.h" #include "resolved-util.h" +#include "resolved-manager.h" +#include "resolved-dns-search-domain.h" +#include "dns-domain.h" #include "specifier.h" #include "string-table.h" #include "string-util.h" diff --git a/src/resolve/resolved-conf.h b/src/resolve/resolved-conf.h index 4713df587ba..ac3937cfaee 100644 --- a/src/resolve/resolved-conf.h +++ b/src/resolve/resolved-conf.h @@ -14,7 +14,6 @@ enum DnsStubListenerMode { _DNS_STUB_LISTENER_MODE_INVALID = -1 }; -#include "resolved-manager.h" #include "resolved-dns-server.h" int manager_parse_config_file(Manager *m); diff --git a/src/resolve/resolved-dns-query.h b/src/resolve/resolved-dns-query.h index 5ee946bc750..fc7ccf553e9 100644 --- a/src/resolve/resolved-dns-query.h +++ b/src/resolve/resolved-dns-query.h @@ -10,8 +10,8 @@ typedef struct DnsQuery DnsQuery; #include "resolved-dns-answer.h" #include "resolved-dns-question.h" -#include "resolved-dns-stream.h" #include "resolved-dns-search-domain.h" +#include "resolved-dns-transaction.h" struct DnsQueryCandidate { DnsQuery *query; diff --git a/src/resolve/resolved-dns-scope.h b/src/resolve/resolved-dns-scope.h index f4b45c4f208..974692be5b1 100644 --- a/src/resolve/resolved-dns-scope.h +++ b/src/resolve/resolved-dns-scope.h @@ -2,18 +2,19 @@ #pragma once #include "list.h" +#include "ratelimit.h" +typedef struct DnsQueryCandidate DnsQueryCandidate; typedef struct DnsScope DnsScope; #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 "resolved-link.h" typedef enum DnsScopeMatch { DNS_SCOPE_NO, diff --git a/src/resolve/resolved-dns-search-domain.c b/src/resolve/resolved-dns-search-domain.c index 21c2442c516..425a4633494 100644 --- a/src/resolve/resolved-dns-search-domain.c +++ b/src/resolve/resolved-dns-search-domain.c @@ -3,6 +3,8 @@ #include "alloc-util.h" #include "dns-domain.h" #include "resolved-dns-search-domain.h" +#include "resolved-link.h" +#include "resolved-manager.h" int dns_search_domain_new( Manager *m, diff --git a/src/resolve/resolved-dns-search-domain.h b/src/resolve/resolved-dns-search-domain.h index d0c2914d367..df0b2f14049 100644 --- a/src/resolve/resolved-dns-search-domain.h +++ b/src/resolve/resolved-dns-search-domain.h @@ -1,18 +1,18 @@ /* SPDX-License-Identifier: LGPL-2.1+ */ #pragma once +#include "list.h" #include "macro.h" typedef struct DnsSearchDomain DnsSearchDomain; +typedef struct Link Link; +typedef struct Manager Manager; typedef enum DnsSearchDomainType { DNS_SEARCH_DOMAIN_SYSTEM, DNS_SEARCH_DOMAIN_LINK, } DnsSearchDomainType; -#include "resolved-link.h" -#include "resolved-manager.h" - struct DnsSearchDomain { Manager *manager; diff --git a/src/resolve/resolved-dns-server.c b/src/resolve/resolved-dns-server.c index 4b0599ab9cf..106b002bc6d 100644 --- a/src/resolve/resolved-dns-server.c +++ b/src/resolve/resolved-dns-server.c @@ -6,6 +6,7 @@ #include "resolved-bus.h" #include "resolved-dns-server.h" #include "resolved-dns-stub.h" +#include "resolved-manager.h" #include "resolved-resolv-conf.h" #include "siphash24.h" #include "string-table.h" diff --git a/src/resolve/resolved-dns-server.h b/src/resolve/resolved-dns-server.h index 889c80a2054..792f966121b 100644 --- a/src/resolve/resolved-dns-server.h +++ b/src/resolve/resolved-dns-server.h @@ -2,8 +2,18 @@ #pragma once #include "in-addr-util.h" +#include "list.h" +#include "resolve-util.h" +#include "time-util.h" +typedef struct DnsScope DnsScope; typedef struct DnsServer DnsServer; +typedef struct DnsStream DnsStream; +typedef struct DnsPacket DnsPacket; +typedef struct Link Link; +typedef struct Manager Manager; + +#include "resolved-dnstls.h" typedef enum DnsServerType { DNS_SERVER_SYSTEM, @@ -35,10 +45,6 @@ typedef enum DnsServerFeatureLevel { const char* dns_server_feature_level_to_string(int i) _const_; int dns_server_feature_level_from_string(const char *s) _pure_; -#include "resolved-dnstls.h" -#include "resolved-link.h" -#include "resolved-manager.h" - struct DnsServer { Manager *manager; diff --git a/src/resolve/resolved-dns-stream.c b/src/resolve/resolved-dns-stream.c index 2a106949976..9c47cd60e42 100644 --- a/src/resolve/resolved-dns-stream.c +++ b/src/resolve/resolved-dns-stream.c @@ -8,6 +8,7 @@ #include "io-util.h" #include "missing_network.h" #include "resolved-dns-stream.h" +#include "resolved-manager.h" #define DNS_STREAM_TIMEOUT_USEC (10 * USEC_PER_SEC) #define DNS_STREAMS_MAX 128 diff --git a/src/resolve/resolved-dns-stream.h b/src/resolve/resolved-dns-stream.h index 1013f6e45e6..9fd8f5a342f 100644 --- a/src/resolve/resolved-dns-stream.h +++ b/src/resolve/resolved-dns-stream.h @@ -1,9 +1,18 @@ /* SPDX-License-Identifier: LGPL-2.1+ */ #pragma once +#include "sd-event.h" + +#include "ordered-set.h" #include "socket-util.h" +typedef struct DnsServer DnsServer; typedef struct DnsStream DnsStream; +typedef struct DnsTransaction DnsTransaction; +typedef struct Manager Manager; + +#include "resolved-dns-packet.h" +#include "resolved-dnstls.h" typedef enum DnsStreamType { DNS_STREAM_LOOKUP, /* Outgoing connection to a classic DNS server */ @@ -14,11 +23,6 @@ typedef enum DnsStreamType { _DNS_STREAM_TYPE_INVALID = -1, } DnsStreamType; -#include "resolved-dns-packet.h" -#include "resolved-dns-transaction.h" -#include "resolved-dnstls.h" -#include "resolved-manager.h" - #define DNS_STREAM_WRITE_TLS_DATA 1 /* Streams are used by three subsystems: diff --git a/src/resolve/resolved-dns-transaction.h b/src/resolve/resolved-dns-transaction.h index bdfcbc1acc3..b1d4348409f 100644 --- a/src/resolve/resolved-dns-transaction.h +++ b/src/resolve/resolved-dns-transaction.h @@ -1,10 +1,18 @@ /* SPDX-License-Identifier: LGPL-2.1+ */ #pragma once +#include "sd-event.h" + typedef struct DnsTransaction DnsTransaction; typedef enum DnsTransactionState DnsTransactionState; typedef enum DnsTransactionSource DnsTransactionSource; +#include "resolved-dns-answer.h" +#include "resolved-dns-dnssec.h" +#include "resolved-dns-packet.h" +#include "resolved-dns-question.h" +#include "resolved-dns-server.h" + enum DnsTransactionState { DNS_TRANSACTION_NULL, DNS_TRANSACTION_PENDING, @@ -37,13 +45,6 @@ enum DnsTransactionSource { _DNS_TRANSACTION_SOURCE_INVALID = -1 }; -#include "resolved-dns-answer.h" -#include "resolved-dns-packet.h" -#include "resolved-dns-question.h" -#include "resolved-dns-scope.h" -#include "resolved-dns-server.h" -#include "resolved-dns-stream.h" - struct DnsTransaction { DnsScope *scope; diff --git a/src/resolve/resolved-dns-zone.c b/src/resolve/resolved-dns-zone.c index d5cc2767d7d..0ef4c892f70 100644 --- a/src/resolve/resolved-dns-zone.c +++ b/src/resolve/resolved-dns-zone.c @@ -6,6 +6,7 @@ #include "resolved-dns-packet.h" #include "resolved-dns-zone.h" #include "resolved-dnssd.h" +#include "resolved-manager.h" #include "string-util.h" /* Never allow more than 1K entries */ diff --git a/src/resolve/resolved-dnssd-bus.c b/src/resolve/resolved-dnssd-bus.c index 84d8d879eb3..33efb8ef06c 100644 --- a/src/resolve/resolved-dnssd-bus.c +++ b/src/resolve/resolved-dnssd-bus.c @@ -6,6 +6,7 @@ #include "resolved-dnssd-bus.h" #include "resolved-dnssd.h" #include "resolved-link.h" +#include "resolved-manager.h" #include "strv.h" #include "user-util.h" diff --git a/src/resolve/resolved-dnstls-gnutls.c b/src/resolve/resolved-dnstls-gnutls.c index ef90a7d5ae9..a5d9776427e 100644 --- a/src/resolve/resolved-dnstls-gnutls.c +++ b/src/resolve/resolved-dnstls-gnutls.c @@ -8,6 +8,7 @@ #include "resolved-dns-stream.h" #include "resolved-dnstls.h" +#include "resolved-manager.h" #define TLS_PROTOCOL_PRIORITY "NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2" DEFINE_TRIVIAL_CLEANUP_FUNC(gnutls_session_t, gnutls_deinit); diff --git a/src/resolve/resolved-dnstls.h b/src/resolve/resolved-dnstls.h index 1b9121171e9..6199335b709 100644 --- a/src/resolve/resolved-dnstls.h +++ b/src/resolve/resolved-dnstls.h @@ -3,9 +3,14 @@ #if ENABLE_DNS_OVER_TLS +#include + +typedef struct DnsServer DnsServer; +typedef struct DnsStream DnsStream; typedef struct DnsTlsManagerData DnsTlsManagerData; typedef struct DnsTlsServerData DnsTlsServerData; typedef struct DnsTlsStreamData DnsTlsStreamData; +typedef struct Manager Manager; #if DNS_OVER_TLS_USE_GNUTLS #include "resolved-dnstls-gnutls.h" @@ -15,10 +20,6 @@ typedef struct DnsTlsStreamData DnsTlsStreamData; #error Unknown dependency for supporting DNS-over-TLS #endif -#include "resolved-dns-stream.h" -#include "resolved-dns-transaction.h" -#include "resolved-manager.h" - #define DNSTLS_STREAM_CLOSED 1 int dnstls_stream_connect_tls(DnsStream *stream, DnsServer *server); diff --git a/src/resolve/resolved-gperf.gperf b/src/resolve/resolved-gperf.gperf index 049fe9ebdda..4a451ccc4c7 100644 --- a/src/resolve/resolved-gperf.gperf +++ b/src/resolve/resolved-gperf.gperf @@ -5,6 +5,7 @@ _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"") #include #include "conf-parser.h" #include "resolved-conf.h" +#include "resolved-manager.h" %} struct ConfigPerfItem; %null_strings @@ -26,4 +27,4 @@ Resolve.DNSSEC, config_parse_dnssec_mode, 0, Resolve.DNSOverTLS, config_parse_dns_over_tls_mode, 0, offsetof(Manager, dns_over_tls_mode) Resolve.Cache, config_parse_dns_cache_mode, DNS_CACHE_MODE_YES, offsetof(Manager, enable_cache) Resolve.DNSStubListener, config_parse_dns_stub_listener_mode, 0, offsetof(Manager, dns_stub_listener_mode) -Resolve.ReadEtcHosts, config_parse_bool, 0, offsetof(Manager, read_etc_hosts) \ No newline at end of file +Resolve.ReadEtcHosts, config_parse_bool, 0, offsetof(Manager, read_etc_hosts) diff --git a/src/resolve/resolved-link.h b/src/resolve/resolved-link.h index 4b545a55368..44d489ce479 100644 --- a/src/resolve/resolved-link.h +++ b/src/resolve/resolved-link.h @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1+ */ #pragma once +#include "sd-netlink.h" + #include "in-addr-util.h" #include "ratelimit.h" #include "resolve-util.h" @@ -12,7 +14,6 @@ typedef struct LinkAddress LinkAddress; #include "resolved-dns-scope.h" #include "resolved-dns-search-domain.h" #include "resolved-dns-server.h" -#include "resolved-manager.h" #define LINK_SEARCH_DOMAINS_MAX 256 #define LINK_DNS_SERVERS_MAX 256 diff --git a/src/resolve/resolved-manager.h b/src/resolve/resolved-manager.h index 446f258b49b..8e029b86d90 100644 --- a/src/resolve/resolved-manager.h +++ b/src/resolve/resolved-manager.h @@ -15,10 +15,8 @@ typedef struct Manager Manager; #include "resolved-conf.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-trust-anchor.h" -#include "resolved-dnstls.h" #include "resolved-link.h" #define MANAGER_SEARCH_DOMAINS_MAX 256