2021-12-13 16:17:18 +01:00
|
|
|
From 306f15c98fb5626f35f876b1f3fa39dee37e5810 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Martin Kletzander <mkletzan@redhat.com>
|
|
|
|
Date: Sat, 11 Dec 2021 14:23:11 +0100
|
|
|
|
Subject: [PATCH] util: Don't spawn pkttyagent when stdin is not a tty
|
|
|
|
|
|
|
|
My idea was that running pkttyagent unconditionally, modulo checks that
|
|
|
|
pkttyagent itself does to make sure it does not fail, is not going to be an
|
|
|
|
issue turned out to be wrong. Adding back the original check for stdin being a
|
|
|
|
tty helps in some testing scenarios as reported by Jim Fehlig and does not
|
|
|
|
really cause any issues. I originally wanted it in because it also made
|
|
|
|
pkttyagent auth work with redirected input into virsh (with a connection that
|
|
|
|
requires polkit authentication and without a session-wide polkit tty agent,
|
|
|
|
basically making pkttyagent necessary to succeed). But anyone running virsh
|
|
|
|
like that is asking for problems already anyway =)
|
|
|
|
|
|
|
|
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
|
|
|
|
---
|
|
|
|
src/util/virpolkit.c | 3 +++
|
|
|
|
1 file changed, 3 insertions(+)
|
|
|
|
|
2022-08-03 00:10:49 +02:00
|
|
|
Index: libvirt-8.6.0/src/util/virpolkit.c
|
2021-12-13 16:17:18 +01:00
|
|
|
===================================================================
|
2022-08-03 00:10:49 +02:00
|
|
|
--- libvirt-8.6.0.orig/src/util/virpolkit.c
|
|
|
|
+++ libvirt-8.6.0/src/util/virpolkit.c
|
2022-07-06 19:18:39 +02:00
|
|
|
@@ -235,6 +235,9 @@ virPolkitAgentAvailable(void)
|
2021-12-13 16:17:18 +01:00
|
|
|
const char *termid = ctermid(NULL);
|
|
|
|
VIR_AUTOCLOSE fd = -1;
|
|
|
|
|
|
|
|
+ if (!isatty(STDIN_FILENO))
|
|
|
|
+ return false;
|
|
|
|
+
|
|
|
|
if (!virFileIsExecutable(PKTTYAGENT))
|
|
|
|
return false;
|
|
|
|
|