systemd-239: fixes for the compatibility interface

[No upstream tracking] -- https://github.com/systemd/systemd/issues/9423

resolvconf-compat: use compat_main() when called as `resolvconf`,
since the interface is closer to that of `systemd-resolve`.

Use a heap allocated string to set arg_ifname, since a stack allocated
one would be lost after the function returns. (This last one broke the
case where an interface name was suffixed with a dot, such as in
`resolvconf -a tap0.dhcp`.)

Tested:
  $ build/resolvconf -a nonexistent.abc </etc/resolv.conf
  Unknown interface 'nonexistent': No such device

Upstream-Status: Backport [https://github.com/systemd/systemd/commit/5a01b3f35d7b6182c78b6973db8d99bdabd4f9c3]
bug: 9423
Signed-off-by: Simon Ausserlechner <simon.ausserlechner@siemens.com>

diff --git a/src/resolve/resolvconf-compat.c b/src/resolve/resolvconf-compat.c
index d7e68003e..072345894 100644
--- a/src/resolve/resolvconf-compat.c
+++ b/src/resolve/resolvconf-compat.c
@@ -53,6 +53,8 @@ static int parse_nameserver(const char *string) {
 
                 if (strv_push(&arg_set_dns, word) < 0)
                         return log_oom();
+
+                word = NULL;
         }
 
         return 0;
@@ -202,7 +204,7 @@ int resolvconf_parse_argv(int argc, char *argv[]) {
 
         dot = strchr(argv[optind], '.');
         if (dot) {
-                iface = strndupa(argv[optind], dot - argv[optind]);
+                iface = strndup(argv[optind], dot - argv[optind]);
                 log_debug("Ignoring protocol specifier '%s'.", dot + 1);
         } else
                 iface = argv[optind];
diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
index e96c13fea..e9e395e3e 100644
--- a/src/resolve/resolvectl.c
+++ b/src/resolve/resolvectl.c
@@ -3092,7 +3092,7 @@ int main(int argc, char **argv) {
                 goto finish;
         }
 
-        if (streq(program_invocation_short_name, "systemd-resolve"))
+        if (STR_IN_SET(program_invocation_short_name, "systemd-resolve", "resolvconf"))
                 r = compat_main(argc, argv, bus);
         else
                 r = native_main(argc, argv, bus);
-- 
2.11.0

