resolved: log server type when switching servers
I'm not defining _DNS_SERVER_TYPE_MAX/INVALID as usual in the enum, because it wouldn't be used, and then gcc would complain that various enums don't test for _DNS_SERVER_TYPE_MAX. It seems better to define the macro rather than add assert_not_reached() in multiple places.
This commit is contained in:
parent
a43a068a30
commit
e3309036cd
|
@ -657,7 +657,9 @@ DnsServer *manager_set_dns_server(Manager *m, DnsServer *s) {
|
|||
return s;
|
||||
|
||||
if (s)
|
||||
log_info("Switching to system DNS server %s.", dns_server_string(s));
|
||||
log_info("Switching to %s DNS server %s.",
|
||||
dns_server_type_to_string(s->type),
|
||||
dns_server_string(s));
|
||||
|
||||
dns_server_unref(m->current_dns_server);
|
||||
m->current_dns_server = dns_server_ref(s);
|
||||
|
@ -675,7 +677,7 @@ DnsServer *manager_get_dns_server(Manager *m) {
|
|||
/* Try to read updates resolv.conf */
|
||||
manager_read_resolv_conf(m);
|
||||
|
||||
/* If no DNS server was chose so far, pick the first one */
|
||||
/* If no DNS server was chosen so far, pick the first one */
|
||||
if (!m->current_dns_server)
|
||||
manager_set_dns_server(m, m->dns_servers);
|
||||
|
||||
|
@ -723,6 +725,13 @@ void manager_next_dns_server(Manager *m) {
|
|||
manager_set_dns_server(m, m->dns_servers);
|
||||
}
|
||||
|
||||
static const char* const dns_server_type_table[_DNS_SERVER_TYPE_MAX] = {
|
||||
[DNS_SERVER_SYSTEM] = "system",
|
||||
[DNS_SERVER_FALLBACK] = "fallback",
|
||||
[DNS_SERVER_LINK] = "link",
|
||||
};
|
||||
DEFINE_STRING_TABLE_LOOKUP(dns_server_type, DnsServerType);
|
||||
|
||||
static const char* const dns_server_feature_level_table[_DNS_SERVER_FEATURE_LEVEL_MAX] = {
|
||||
[DNS_SERVER_FEATURE_LEVEL_TCP] = "TCP",
|
||||
[DNS_SERVER_FEATURE_LEVEL_UDP] = "UDP",
|
||||
|
|
|
@ -30,6 +30,10 @@ typedef enum DnsServerType {
|
|||
DNS_SERVER_FALLBACK,
|
||||
DNS_SERVER_LINK,
|
||||
} DnsServerType;
|
||||
#define _DNS_SERVER_TYPE_MAX (DNS_SERVER_LINK + 1)
|
||||
|
||||
const char* dns_server_type_to_string(DnsServerType i) _const_;
|
||||
DnsServerType dns_server_type_from_string(const char *s) _pure_;
|
||||
|
||||
typedef enum DnsServerFeatureLevel {
|
||||
DNS_SERVER_FEATURE_LEVEL_TCP,
|
||||
|
|
Loading…
Reference in a new issue