aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lang/python/tests/Makefile.am1
-rwxr-xr-xtests/start-stop-agent8
2 files changed, 8 insertions, 1 deletions
diff --git a/lang/python/tests/Makefile.am b/lang/python/tests/Makefile.am
index 7251cd30..a935222f 100644
--- a/lang/python/tests/Makefile.am
+++ b/lang/python/tests/Makefile.am
@@ -117,4 +117,3 @@ clean-local:
./gpg-agent.conf:
# This is required for gpg2, which does not support command fd.
echo pinentry-program $(abs_top_srcdir)/tests/gpg/pinentry >$@
- echo allow-loopback-pinentry >>$@
diff --git a/tests/start-stop-agent b/tests/start-stop-agent
index e843ce5c..457f70d7 100755
--- a/tests/start-stop-agent
+++ b/tests/start-stop-agent
@@ -38,6 +38,14 @@ fi
echo "starting gpg-agent.." >&2
+# GnuPG prior to 2.1.12 needs --allow-loopback-pinentry for the
+# loopback entry to work. Old versions do not understand this though,
+# so we need to be careful.
+if "$GPG_AGENT" --gpgconf-test --allow-loopback-pinentry &&
+ ! grep -q allow-loopback-pinentry "$GNUPGHOME/gpg-agent.conf"; then
+ echo allow-loopback-pinentry >> "$GNUPGHOME/gpg-agent.conf"
+fi
+
gpg-connect-agent --agent-program="${GPG_AGENT}|--debug-quick-random" putval\ $token\ set /bye
if [ $? -ne 0 -o "$(gpg-connect-agent getval\ $token /bye 2>/dev/null | head -1)" \
!= "D set" ]; then