summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Rozhkov <dmitry.rozhkov@linux.intel.com>2017-01-19 11:47:51 +0200
committerDmitry Rozhkov <dmitry.rozhkov@linux.intel.com>2017-01-19 11:51:21 +0200
commit062aabb92438cd91642ff64721ebb8a110ea5ea3 (patch)
tree3c8de874cafd2b59e720e99f624f28dedf5a87c3
parent7bef8e8e546cbd494ea93f92394abdca0f3ed157 (diff)
resolve: Add support for mDNS to systemd-resolve utility
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
-rw-r--r--man/systemd-resolve.xml4
-rw-r--r--src/resolve/resolve-tool.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/man/systemd-resolve.xml b/man/systemd-resolve.xml
index bfd5a68fd9..f3dbaec744 100644
--- a/man/systemd-resolve.xml
+++ b/man/systemd-resolve.xml
@@ -182,7 +182,9 @@
(i.e. classic unicast DNS), <literal>llmnr</literal> (<ulink
url="https://tools.ietf.org/html/rfc4795">Link-Local Multicast Name Resolution</ulink>),
<literal>llmnr-ipv4</literal>, <literal>llmnr-ipv6</literal> (LLMNR via the indicated underlying IP
- protocols). By default the lookup is done via all protocols suitable for the lookup. If used, limits the set of
+ protocols), <literal>mdns</literal> (<ulink url="https://www.ietf.org/rfc/rfc6762.txt">Multicast DNS</ulink>),
+ <literal>mdns-ipv4</literal>, <literal>mdns-ipv6</literal> (MDNS via the indicated underlying IP protocols).
+ By default the lookup is done via all protocols suitable for the lookup. If used, limits the set of
protocols that may be used. Use this option multiple times to enable resolving via multiple protocols at the
same time. The setting <literal>llmnr</literal> is identical to specifying this switch once with
<literal>llmnr-ipv4</literal> and once via <literal>llmnr-ipv6</literal>. Note that this option does not force
diff --git a/src/resolve/resolve-tool.c b/src/resolve/resolve-tool.c
index 07d9582ccb..0c62e5b385 100644
--- a/src/resolve/resolve-tool.c
+++ b/src/resolve/resolve-tool.c
@@ -1524,7 +1524,7 @@ static int status_all(sd_bus *bus) {
static void help_protocol_types(void) {
if (arg_legend)
puts("Known protocol types:");
- puts("dns\nllmnr\nllmnr-ipv4\nllmnr-ipv6");
+ puts("dns\nllmnr\nllmnr-ipv4\nllmnr-ipv6\nmdns\nmnds-ipv4\nmdns-ipv6");
}
static void help_dns_types(void) {
@@ -1722,6 +1722,12 @@ static int parse_argv(int argc, char *argv[]) {
arg_flags |= SD_RESOLVED_LLMNR_IPV4;
else if (streq(optarg, "llmnr-ipv6"))
arg_flags |= SD_RESOLVED_LLMNR_IPV6;
+ else if (streq(optarg, "mdns"))
+ arg_flags |= SD_RESOLVED_MDNS;
+ else if (streq(optarg, "mdns-ipv4"))
+ arg_flags |= SD_RESOLVED_MDNS_IPV4;
+ else if (streq(optarg, "mdns-ipv6"))
+ arg_flags |= SD_RESOLVED_MDNS_IPV6;
else {
log_error("Unknown protocol specifier: %s", optarg);
return -EINVAL;