51 lines
1.7 KiB
Diff
51 lines
1.7 KiB
Diff
|
From 6648b075fb3d434c599d7e1793bd1f0bbe85dfe3 Mon Sep 17 00:00:00 2001
|
||
|
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
|
||
|
Date: Mon, 1 Feb 2016 19:25:12 -0500
|
||
|
Subject: [PATCH 2/6] passphrase_cb is deprecated
|
||
|
|
||
|
https://bugs.gnupg.org/gnupg/issue767 indicates that
|
||
|
gpgme_set_passphrase_cb is a deprecated corner of the API and that
|
||
|
developers using gpgme should really rely on the gpg-agent to handle
|
||
|
this stuff. This should actually simplify things for most
|
||
|
installations -- just strip out all passphrase handling from your
|
||
|
application entirely, relying on gpg to figure out how to find the
|
||
|
agent, and relying on the agent figuring out how to prompt the user
|
||
|
(if necessary).
|
||
|
|
||
|
However, if a developer really wants to use the passphrase callback
|
||
|
approach, they'll have to use loopback pinentry. This sets up the
|
||
|
test suite to be able to make those tests.
|
||
|
---
|
||
|
tests/util.py | 8 +++++++-
|
||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/tests/util.py b/tests/util.py
|
||
|
index cd803c2..86892ca 100644
|
||
|
--- a/tests/util.py
|
||
|
+++ b/tests/util.py
|
||
|
@@ -28,7 +28,9 @@ keydir = os.path.join(os.path.dirname(__file__), 'keys')
|
||
|
|
||
|
class GpgHomeTestCase(unittest.TestCase):
|
||
|
|
||
|
- gpg_conf_contents = ''
|
||
|
+ gpg_conf_contents = 'pinentry-mode loopback'
|
||
|
+ gpg_agent_conf_contents = 'allow-loopback-pinentry'
|
||
|
+
|
||
|
import_keys = []
|
||
|
|
||
|
def keyfile(self, key):
|
||
|
@@ -41,6 +43,10 @@ class GpgHomeTestCase(unittest.TestCase):
|
||
|
fp.write(self.gpg_conf_contents.encode('UTF-8'))
|
||
|
fp.close()
|
||
|
|
||
|
+ fp = open(os.path.join(self._gpghome, 'gpg-agent.conf'), 'wb')
|
||
|
+ fp.write(self.gpg_agent_conf_contents.encode('UTF-8'))
|
||
|
+ fp.close()
|
||
|
+
|
||
|
# import requested keys into the keyring
|
||
|
ctx = gpgme.Context()
|
||
|
for key in self.import_keys:
|
||
|
--
|
||
|
2.7.4
|
||
|
|