From: Zbigniew Jędrzejewski-Szmek Date: Thu, 29 Jan 2015 02:30:06 +0000 (-0500) Subject: systemctl: refuse --host with cat X-Git-Tag: v219~226 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=3e495a6651609d0a45b62aab5c3ed5a3b40e11ab;ds=sidebyside systemctl: refuse --host with cat This might be fixed one day, but for now it's better to fail. https://bugzilla.redhat.com/show_bug.cgi?id=1186952 --- diff --git a/TODO b/TODO index 2fee133aa..3c5e0f74f 100644 --- a/TODO +++ b/TODO @@ -16,6 +16,9 @@ Bugfixes: str_split_quoted() should return a real return code, so spawn_child can report the failure properly. +* When systemctl --host is used, underlying ssh connection can remain open. + bus_close does not kill children? + External: * Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros. diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 66c0b9949..11b0be001 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -4563,6 +4563,11 @@ static int cat(sd_bus *bus, char **args) { assert(args); + if (arg_host) { + log_error("Option --host cannot be used with 'cat'"); + return -EINVAL; + } + r = init_home_and_lookup_paths(&user_home, &user_runtime, &lp); if (r < 0) return r;