added my Recipes

This commit is contained in:
2024-07-11 14:16:35 +02:00
parent 38bc4f53ac
commit 09b621d929
7118 changed files with 525762 additions and 3 deletions

View File

@@ -0,0 +1,90 @@
From ed44474c11f577c1644910964a917a4cf701bb0f Mon Sep 17 00:00:00 2001
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 26 Jan 2016 14:24:26 -0500
Subject: [PATCH] reflect 2.1 reporting for key imports
GnuPG 2.1 changes how it reports key imports. These changes should
make the pygpgme test suite compatible with GnuPG 2.1.
See also:
https://lists.gnupg.org/pipermail/gnupg-devel/2016-January/030718.html
Upstream-Status: Backport
Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
---
tests/test_import.py | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/tests/test_import.py b/tests/test_import.py
index 10eb816..597eb47 100644
--- a/tests/test_import.py
+++ b/tests/test_import.py
@@ -55,7 +55,7 @@ class ImportTestCase(GpgHomeTestCase):
ctx = gpgme.Context()
with self.keyfile('key1.sec') as fp:
result = ctx.import_(fp)
- self.assertEqual(result.considered, 1)
+ self.assertEqual(result.considered, 3)
self.assertEqual(result.no_user_id, 0)
self.assertEqual(result.imported, 1)
self.assertEqual(result.imported_rsa, 0)
@@ -64,18 +64,18 @@ class ImportTestCase(GpgHomeTestCase):
self.assertEqual(result.new_sub_keys, 0)
self.assertEqual(result.new_signatures, 0)
self.assertEqual(result.new_revocations, 0)
- self.assertEqual(result.secret_read, 1)
- self.assertEqual(result.secret_imported, 1)
+ self.assertEqual(result.secret_read, 3)
+ self.assertEqual(result.secret_imported, 2)
self.assertEqual(result.secret_unchanged, 0)
self.assertEqual(result.skipped_new_keys, 0)
self.assertEqual(result.not_imported, 0)
self.assertEqual(len(result.imports), 2)
self.assertEqual(result.imports[0],
('E79A842DA34A1CA383F64A1546BB55F0885C65A4',
- None, gpgme.IMPORT_NEW | gpgme.IMPORT_SECRET))
+ None, gpgme.IMPORT_NEW))
self.assertEqual(result.imports[1],
('E79A842DA34A1CA383F64A1546BB55F0885C65A4',
- None, gpgme.IMPORT_NEW))
+ None, gpgme.IMPORT_NEW | gpgme.IMPORT_SECRET))
# can we get the public key?
key = ctx.get_key('E79A842DA34A1CA383F64A1546BB55F0885C65A4')
# can we get the secret key?
@@ -102,17 +102,17 @@ class ImportTestCase(GpgHomeTestCase):
fp = BytesIO(b'\n'.join(keys))
ctx = gpgme.Context()
result = ctx.import_(fp)
- self.assertEqual(result.considered, 3)
+ self.assertEqual(result.considered, 5)
self.assertEqual(result.no_user_id, 0)
self.assertEqual(result.imported, 2)
- self.assertEqual(result.imported_rsa, 1)
+ self.assertEqual(result.imported_rsa, 0)
self.assertEqual(result.unchanged, 0)
self.assertEqual(result.new_user_ids, 0)
self.assertEqual(result.new_sub_keys, 0)
self.assertEqual(result.new_signatures, 1)
self.assertEqual(result.new_revocations, 0)
- self.assertEqual(result.secret_read, 1)
- self.assertEqual(result.secret_imported, 1)
+ self.assertEqual(result.secret_read, 3)
+ self.assertEqual(result.secret_imported, 2)
self.assertEqual(result.secret_unchanged, 0)
self.assertEqual(result.skipped_new_keys, 0)
self.assertEqual(result.not_imported, 0)
@@ -122,10 +122,10 @@ class ImportTestCase(GpgHomeTestCase):
None, gpgme.IMPORT_NEW))
self.assertEqual(result.imports[1],
('E79A842DA34A1CA383F64A1546BB55F0885C65A4',
- None, gpgme.IMPORT_NEW | gpgme.IMPORT_SECRET))
+ None, gpgme.IMPORT_SIG))
self.assertEqual(result.imports[2],
('E79A842DA34A1CA383F64A1546BB55F0885C65A4',
- None, gpgme.IMPORT_SIG))
+ None, gpgme.IMPORT_NEW | gpgme.IMPORT_SECRET))
self.assertEqual(result.imports[3],
('93C2240D6B8AA10AB28F701D2CF46B7FC97E6B0F',
None, gpgme.IMPORT_NEW))

View File

@@ -0,0 +1,52 @@
From ba0dc8273e4f83bcd2d43baa5910aae34b93048c 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] 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.
Upstream-Status: Backport
Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
---
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:

View File

@@ -0,0 +1,30 @@
From 579b5930e15de8855bf63b3c20b6c3aaf894c3eb Mon Sep 17 00:00:00 2001
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Mon, 1 Feb 2016 19:27:59 -0500
Subject: [PATCH] handle generic error when no passphrase callback present
apparently gpg 2.1 returns ERR_GENERAL right now if the pinentry was
in loopback mode and no passphrase callback was supplied. Earlier
versions supplied ERR_BAD_PASSPHRASE.
Upstream-Status: Backport
Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
---
tests/test_passphrase.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test_passphrase.py b/tests/test_passphrase.py
index 0a235e9..35b3c59 100644
--- a/tests/test_passphrase.py
+++ b/tests/test_passphrase.py
@@ -41,7 +41,7 @@ class PassphraseTestCase(GpgHomeTestCase):
new_sigs = ctx.sign(plaintext, signature, gpgme.SIG_MODE_CLEAR)
except gpgme.GpgmeError as exc:
self.assertEqual(exc.args[0], gpgme.ERR_SOURCE_GPGME)
- self.assertEqual(exc.args[1], gpgme.ERR_BAD_PASSPHRASE)
+ self.assertEqual(exc.args[1], gpgme.ERR_GENERAL)
else:
self.fail('gpgme.GpgmeError not raised')

View File

@@ -0,0 +1,3 @@
#!/bin/sh
GPG_AGENT_INFO= python test_all.py -v 2>&1 | sed -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'