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.
This commit is contained in:
Lennart Poettering
2018-12-05 18:46:23 +01:00
parent d129304919
commit df87a53df0
3 changed files with 13 additions and 21 deletions
+1 -1
View File
@@ -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;
+11 -19
View File
@@ -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;
+1 -1
View File
@@ -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);