Re: [PATCH 1/2] t/lib-gpg: quote path to ${GNUPGHOME}/trustlist.txt
- From
SZEDER Gábor <szeder.dev@gmail.com>
- Date
- Feb 8, 2019, 20:11 UTC
- Message-ID
- <20190208201105.GA10587@szeder.dev>
- In-Reply-To
- <20190208031746.22683-2-tmz@pobox.com>
On Thu, Feb 07, 2019 at 10:17:45PM -0500, Todd Zullinger wrote:
> When gpgsm is installed, lib-gpg.sh attempts to update trustlist.txt to
> relax the checking of some root certificate requirements. The path to
> "${GNUPGHOME}" contains spaces which cause an "ambiguous redirect"
> warning when bash is used to run the tests:s/error/warning/
Show 7 quoted lines
> $ bash t7030-verify-tag.sh
> /git/t/lib-gpg.sh: line 66: ${GNUPGHOME}/trustlist.txt: ambiguous redirect
> ok 1 - create signed tags
> ok 2 # skip create signed tags x509 (missing GPGSM)
> ...
>
> No warning is issued when using bash called as /bin/sh, dash, or mksh.Likewise.
POSIX says that no field splitting should be performed on the result of a parameter expansion that is used as the target of a redirection, but Bash doesn't conform in this respect (unless in POSIX mode).
Show 23 quoted lines
> Quote the path to ensure the redirect works as intended and sets the
> GPGSM prereq. While we're here, drop the space after ">>".
>
> Signed-off-by: Todd Zullinger <tmz@pobox.com>
> ---
> t/lib-gpg.sh | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/t/lib-gpg.sh b/t/lib-gpg.sh
> index f1277bef4f..207009793b 100755
> --- a/t/lib-gpg.sh
> +++ b/t/lib-gpg.sh
> @@ -63,7 +63,7 @@ then
> cut -d" " -f4 |
> tr -d '\n' >"${GNUPGHOME}/trustlist.txt" &&
>
> - echo " S relax" >> ${GNUPGHOME}/trustlist.txt &&
> + echo " S relax" >>"${GNUPGHOME}/trustlist.txt" &&
> (gpgconf --kill gpg-agent >/dev/null 2>&1 || : ) &&
> echo hello | gpgsm --homedir "${GNUPGHOME}" >/dev/null \
> -u committer@example.com -o /dev/null --sign - 2>&1 &&
> --
> Todd