summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-12-05 14:02:06 +0100
committerLennart Poettering <lennart@poettering.net>2018-12-05 18:46:23 +0100
commitdf87a53df0bcf8c2473d0a573bf31857f0402a37 (patch)
treebd424e52780103634d4cdae59f2fa9e0014b7b40 /src
parentd129304919e7ece3f5350b9198383b704733eaf1 (diff)
downloadsystemd-df87a53df0bcf8c2473d0a573bf31857f0402a37.tar.gz
resolvectl: remove allow_loopback parameter from ifname_mangle()
All our bus calls validate whether the specified device is a loopback device anyway on the server side. Let's hence simplify the client, there's no value in optimizing error paths after all. But there is value in simpler code.
Diffstat (limited to 'src')
-rw-r--r--src/resolve/resolvconf-compat.c2
-rw-r--r--src/resolve/resolvectl.c30
-rw-r--r--src/resolve/resolvectl.h2
3 files changed, 13 insertions, 21 deletions
diff --git a/src/resolve/resolvconf-compat.c b/src/resolve/resolvconf-compat.c
index 242c26e5ca..383d0b819b 100644
--- a/src/resolve/resolvconf-compat.c
+++ b/src/resolve/resolvconf-compat.c
@@ -212,7 +212,7 @@ int resolvconf_parse_argv(int argc, char *argv[]) {
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Expected interface name as argument.");
- r = ifname_mangle(argv[optind], false);
+ r = ifname_mangle(argv[optind]);
if (r <= 0)
return r;
diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
index a468cec72c..6c43ffa823 100644
--- a/src/resolve/resolvectl.c
+++ b/src/resolve/resolvectl.c
@@ -88,7 +88,7 @@ static int parse_ifindex_and_warn(const char *s) {
return ifi;
}
-int ifname_mangle(const char *s, bool allow_loopback) {
+int ifname_mangle(const char *s) {
_cleanup_free_ char *iface = NULL;
const char *dot;
int ifi;
@@ -122,10 +122,6 @@ int ifname_mangle(const char *s, bool allow_loopback) {
return -EINVAL;
}
- if (!allow_loopback && ifi == LOOPBACK_IFINDEX)
- return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
- "Interface can't be the loopback interface (lo). Sorry.");
-
arg_ifindex = ifi;
free_and_replace(arg_ifname, iface);
@@ -1867,7 +1863,7 @@ static int verb_dns(int argc, char **argv, void *userdata) {
assert(bus);
if (argc >= 2) {
- r = ifname_mangle(argv[1], false);
+ r = ifname_mangle(argv[1]);
if (r < 0)
return r;
}
@@ -1953,7 +1949,7 @@ static int verb_domain(int argc, char **argv, void *userdata) {
assert(bus);
if (argc >= 2) {
- r = ifname_mangle(argv[1], false);
+ r = ifname_mangle(argv[1]);
if (r < 0)
return r;
}
@@ -2031,7 +2027,7 @@ static int verb_llmnr(int argc, char **argv, void *userdata) {
assert(bus);
if (argc >= 2) {
- r = ifname_mangle(argv[1], false);
+ r = ifname_mangle(argv[1]);
if (r < 0)
return r;
}
@@ -2072,7 +2068,7 @@ static int verb_mdns(int argc, char **argv, void *userdata) {
assert(bus);
if (argc >= 2) {
- r = ifname_mangle(argv[1], false);
+ r = ifname_mangle(argv[1]);
if (r < 0)
return r;
}
@@ -2113,7 +2109,7 @@ static int verb_dns_over_tls(int argc, char **argv, void *userdata) {
assert(bus);
if (argc >= 2) {
- r = ifname_mangle(argv[1], false);
+ r = ifname_mangle(argv[1]);
if (r < 0)
return r;
}
@@ -2154,7 +2150,7 @@ static int verb_dnssec(int argc, char **argv, void *userdata) {
assert(bus);
if (argc >= 2) {
- r = ifname_mangle(argv[1], false);
+ r = ifname_mangle(argv[1]);
if (r < 0)
return r;
}
@@ -2198,7 +2194,7 @@ static int verb_nta(int argc, char **argv, void *userdata) {
assert(bus);
if (argc >= 2) {
- r = ifname_mangle(argv[1], false);
+ r = ifname_mangle(argv[1]);
if (r < 0)
return r;
}
@@ -2265,7 +2261,7 @@ static int verb_revert_link(int argc, char **argv, void *userdata) {
assert(bus);
if (argc >= 2) {
- r = ifname_mangle(argv[1], false);
+ r = ifname_mangle(argv[1]);
if (r < 0)
return r;
}
@@ -2512,7 +2508,7 @@ static int compat_parse_argv(int argc, char *argv[]) {
break;
case 'i':
- r = ifname_mangle(optarg, true);
+ r = ifname_mangle(optarg);
if (r < 0)
return r;
break;
@@ -2742,10 +2738,6 @@ static int compat_parse_argv(int argc, char *argv[]) {
if (arg_ifindex <= 0)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"--set-dns=, --set-domain=, --set-llmnr=, --set-mdns=, --set-dnsovertls=, --set-dnssec=, --set-nta= and --revert require --interface=.");
-
- if (arg_ifindex == LOOPBACK_IFINDEX)
- return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
- "Interface can't be the loopback interface (lo). Sorry.");
}
return 1 /* work to do */;
@@ -2803,7 +2795,7 @@ static int native_parse_argv(int argc, char *argv[]) {
break;
case 'i':
- r = ifname_mangle(optarg, true);
+ r = ifname_mangle(optarg);
if (r < 0)
return r;
break;
diff --git a/src/resolve/resolvectl.h b/src/resolve/resolvectl.h
index 7858fcd6b4..6b3a1f8445 100644
--- a/src/resolve/resolvectl.h
+++ b/src/resolve/resolvectl.h
@@ -26,4 +26,4 @@ extern char **arg_set_dns;
extern char **arg_set_domain;
extern bool arg_ifindex_permissive;
-int ifname_mangle(const char *s, bool allow_loopback);
+int ifname_mangle(const char *s);