diff options
author | Guilhem Lettron <guilhem@barpilot.io> | 2019-11-30 03:51:40 +0100 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-12-04 23:24:06 +0900 |
commit | 2e22a54f4e085496088b77085f38b66532da59fb (patch) | |
tree | c3bc6bb24cafaae584504da112beb38d1b946695 /src/resolve/resolved-conf.c | |
parent | b7aa08ca15d0080bfbdc8820b8b9b617b550a0e0 (diff) | |
download | systemd-2e22a54f4e085496088b77085f38b66532da59fb.tar.gz |
Implement SNI when using DNS-over-TLS
Some DNS providers need SNI to identify client.
This can be used by adding #name to a DNS.
Example:
[Resolve]
DNS=192.168.1.1#example.com
Diffstat (limited to 'src/resolve/resolved-conf.c')
-rw-r--r-- | src/resolve/resolved-conf.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/resolve/resolved-conf.c b/src/resolve/resolved-conf.c index a46c45385b..ca5b8e7918 100644 --- a/src/resolve/resolved-conf.c +++ b/src/resolve/resolved-conf.c @@ -8,6 +8,7 @@ #include "parse-util.h" #include "resolved-conf.h" #include "resolved-dnssd.h" +#include "resolved-util.h" #include "specifier.h" #include "string-table.h" #include "string-util.h" @@ -27,11 +28,12 @@ static int manager_add_dns_server_by_string(Manager *m, DnsServerType type, cons union in_addr_union address; int family, r, ifindex = 0; DnsServer *s; + _cleanup_free_ char *server_name = NULL; assert(m); assert(word); - r = in_addr_ifindex_from_string_auto(word, &family, &address, &ifindex); + r = in_addr_ifindex_name_from_string_auto(word, &family, &address, &ifindex, &server_name); if (r < 0) return r; @@ -52,7 +54,7 @@ static int manager_add_dns_server_by_string(Manager *m, DnsServerType type, cons return 0; } - return dns_server_new(m, NULL, type, NULL, family, &address, ifindex); + return dns_server_new(m, NULL, type, NULL, family, &address, ifindex, server_name); } int manager_parse_dns_server_string_and_warn(Manager *m, DnsServerType type, const char *string) { |