From: Fabian Stelzer Date: Wed, 09 Feb 2022 08:33:51 GMT Subject: Re: [PATCH] gpg-interface: fix for gpgsm v2.3 Message-ID: <20220209083351.dsoxnhhme3lracck@fs> In-Reply-To: On 07.02.2022 11:38, Todd Zullinger wrote: >Hi Fabien, > >Fabian Stelzer wrote: >> On 03.02.2022 15:01, Todd Zullinger wrote: >>> (To be clear, I mean "clever and wrong" in regard to my use >>> of the string list API, not anyone else's code.) >> >> string_list_split seems a bit like overkill. > >I have little doubt that the string_list_split() method is >far from ideal. :) > >> I looked for sth like this but gpgs --help does not list it so i didn't dig >> deeper. I've checked the blame and it seems like this was introduced >19 >> years ago. So i guess we can probably use this ^^ > >Indeed, the --with-colons output goes much further back in >the GnuPG history than Git will ever have to care about. > >>> --- a/t/lib-gpg.sh >>> +++ b/t/lib-gpg.sh >>> @@ -72,12 +72,10 @@ test_lazy_prereq GPGSM ' >>> --passphrase-fd 0 --pinentry-mode loopback \ >>> --import "$TEST_DIRECTORY"/lib-gpg/gpgsm_cert.p12 && >>> >>> - gpgsm --homedir "${GNUPGHOME}" -K | >>> - grep fingerprint: | >>> - cut -d" " -f4 | >>> - tr -d "\\n" >"${GNUPGHOME}/trustlist.txt" && >>> + gpgsm --homedir "${GNUPGHOME}" -K --with-colons | >>> + awk -F ":" "/^fpr:/ {printf \"%s S relax\\n\", \$10}" \ >>> + >"${GNUPGHOME}/trustlist.txt" && >> >> This does not quite work for me. It will add the fingerprint without the >> colons into the trustlist which is not valid :/ > >The colons are optional, and have been documented as such >since cb1840720 ((Agent Configuration): New section., >2005-04-20). The text in the gpg-agent docs from GnuPG 2.2 >say: > > Colons may optionally be used to separate the bytes of a > fingerprint; this enables cutting and pasting the > fingerprint from a key listing output. > >Source: https://dev.gnupg.org/source/gnupg/browse/STABLE-BRANCH-2-2/doc/gpg-agent.texi;8021fe7670c79d5c698ec3fb600b02a9e5afb415$756?as=source&blame=off > >How did it fail for you? It passes all the tests when I've >run it against Fedora and RHEL-based hosts. If it's flaky >on other systems, that would put a damper on doing it this >way. Though it _should_ work. Sorry for the delays, I'm a bit busy with other things at the moment. I did get an interactive popup asking if I would like to trust the key when I ran the t4202 test. This never happened with the old variant. > >[Note to myself] We don't just generate the key data, >trustlist, etc. and store it in t/lib-gpg like we do with >some other files per b41a36e635 (tests: create gpg homedir >on the fly, 2014-12-12). That was because the gnupg home >directory layout changed a bit between 2.0 and 2.1. > >Thanks, > >-- >Todd