On Mon, May 05, 2025 at 23:09:52 +0200, Jens Schmidt via Devel wrote: Since you domain uses DMARC protections, in order to properly honour your autorship you need to set the following git option:
git config --global format.forceInBodyFrom true https://www.libvirt.org/submitting-patches.html#git-configuration That adds a "From: " line allowing git to use your proper name and address. > In scripts repeated execution of virsh can result in a lot of > journal noise when pkttyagent gets registered with polkitd each > time. > > Resolves: https://gitlab.com/libvirt/libvirt/-/issues/757 For patches we require that the author certifies that the patch conforms with the developer certificate of origin: https://www.libvirt.org/hacking.html#developer-certificate-of-origin > --- > NEWS.rst | 4 ++++ > docs/manpages/virsh.rst | 8 ++++++++ > tools/virsh.c | 13 ++++++++++++- > tools/vsh.h | 1 + > 4 files changed, 25 insertions(+), 1 deletion(-) > > diff --git a/NEWS.rst b/NEWS.rst > index ad8910da4c..12ef87bfce 100644 > --- a/NEWS.rst > +++ b/NEWS.rst > @@ -17,6 +17,10 @@ v11.4.0 (unreleased) > > * **New features** > > + * virsh: Add option ``--no-pkttyagent`` > + > + That option suppresses registration of pkttyagent with polkitd. We require that changes to 'NEWS.rst' are always a separate patch, with no other changes. (For possible backports; NEWS are not backported) > + > * **Improvements** > > * **Bug fixes** > diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst > index cef9959f16..f2fac0acad 100644 > --- a/docs/manpages/virsh.rst > +++ b/docs/manpages/virsh.rst > @@ -140,6 +140,14 @@ Output elapsed time information for each command. > > > > +- ``--no-pkttyagent`` > + > +Do not register ``pkttyagent`` as authentication agent with the > +polkit system daemon, even if ``virsh`` has been started from a > +terminal. > + > + > + > - ``-v``, ``--version[=short]`` > > Ignore all other arguments, and prints the version of the libvirt library > diff --git a/tools/virsh.c b/tools/virsh.c > index 800e280c7a..6ae650ec89 100644 > --- a/tools/virsh.c > +++ b/tools/virsh.c > @@ -21,6 +21,7 @@ > #include <config.h> > #include "virsh.h" > > +#include <assert.h> > #include <unistd.h> > #include <getopt.h> > #include <sys/time.h> > @@ -117,7 +118,8 @@ virshConnect(vshControl *ctl, const char *uri, bool > readonly) > keepalive_forced = true; > } > > - if (virPolkitAgentAvailable() && > + if (!ctl->no_pkttyagent && > + virPolkitAgentAvailable() && > !(pkagent = virPolkitAgentCreate())) > virResetLastError(); > > @@ -446,6 +448,7 @@ virshUsage(void) > " -q | --quiet quiet mode\n" > " -r | --readonly connect readonly\n" > " -t | --timing print timing > information\n" > + " --no-pkttyagent suppress registration of > pkttyagent\n" > " -v short version\n" > " -V long version\n" > " --version[=TYPE] version, TYPE is short or > long (default short)\n" > @@ -642,6 +645,7 @@ virshParseArgv(vshControl *ctl, int argc, char **argv) > { "quiet", no_argument, NULL, 'q' }, > { "readonly", no_argument, NULL, 'r' }, > { "timing", no_argument, NULL, 't' }, > + { "no-pkttyagent", no_argument, NULL, 0 }, > { "version", optional_argument, NULL, 'v' }, > { NULL, 0, NULL, 0 }, > }; > @@ -739,6 +743,13 @@ virshParseArgv(vshControl *ctl, int argc, char **argv) > case 'V': > virshShowVersion(ctl); > exit(EXIT_SUCCESS); > + case 0: > + if (STREQ(opt[longindex].name, "no-pkttyagent")) { > + ctl->no_pkttyagent = true; > + break; > + } else { > + assert(false); As witnessed by the fact that you needed to include assert.h we don't use asserts in the code base. While this code path should not be possible to reach without doing a programming error we still should report an error using vshError as in all other cases. > + } > case ':': > for (i = 0; opt[i].name != NULL; i++) { > if (opt[i].val == optopt) > diff --git a/tools/vsh.h b/tools/vsh.h > index 8b87c00ff4..3b75216e11 100644 > --- a/tools/vsh.h > +++ b/tools/vsh.h > @@ -200,6 +200,7 @@ struct _vshControl { > bool imode; /* interactive mode? */ > bool quiet; /* quiet mode */ > bool timing; /* print timing info? */ > + bool no_pkttyagent; /* suppress registration of pkttyagent? */ > int debug; /* print debug messages? */ > char *logfile; /* log file name */ > int log_fd; /* log file descriptor */ > -- > 2.39.5 > The rest looks good to me, so you can add: Reviewed-by: Peter Krempa <pkre...@redhat.com> when sending the updated version.