From 1f9aab20b46f88468ff238a4748d2f242862967d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Nogueira?= Date: Thu, 11 Nov 2021 23:00:36 -0300 Subject: [PATCH] iwd: fix some non-interactive commands. `get-networks` was one of the affected commands; it's especially relevant here, given its possible usage in scripts. --- ...d04e0de69a2c02bb39c774adf84dcbae6bb9.patch | 31 +++++++++++++++++++ srcpkgs/iwd/template | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/iwd/patches/4e61d04e0de69a2c02bb39c774adf84dcbae6bb9.patch diff --git a/srcpkgs/iwd/patches/4e61d04e0de69a2c02bb39c774adf84dcbae6bb9.patch b/srcpkgs/iwd/patches/4e61d04e0de69a2c02bb39c774adf84dcbae6bb9.patch new file mode 100644 index 00000000000..c4c040cee54 --- /dev/null +++ b/srcpkgs/iwd/patches/4e61d04e0de69a2c02bb39c774adf84dcbae6bb9.patch @@ -0,0 +1,31 @@ +From 4e61d04e0de69a2c02bb39c774adf84dcbae6bb9 Mon Sep 17 00:00:00 2001 +From: James Prestwood +Date: Tue, 2 Nov 2021 12:57:49 -0700 +Subject: client: special case daemon interface for non-interactive + +In non-interactive mode, when a dbus method call returns the process +exits. This is true for all methods except agent requests since e.g. +Connect() call automatically requests credentials and the client must +wait for that to return before exiting. The new daemon interface must +also be treated in the same way and not exit. +--- + client/dbus-proxy.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/client/dbus-proxy.c b/client/dbus-proxy.c +index ab9fb5a5..0373a3df 100644 +--- a/client/dbus-proxy.c ++++ b/client/dbus-proxy.c +@@ -315,7 +315,8 @@ static void proxy_callback(struct l_dbus_message *message, void *user_data) + } + + proxy = callback_data->user_data; +- if (!strcmp(proxy->type->interface, IWD_AGENT_MANAGER_INTERFACE)) ++ if (!strcmp(proxy->type->interface, IWD_AGENT_MANAGER_INTERFACE) || ++ !strcmp(proxy->type->interface, IWD_DAEMON_INTERFACE)) + return; + + quit: +-- +cgit 1.2.3-1.el7 + diff --git a/srcpkgs/iwd/template b/srcpkgs/iwd/template index 69b4925b9aa..b01c42ad6cd 100644 --- a/srcpkgs/iwd/template +++ b/srcpkgs/iwd/template @@ -1,7 +1,7 @@ # Template file for 'iwd' pkgname=iwd version=1.19 -revision=1 +revision=2 build_style=gnu-configure configure_args="--disable-systemd-service --enable-pie --enable-dbus-policy --enable-wired"