=== modified file 'src/pygpgme-signature.c'
--- src/pygpgme-signature.c 2009-04-01 09:46:01 +0000
+++ src/pygpgme-signature.c 2013-05-14 09:58:05 +0000
@@ -101,6 +101,8 @@
Py_XDECREF(self->wrong_key_usage);
Py_XDECREF(self->validity);
Py_XDECREF(self->validity_reason);
+ Py_XDECREF(self->pubkey_algo);
+ Py_XDECREF(self->hash_algo);
PyObject_Del(self);
}
@@ -117,6 +119,8 @@
{ "validity", T_OBJECT, offsetof(PyGpgmeSignature, validity), READONLY},
{ "validity_reason", T_OBJECT,
offsetof(PyGpgmeSignature, validity_reason), READONLY},
+ { "pubkey_algo", T_OBJECT, offsetof(PyGpgmeSignature, pubkey_algo), READONLY},
+ { "hash_algo", T_OBJECT, offsetof(PyGpgmeSignature, hash_algo), READONLY},
{ NULL, 0, 0, 0}
};
@@ -173,6 +177,8 @@
item->wrong_key_usage = PyBool_FromLong(sig->wrong_key_usage);
item->validity = PyInt_FromLong(sig->validity);
item->validity_reason = pygpgme_error_object(sig->validity_reason);
+ item->pubkey_algo = PyInt_FromLong(sig->pubkey_algo);
+ item->hash_algo = PyInt_FromLong(sig->hash_algo);
if (PyErr_Occurred()) {
Py_DECREF(item);
Py_DECREF(list);
=== modified file 'src/pygpgme.h'
--- src/pygpgme.h 2013-02-13 02:18:22 +0000
+++ src/pygpgme.h 2013-05-14 09:32:17 +0000
@@ -90,6 +90,8 @@
PyObject *wrong_key_usage;
PyObject *validity;
PyObject *validity_reason;
+ PyObject *pubkey_algo;
+ PyObject *hash_algo;
} PyGpgmeSignature;
typedef struct {
=== modified file 'tests/test_sign_verify.py'
--- tests/test_sign_verify.py 2012-02-29 03:11:10 +0000
+++ tests/test_sign_verify.py 2013-05-14 10:49:01 +0000
@@ -57,6 +57,8 @@
self.assertEqual(sigs[0].wrong_key_usage, False)
self.assertEqual(sigs[0].validity, gpgme.VALIDITY_UNKNOWN)
self.assertEqual(sigs[0].validity_reason, None)
+ self.assertEqual(sigs[0].pubkey_algo, gpgme.PK_DSA)
+ self.assertEqual(sigs[0].hash_algo, gpgme.MD_SHA1)
def test_verify_detached(self):
signature = BytesIO(dedent('''
@@ -83,6 +85,8 @@
self.assertEqual(sigs[0].wrong_key_usage, False)
self.assertEqual(sigs[0].validity, gpgme.VALIDITY_UNKNOWN)
self.assertEqual(sigs[0].validity_reason, None)
+ self.assertEqual(sigs[0].pubkey_algo, gpgme.PK_DSA)
+ self.assertEqual(sigs[0].hash_algo, gpgme.MD_SHA1)
def test_verify_clearsign(self):
signature = BytesIO(dedent('''
@@ -114,6 +118,8 @@
self.assertEqual(sigs[0].wrong_key_usage, False)
self.assertEqual(sigs[0].validity, gpgme.VALIDITY_UNKNOWN)
self.assertEqual(sigs[0].validity_reason, None)
+ self.assertEqual(sigs[0].pubkey_algo, gpgme.PK_DSA)
+ self.assertEqual(sigs[0].hash_algo, gpgme.MD_SHA1)
def test_verify_multiple_sigs(self):
signature = BytesIO(dedent('''
@@ -156,6 +162,8 @@
self.assertEqual(sigs[0].wrong_key_usage, False)
self.assertEqual(sigs[0].validity, gpgme.VALIDITY_UNKNOWN)
self.assertEqual(sigs[0].validity_reason, None)
+ self.assertEqual(sigs[0].pubkey_algo, gpgme.PK_DSA)
+ self.assertEqual(sigs[0].hash_algo, gpgme.MD_SHA1)
self.assertEqual(sigs[1].summary, 0)
self.assertEqual(sigs[1].fpr,
@@ -167,6 +175,8 @@
self.assertEqual(sigs[1].wrong_key_usage, False)
self.assertEqual(sigs[1].validity, gpgme.VALIDITY_UNKNOWN)
self.assertEqual(sigs[1].validity_reason, None)
+ self.assertEqual(sigs[1].pubkey_algo, gpgme.PK_RSA)
+ self.assertEqual(sigs[1].hash_algo, gpgme.MD_SHA1)
def test_verify_no_signature(self):
signature = BytesIO(dedent('''