SHA256
1
0
forked from pool/libvirt
libvirt/0001-util-Don-t-spawn-pkttyagent-when-stdin-is-not-a-tty.patch
James Fehlig 58112c5e1b Accepting request 1000754 from home:jfehlig:branches:Virtualization
- Update to libvirt 8.7.0
  - jsc#PED-620, jsc#PED-1540
  - Many incremental improvements and bug fixes, see
    https://libvirt.org/news.html#v8-7-0-2022-09-01
  - Dropped patches:
    9493c9b7-lxc-containter-fix-build-with-glibc-2.36.patch,
    c0d9adf2-virfile-Fix-build-with-glibc-2.36.patch

- spec: Suppress error messages about nonexistent or unreadable
  files from grep

OBS-URL: https://build.opensuse.org/request/show/1000754
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=943
2022-09-01 22:07:34 +00:00

35 lines
1.4 KiB
Diff

From be595e5e9e9bc8fa3fdd94358b1c92bd8b30b0eb Mon Sep 17 00:00:00 2001
From: Jim Fehlig <jfehlig@suse.com>
Date: Tue, 5 Jul 2022 11:21:45 -0600
Subject: 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(+)
Index: libvirt-8.7.0/src/util/virpolkit.c
===================================================================
--- libvirt-8.7.0.orig/src/util/virpolkit.c
+++ libvirt-8.7.0/src/util/virpolkit.c
@@ -235,6 +235,9 @@ virPolkitAgentAvailable(void)
const char *termid = ctermid(NULL);
VIR_AUTOCLOSE fd = -1;
+ if (!isatty(STDIN_FILENO))
+ return false;
+
if (!virFileIsExecutable(PKTTYAGENT))
return false;