]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/resolve/resolved-manager.h
resolve: add option to toggle reading /etc/hosts
[thirdparty/systemd.git] / src / resolve / resolved-manager.h
index 97c52b77292e6115093a12b1d0188991a1980d2e..5251ca795de068c5719ac557824e410827722397 100644 (file)
@@ -1,24 +1,6 @@
+/* SPDX-License-Identifier: LGPL-2.1+ */
 #pragma once
 
-/***
-  This file is part of systemd.
-
-  Copyright 2014 Tom Gundersen <teg@jklm.no>
-
-  systemd is free software; you can redistribute it and/or modify it
-  under the terms of the GNU Lesser General Public License as published by
-  the Free Software Foundation; either version 2.1 of the License, or
-  (at your option) any later version.
-
-  systemd is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  Lesser General Public License for more details.
-
-  You should have received a copy of the GNU Lesser General Public License
-  along with systemd; If not, see <http://www.gnu.org/licenses/>.
-***/
-
 #include "sd-event.h"
 #include "sd-netlink.h"
 #include "sd-network.h"
@@ -47,6 +29,7 @@ struct Manager {
         ResolveSupport llmnr_support;
         ResolveSupport mdns_support;
         DnssecMode dnssec_mode;
+        DnsOverTlsMode dns_over_tls_mode;
         bool enable_cache;
         DnsStubListenerMode dns_stub_listener_mode;
 
@@ -101,12 +84,14 @@ struct Manager {
         int mdns_ipv4_fd;
         int mdns_ipv6_fd;
 
+        /* DNS-SD */
+        Hashmap *dnssd_services;
+
         sd_event_source *mdns_ipv4_event_source;
         sd_event_source *mdns_ipv6_event_source;
 
         /* dbus */
         sd_bus *bus;
-        sd_event_source *bus_retry_event_source;
 
         /* The hostname we publish on LLMNR and mDNS */
         char *full_hostname;
@@ -121,11 +106,9 @@ struct Manager {
         int hostname_fd;
         sd_event_source *hostname_event_source;
 
-        /* Watch for system suspends */
-        sd_bus_slot *prepare_for_sleep_slot;
-
         sd_event_source *sigusr1_event_source;
         sd_event_source *sigusr2_event_source;
+        sd_event_source *sigrtmin1_event_source;
 
         unsigned n_transactions_total;
         unsigned n_dnssec_verdict[_DNSSEC_VERDICT_MAX];
@@ -134,6 +117,7 @@ struct Manager {
         Set* etc_hosts_by_address;
         Hashmap* etc_hosts_by_name;
         usec_t etc_hosts_last, etc_hosts_mtime;
+        bool read_etc_hosts;
 
         /* Local DNS stub on 127.0.0.53:53 */
         int dns_stub_udp_fd;
@@ -141,6 +125,8 @@ struct Manager {
 
         sd_event_source *dns_stub_udp_event_source;
         sd_event_source *dns_stub_tcp_event_source;
+
+        Hashmap *polkit_registry;
 };
 
 /* Manager */
@@ -179,10 +165,15 @@ int manager_compile_search_domains(Manager *m, OrderedSet **domains, int filter_
 DnssecMode manager_get_dnssec_mode(Manager *m);
 bool manager_dnssec_supported(Manager *m);
 
+DnsOverTlsMode manager_get_dns_over_tls_mode(Manager *m);
+
 void manager_dnssec_verdict(Manager *m, DnssecVerdict verdict, const DnsResourceKey *key);
 
 bool manager_routable(Manager *m, int family);
 
 void manager_flush_caches(Manager *m);
+void manager_reset_server_features(Manager *m);
 
 void manager_cleanup_saved_user(Manager *m);
+
+bool manager_next_dnssd_names(Manager *m);