gpgmeProject
ActivePublic

Details

Description

GnuPG Made Easy (GPGME) is a C language library that allows to add support for cryptography to a program. It is designed to make access to public key crypto engines like GnuPG or GpgSM easier for applications. GPGME provides a high-level crypto API for encryption, decryption, signing, signature verification and key management.

GPGME comes with language bindings for Common Lisp, C++, QT, Python2 and Python 3.

GPGME uses GnuPG and GpgSM as its backends to support OpenPGP and the Cryptographic Message Syntax (CMS).

Recent Activity

Fri, Nov 15

werner closed T4725: Dubious filename in literal data packet when encrypting with GPGME/GnuPGv1.4.23 as Wontfix.

it is just that we won't fix that for gpg 1.4.

Fri, Nov 15, 9:18 AM · gpgme, Bug Report

Thu, Oct 24

dkg reopened T4725: Dubious filename in literal data packet when encrypting with GPGME/GnuPGv1.4.23 as "Open".

@werner, are you saying that gpgme is not fully supported for use with gpg 1.4?

Thu, Oct 24, 9:22 PM · gpgme, Bug Report

Wed, Oct 23

werner closed T4725: Dubious filename in literal data packet when encrypting with GPGME/GnuPGv1.4.23 as Wontfix.

That seems to be gpg 1.4 which we do not fully support.

Wed, Oct 23, 11:32 AM · gpgme, Bug Report
justus added a comment to T4725: Dubious filename in literal data packet when encrypting with GPGME/GnuPGv1.4.23.

Sure: https://gitlab.com/sequoia-pgp/openpgp-interoperability-test-suite/blob/master/src/gnupg.rs#L70

Wed, Oct 23, 9:31 AM · gpgme, Bug Report
dkg added a comment to T4725: Dubious filename in literal data packet when encrypting with GPGME/GnuPGv1.4.23.

@justus can you provide an example of the gpgme code you're using that generates this weirdness?

Wed, Oct 23, 3:43 AM · gpgme, Bug Report

Tue, Oct 22

justus created T4725: Dubious filename in literal data packet when encrypting with GPGME/GnuPGv1.4.23.
Tue, Oct 22, 1:23 PM · gpgme, Bug Report

Oct 15 2019

werner triaged T4721: expose import filter through gpgme as Normal priority.
Oct 15 2019, 2:44 PM · Feature Request, gpgme
4tmuelle created T4721: expose import filter through gpgme in the S1 Public space.
Oct 15 2019, 12:50 PM · Feature Request, gpgme

Sep 9 2019

aheinecke closed T4389: Gpg4win 3.1.8, a subtask of T4440: GPA: Crash on keygen in Gpg4win-3.1.6, as Resolved.
Sep 9 2019, 11:27 AM · gpg4win, gpa, gpgme

Aug 30 2019

werner triaged T4688: `make distcheck` fails trying to make `rst/gpgme-python-howto.rst` as Normal priority.

The Python doc build system we implemented the last year is a complete mess - I had so much trouble the last time I did a release :-(.

Aug 30 2019, 12:18 PM · gpgme, Bug Report

Aug 27 2019

dkg added a comment to T4276: Context.decrypt() throws an error if *any* signature is bad.

i'm actually running make -j3 check, since make -j3 distcheck has the problems described in T4688.

Aug 27 2019, 4:50 PM · gpgme, Python, Bug Report
dkg created T4688: `make distcheck` fails trying to make `rst/gpgme-python-howto.rst`.
Aug 27 2019, 4:48 PM · gpgme, Bug Report
dkg added a comment to T4276: Context.decrypt() throws an error if *any* signature is bad.

So i've been able to (intermittently) reproduce the failures that i think @werner was alluding to here, but not under any circumstances where i can get them to happen reliably to understand what's going on.

Aug 27 2019, 4:18 PM · gpgme, Python, Bug Report

Jul 24 2019

aheinecke merged T4653: Kleopatra - Change Expiry Date into T4395: Kleopatra: Missing error handling when changing expiry.
Jul 24 2019, 9:46 AM · gpa, gnupg, gpgme, gpg4win, kleopatra

Jul 23 2019

aheinecke added a comment to T4650: Kleopatra crashed with an application error (Windows).

This pretty much matches my test setup. As the crash is in GPGME it is out of Kleopatra's hand. So I'll try to write a test that repeats such a signing for lots of times. I think this is probably some random race condition.

Jul 23 2019, 9:14 AM · gpgme, kleopatra, Bug Report, gpg4win
florianh added a comment to T4650: Kleopatra crashed with an application error (Windows).

I don't think I can reproduce it, at least it didn't happen anymore after restarting and continuing the imports. AFAIR it happened after importing the "Master Key", during trying to import the "Release Key" from https://www.chiark.greenend.org.uk/~sgtatham/putty/keys.html
Ah and maybe one more hint: I have several keypairs, so the dialog for choosing the keypair to be used appears in the next step.

Jul 23 2019, 9:12 AM · gpgme, kleopatra, Bug Report, gpg4win
aheinecke added projects to T4650: Kleopatra crashed with an application error (Windows): kleopatra, gpgme.
Jul 23 2019, 8:50 AM · gpgme, kleopatra, Bug Report, gpg4win

Jul 12 2019

gniibe added a commit to T4275: python gpg binding VCS contains generated files (documentation): rM36428d8cf153: python: doc: Remove generated files, put rules in Makefile..
Jul 12 2019, 8:43 AM · gpgme, Bug Report
gniibe closed T4275: python gpg binding VCS contains generated files (documentation) as Resolved.

Fixed.

Jul 12 2019, 7:55 AM · gpgme, Bug Report

Jul 8 2019

dkg added a comment to T4276: Context.decrypt() throws an error if *any* signature is bad.

yes, python2.7 and python3.7

Jul 8 2019, 5:55 PM · gpgme, Python, Bug Report
werner added a comment to T4276: Context.decrypt() throws an error if *any* signature is bad.

Using several python versions?

Jul 8 2019, 9:53 AM · gpgme, Python, Bug Report
dkg reopened T4276: Context.decrypt() throws an error if *any* signature is bad as "Open".

rM7d0a979c07d2 disabled the test for this. @werner says:

Jul 8 2019, 4:38 AM · gpgme, Python, Bug Report

Jul 5 2019

werner added a comment to T3464: successful decryption with session key reports failure if public key is unknown.

Because this is a GPGME bug.

Jul 5 2019, 6:36 PM · gpgme, Bug Report
dkg added a comment to T3464: successful decryption with session key reports failure if public key is unknown.

why is this fix not relevant for the 2.2 stable branch? I've had no feedback on this proposed patch.

Jul 5 2019, 5:51 PM · gpgme, Bug Report
werner removed a project from T3464: successful decryption with session key reports failure if public key is unknown: gnupg (gpg22).
Jul 5 2019, 11:12 AM · gpgme, Bug Report
aheinecke added a comment to T3928: canceling password dialog for decrypting is not recognized correctling..

I closed this as a duplicate of a newer task because I did not find this issue when creating T4561 and there was already work done for T4561.

Jul 5 2019, 9:33 AM · gpgme, Bug Report
aheinecke merged task T3928: canceling password dialog for decrypting is not recognized correctling. into T4561: GPG / GPGSM: Pinentry cancels lead to wrong error codes.
Jul 5 2019, 9:33 AM · gpgme, Bug Report

Jul 1 2019

werner added a comment to T3321: Make it possible to combine GpgMEpp and QGpgme with MSVC compiled binaries.

Okay, so the open task is to build gpgme with MSVC in a way that different libnames are used and that we can distribute them along our standard DLLs? Given the easy we can now ssh into Windows there won't be a need to Wine things.

Jul 1 2019, 3:38 PM · Feature Request, gpgme
aheinecke added a comment to T3321: Make it possible to combine GpgMEpp and QGpgme with MSVC compiled binaries.

One issue with this is that Qt Webengine (chrome) cannot be built with mingw. Fixing that would be a major project.

Jul 1 2019, 2:54 PM · Feature Request, gpgme
aheinecke added a comment to T3321: Make it possible to combine GpgMEpp and QGpgme with MSVC compiled binaries.

High priority and half a year no action....

Jul 1 2019, 2:48 PM · Feature Request, gpgme
aheinecke reassigned T4395: Kleopatra: Missing error handling when changing expiry from aheinecke to werner.

Werner: I'm assigning this to you. Because the underlying reason is a missing status from gpg. I think we should add that for 2.3 as any new status line tends to break things.

Jul 1 2019, 8:45 AM · gpa, gnupg, gpgme, gpg4win, kleopatra

Jun 21 2019

werner triaged T4578: python3 gpg module should offer an "encrypt" function that takes an email.message.EmailMessage and returns a new one as Normal priority.
Jun 21 2019, 10:04 AM · gpgme, Python, Feature Request

Jun 20 2019

huowen added a comment to T4395: Kleopatra: Missing error handling when changing expiry.

Hello,
when can we fix it?

Jun 20 2019, 2:12 AM · gpa, gnupg, gpgme, gpg4win, kleopatra

Jun 19 2019

dkg added a comment to T3464: successful decryption with session key reports failure if public key is unknown.

without feedback, i have no idea what you want to do here as upstream. I believe this issue has identified a specific failing use case, and it has a patch that fixes the problem. if there's a problem, please let me know what it is. If there's no problem, please consider merging.

Jun 19 2019, 11:21 PM · gpgme, Bug Report
dkg added a comment to T4578: python3 gpg module should offer an "encrypt" function that takes an email.message.EmailMessage and returns a new one.

I note that "the best" seems like it might be a pretty subjective thing. The standard GnuPG framing asks about the validity of keys for the User ID in question. Perhaps the caller could indicate whether they want to require full validity for each key to make this key selection more strict.

Jun 19 2019, 7:22 PM · gpgme, Python, Feature Request
dkg added a comment to T4578: python3 gpg module should offer an "encrypt" function that takes an email.message.EmailMessage and returns a new one.

The function would do something like:

  • from msg, extract all e-mail addresses from to, cc, bcc fields
  • find "the best" keys that match these addresses, storing them in keylist
  • copy msg to tmp, remove bcc header from tmp
  • wrap armored output of gpg.Context.encrypt(bytes(tmp), recipients=keylist) in the necessary RFC 3156 cladding, copying most headers from msg (maybe stubbing out the subject), producing an email.message.EmailMessage object.
Jun 19 2019, 7:19 PM · gpgme, Python, Feature Request
dkg created T4578: python3 gpg module should offer an "encrypt" function that takes an email.message.EmailMessage and returns a new one.
Jun 19 2019, 6:59 PM · gpgme, Python, Feature Request

Jun 17 2019

werner added a comment to T2919: fix gpgme/gpgsm pipe server session with use_descriptor_passing (was: mutt + gpgme problems with some Outlook S/MIME emails).

This seems to be closely related to T4257 for which I have a fix under test. The problem is that we pass the fd used by the caller to create the data object to gpgsm and close that very fd. The descriptor passing involves an implicit dup so closing is in theory okay but we should not close an fd which has been set (w/o dup) by the caller.

Jun 17 2019, 8:38 AM · gpgme, Bug Report

Jun 13 2019

werner closed T4551: Release GPGME-1.13.1 as Resolved.

Release done.

Jun 13 2019, 3:39 PM · gpgme, Release Info
werner added a commit to T4276: Context.decrypt() throws an error if *any* signature is bad: rM7d0a979c07d2: python: Fix regression in t-decrypt-verify test..
Jun 13 2019, 3:36 PM · gpgme, Python, Bug Report
werner added a comment to T4257: GPGME: op_verify failes for S/MIME with EBADF in multithreaded signature verification.

I have a larger change for the wait code in the works. This will go into 1.14.0 but not in 1.13.1

Jun 13 2019, 9:06 AM · S/MIME, gpgme
werner updated the task description for T4551: Release GPGME-1.13.1.
Jun 13 2019, 9:05 AM · gpgme, Release Info

Jun 6 2019

werner added a comment to T4257: GPGME: op_verify failes for S/MIME with EBADF in multithreaded signature verification.

I had to patch strace to follow threads but not forks (P8) and then when built with support for -k I tracked it down: In the inbound handler we close the fd immediately on EOF. However the upper layers don't know about it and a select fails with EBADF. Of course we could ignore the EBADF, figure out the closed fd and restart. The problem is that another thread may have opened a new oobject and that will get the last closed fd assigned - bummer.

Jun 6 2019, 5:08 PM · S/MIME, gpgme
aheinecke added a comment to T4257: GPGME: op_verify failes for S/MIME with EBADF in multithreaded signature verification.

Just noticed that due to me failing to properly understand re-entrant locks the run-thread test is broken at least on windows in that it never waits for completion. So running out of filedescriptors is to expect. I'll fix the test.

Jun 6 2019, 9:44 AM · S/MIME, gpgme
aheinecke added a comment to T4257: GPGME: op_verify failes for S/MIME with EBADF in multithreaded signature verification.

My observation from running the verify threaded test on windows is that it does behave differently. The EBADF does not occur.

Jun 6 2019, 8:51 AM · S/MIME, gpgme

Jun 5 2019

werner added a comment to T4257: GPGME: op_verify failes for S/MIME with EBADF in multithreaded signature verification.

Something(tm) closes an arbitrary file descriptor behind our back. Not easy to track down because strace can not trace only threads - it always wants to trace all children as well - which is a bit too much and leads to other problems.

Jun 5 2019, 9:03 PM · S/MIME, gpgme
werner raised the priority of T4257: GPGME: op_verify failes for S/MIME with EBADF in multithreaded signature verification from Normal to High.
Jun 5 2019, 9:00 PM · S/MIME, gpgme
aheinecke added a comment to T4116: Kleopatra: Hang on posix with GPGME_DEBUG=9.

Log loops with:

Jun 5 2019, 11:06 AM · kleopatra, gpgme
aheinecke added a comment to T4116: Kleopatra: Hang on posix with GPGME_DEBUG=9.

I have a hang now when keylisting in Kleo with GPGME_DEBUG=9:

Jun 5 2019, 11:06 AM · kleopatra, gpgme
aheinecke renamed T4116: Kleopatra: Hang on posix with GPGME_DEBUG=9 from Kleopatra: Hang in gpgconf_read on posix with GPGME_DEBUG=9 to Kleopatra: Hang on posix with GPGME_DEBUG=9.
Jun 5 2019, 11:05 AM · kleopatra, gpgme