Page MenuHome GnuPG
Feed Advanced Search

Jul 20 2016

aheinecke added projects to T2420: TOFU Info for a Key: Feature Request, gnupg (gpg21), gpgme.
Jul 20 2016, 2:31 PM · Duplicate, gpgme, gnupg (gpg21), Feature Request
aheinecke set External Link to https://phabricator.kde.org/T2520 on T2420: TOFU Info for a Key.
Jul 20 2016, 2:31 PM · Duplicate, gpgme, gnupg (gpg21), Feature Request

Jul 18 2016

justus claimed T2405: Possible timing problem with TOFU.
Jul 18 2016, 6:05 PM · gnupg, gnupg (gpg22), Bug Report
justus added a comment to T2405: Possible timing problem with TOFU.

I agree, these are problems we should address, they might be the symptoms of a
race somewhere. I bet they are in GnuPG though.

Jul 18 2016, 6:05 PM · gnupg, gnupg (gpg22), Bug Report

Jul 16 2016

aheinecke removed a project from T2368: Integer overflow in gpgme_progress_cb arguments: Restricted Project.
Jul 16 2016, 9:05 PM · gpgme, Bug Report
aheinecke added a comment to T2368: Integer overflow in gpgme_progress_cb arguments.

D369: 860_0001-Core-Add-file_size-support-to-gpgme_data.patch

Jul 16 2016, 9:05 PM · gpgme, Bug Report
aheinecke added a comment to T2368: Integer overflow in gpgme_progress_cb arguments.

Since Kleopatra is using data callbacks the total is always 0 so I can't use the
way to calculate percent.

Previously kleopatra used the filesize as total value. This does not work if
total is always 0 and the progress switches based on the current file size. E.g
for a large file the prgress decreases after 1024*1024 bytes have been processed.

I could probably add some weird "if gnupg > 2.1.14 and the file size is >
1024*1024 and the progress is < 1024*1024 expect it to be bytes and otherwise
expect it to be kilobytes." But this is not nice to use API.

My attached patch solves this by giving data callback users the opportunity to
provide GnuPG with the information how much input size it can expect. This makes
total / current workable from the start and everything is fine.

But as we jabbered about you do not like this patch :'-(

Problem not resolved for me as I think the weird handling currently imposed by
GnuPG is definitely not "Easy"

Jul 16 2016, 9:05 PM · gpgme, Bug Report

Jul 7 2016

werner added a comment to T2314: Improve detection of gpgme_data_identify.

I think that the charset header in the armor is not a good idea. In fact gpg
does not consider it at all. The armor headers are not protected and thus they
should not not chnage the semantics of the encrypted message. There is also no
way to keep this information after removing the armor or to re-create the header
from a binary message.

I consider a new flag for the Literal Data Packet to indicate theat the content
is a MIME message to be better. Standard MIME methods can then be used to
describe the content. Right now we only have an 'u' flag to indicate UTF-8
encoding (which to some interpretation of OpenPGP is anyway the default).
An 'm' flag would make it explicit that the content is MIME encoded and there
would be no more need to derive that info from the context.

Jul 7 2016, 9:05 AM · gpgme, Feature Request, gpg4win
werner added a comment to T2314: Improve detection of gpgme_data_identify.

I also created a set of examples messages. They are in
gnupg/tests/openpgp/samplemsgs/

Jul 7 2016, 8:56 AM · gpgme, Feature Request, gpg4win
werner added a project to T2407: The assuan interface in gpgme is not documented: Documentation.
Jul 7 2016, 8:36 AM · Documentation, gpgme, Bug Report

Jul 5 2016

aheinecke added a comment to T2407: The assuan interface in gpgme is not documented.

interested in this, too. Especially since you always tell me assuan is so easy
to use because it's all in gpgme :-)

Jul 5 2016, 9:35 PM · Documentation, gpgme, Bug Report

Jul 4 2016

werner added projects to T2407: The assuan interface in gpgme is not documented: Bug Report, gpgme.
Jul 4 2016, 12:30 PM · Documentation, gpgme, Bug Report

Jul 1 2016

aheinecke added projects to T2405: Possible timing problem with TOFU: Bug Report, gpgme.
Jul 1 2016, 4:40 PM · gnupg, gnupg (gpg22), Bug Report
aheinecke claimed T2314: Improve detection of gpgme_data_identify.
Jul 1 2016, 11:02 AM · gpgme, Feature Request, gpg4win
aheinecke added a comment to T2314: Improve detection of gpgme_data_identify.

Fix for the difference in detection of armored vs. binary detached signatures
was trivial so I've pushed it with rev. 570bf2a

Looks good to me know. I'll start using it in Kleopatra and we will see what
breaks :-)

Have not tested different S/MIME messages yet.

Jul 1 2016, 11:02 AM · gpgme, Feature Request, gpg4win

Jun 24 2016

aheinecke added a comment to T2314: Improve detection of gpgme_data_identify.

Jun 24 2016, 2:35 PM · gpgme, Feature Request, gpg4win
aheinecke added a comment to T2314: Improve detection of gpgme_data_identify.

Thanks.

I've created some examples to test it. They are all done with alfa@example.com
test key. Found an issue through that.

-ba (detached ascii armored signature) is detected as PGP-Signed and not as
PGP-Signature.

examples/plain.txt.asc: PGP-signed

A discussion about KMail handling PGP/Inline encodings [1] also makes me wonder
if data_identfiy should also return the output charset of text messages if it is
provided in the Armor Header. Afaik there is currently no API in gpgme to check
this and semantically It would make sense to me to parse this in identify, too.
But this is more of a question wether or not you think it makes sense to do this
directly. I'm not strongly opinionated about this.

1: https://bugs.kde.org/show_bug.cgi?id=248058

Jun 24 2016, 2:35 PM · gpgme, Feature Request, gpg4win

Jun 23 2016

werner added a project to T2314: Improve detection of gpgme_data_identify: Restricted Project.
Jun 23 2016, 10:18 AM · gpgme, Feature Request, gpg4win
werner removed a project from T2314: Improve detection of gpgme_data_identify: In Progress.
Jun 23 2016, 10:18 AM · gpgme, Feature Request, gpg4win
werner added a comment to T2314: Improve detection of gpgme_data_identify.

Done with commit cf37a57.
Note that only the first 2k are inspected.

Jun 23 2016, 10:18 AM · gpgme, Feature Request, gpg4win

Jun 21 2016

werner added a comment to T2314: Improve detection of gpgme_data_identify.

Binary PGP messages are now detected. Not well tested but the run-verify test
tool can help to check the feature.

Jun 21 2016, 4:25 PM · gpgme, Feature Request, gpg4win
werner added a project to T2314: Improve detection of gpgme_data_identify: In Progress.
Jun 21 2016, 4:25 PM · gpgme, Feature Request, gpg4win
werner renamed T2314: Improve detection of gpgme_data_identify from Improve detection of gpgme_data_indentify to Improve detection of gpgme_data_identify.
Jun 21 2016, 10:46 AM · gpgme, Feature Request, gpg4win

Jun 20 2016

werner added a comment to T2314: Improve detection of gpgme_data_identify.

I need to implement a partial OpenPGP parser to decide what a certain PGP
Message is about and also bot all binary OpenPGP files. Please have some patience.

Jun 20 2016, 9:40 PM · gpgme, Feature Request, gpg4win

Jun 17 2016

aheinecke added a comment to T2314: Improve detection of gpgme_data_identify.

Would it be possible to also detect if data should be decrypt_verified or just
verified?

I'm having trouble with PGP MESSAGES that can be either encrypted or Opaque
Signed, or nothing.

If I do a decrypt_verify I get a No Data error in the result because decryption
failed. Should I just ignore No Data error and check for the status of the
signatures in that case?

Jun 17 2016, 4:23 PM · gpgme, Feature Request, gpg4win

Jun 15 2016

werner added a comment to T2385: support more than 1024 fds..

poll is not available on all platforms and has other semantics. Thus we will
introduce new bugs. We are planning to move some of the lower level I/O stuff
to libgpg-error and in the course of this we will fix this problem.

Jun 15 2016, 8:13 AM · gpgrt, Feature Request, gpgme

Jun 14 2016

vperelman added a comment to T2385: support more than 1024 fds..

Just curious, why can you not start using poll() instead of select()?

Jun 14 2016, 11:06 PM · gpgrt, Feature Request, gpgme
werner added a comment to T2385: support more than 1024 fds..

We can't easily solve this. For now I pushed a fix to return an error instead
of crashing. (commit 8173c4f). Thanks for reporting.

Jun 14 2016, 8:41 AM · gpgrt, Feature Request, gpgme
vperelman added projects to T2385: support more than 1024 fds.: Bug Report, gpgme.
Jun 14 2016, 12:14 AM · gpgrt, Feature Request, gpgme

Jun 1 2016

werner added a comment to T2373: GPA should explain problems with expired subkeys..

Do you mean "unusable public key"? That might be due to an expired or revoked
subkey of that key.

Jun 1 2016, 2:02 PM · gpa, Feature Request

May 31 2016

MrBazuki added a comment to T2373: GPA should explain problems with expired subkeys..

May 31 2016, 2:28 PM · gpa, Feature Request
MrBazuki added projects to T2373: GPA should explain problems with expired subkeys.: Bug Report, gpgme.
May 31 2016, 2:28 PM · gpa, Feature Request
MrBazuki set Version to GPA 0.9.1 & 0.9.9 on T2373: GPA should explain problems with expired subkeys..
May 31 2016, 2:28 PM · gpa, Feature Request

May 27 2016

aheinecke claimed T2368: Integer overflow in gpgme_progress_cb arguments.
May 27 2016, 11:40 AM · gpgme, Bug Report
aheinecke added a comment to T2368: Integer overflow in gpgme_progress_cb arguments.

No, I'll do a Version check in for the GnuPG Version in Kleo master and I won't
backport any changes to the KDE4 / Gpg4win stable variant.

I'm assigning testing to me, I'll test it by using it in Kleo :-)

May 27 2016, 11:40 AM · gpgme, Bug Report
werner added a project to T2368: Integer overflow in gpgme_progress_cb arguments: Restricted Project.
May 27 2016, 11:31 AM · gpgme, Bug Report
werner added a comment to T2368: Integer overflow in gpgme_progress_cb arguments.

Done with commit 6c957c3.
Do we need to backport this?

May 27 2016, 11:31 AM · gpgme, Bug Report
aheinecke added a comment to T2368: Integer overflow in gpgme_progress_cb arguments.

The best solution I can see is to keep CURENT and TOTAL in gpg below 2^31.

Ok, this would work for me, too.

May 27 2016, 10:50 AM · gpgme, Bug Report
werner added a comment to T2368: Integer overflow in gpgme_progress_cb arguments.

Actually the specs does not say anything about the valid range of the values.

However, gpg uses unsigned long for CURRENT and TOTAL in the progress status
lines for decryption. Unfortunatley the WHAT value is set to the filename and
thus there is no easy way to determine in GPGME how CURRENT and TOTAL are used.

The best solution I can see is to keep CURENT and TOTAL in gpg below 2^31. This
can be done by switching from bytes to KiB and MiB before the 2^31 limit is
reached. I checked GPA and it should not chnage anything, due to

    gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (pbar),
				   (gdouble) current / (gdouble) total);
May 27 2016, 10:05 AM · gpgme, Bug Report

May 25 2016

aheinecke added projects to T2368: Integer overflow in gpgme_progress_cb arguments: Bug Report, gpgme.
May 25 2016, 5:49 PM · gpgme, Bug Report
aheinecke set Version to master on T2368: Integer overflow in gpgme_progress_cb arguments.
May 25 2016, 5:49 PM · gpgme, Bug Report

May 24 2016

aheinecke updated subscribers of T2314: Improve detection of gpgme_data_identify.
May 24 2016, 10:07 AM · gpgme, Feature Request, gpg4win
aheinecke assigned T2314: Improve detection of gpgme_data_identify to werner.
May 24 2016, 10:07 AM · gpgme, Feature Request, gpg4win
aheinecke added a comment to T2314: Improve detection of gpgme_data_identify.

CRL detection is not really important. But detection of binary data is so that I
can properly handle .pgp and .gpg file extensions.

Detached signatures are also important so that I can look / guess for the signed
data and setup the verify operation accordingly or handle it in the GUI if no
Data is found. Maybe we can use flags for this so we don't break the current
behaviror that does not distinguish between detached signatures?

May 24 2016, 10:07 AM · gpgme, Feature Request, gpg4win

May 20 2016

werner added a project to T2360: Add support for TOFU in GpgME: In Progress.
May 20 2016, 1:37 PM · gnupg (gpg22), gpgme, Feature Request

May 17 2016

justus closed T2264: Merging pyme as language binding in gpgme master as Resolved.
May 17 2016, 4:43 PM · gpgme, Feature Request
justus removed a project from T2264: Merging pyme as language binding in gpgme master: In Progress.
May 17 2016, 4:43 PM · gpgme, Feature Request
justus added a comment to T2264: Merging pyme as language binding in gpgme master.

Fixed in 4711a1e1.

May 17 2016, 4:43 PM · gpgme, Feature Request
aheinecke set Version to master on T2360: Add support for TOFU in GpgME.
May 17 2016, 12:23 PM · gnupg (gpg22), gpgme, Feature Request
aheinecke added projects to T2360: Add support for TOFU in GpgME: Feature Request, gnupg (gpg21), gpgme.
May 17 2016, 12:23 PM · gnupg (gpg22), gpgme, Feature Request

May 12 2016

justus added a comment to T2264: Merging pyme as language binding in gpgme master.

Quoting Ben McGinnes (2016-05-11 19:54:21)

On Wed, May 11, 2016 at 12:44:00PM +0000, Justus Winter via BTS wrote:

Justus Winter <justus@g10code.com> added the comment:

I have integrated the Python bindings into our build system. See branch
'justus/pyme3'.

Open issues:

  • (API) Change the name of the Python module. Currently it is named 'pyme',

shouldn't we use 'gpgme' instead?

No, simply because other (abandoned) attempts at writing wrappers for
GPGME already exist in the Python ecosystem. If we rename a module to
match the name of an existing one this will break things somewhere.
It also makes us no different from poor Isis Lovecruft who selected
the name gnupg for her fork of python-gnupg, but the original was
always imported as just gnupg so when she increased the version number
of her fork she broke a *lot* of things in other people's code.

That's also why the entirely new thing I've called GPyGME, not just to
play word games with Pygmy, but also because the name is not used by
any existing Python module.

May 12 2016, 11:34 AM · gpgme, Feature Request

May 11 2016

justus added a project to T2264: Merging pyme as language binding in gpgme master: In Progress.
May 11 2016, 2:44 PM · gpgme, Feature Request
justus added a comment to T2264: Merging pyme as language binding in gpgme master.

I have integrated the Python bindings into our build system. See branch
'justus/pyme3'.

Open issues:

  • (API) Change the name of the Python module. Currently it is named 'pyme',

shouldn't we use 'gpgme' instead?

  • (API) One has to hand 'bytes' objects to pyme where 'char *' is expected. We

should make SWIG magically encode strings as utf-8 instead.

  • Documentation. Needs to be build, likely updated, and installed. Ben was

thinking about using another tool for this. Needs investigation.

  • No test suite.
  • 'lang/python/examples/simple.py' segfaults.
May 11 2016, 2:44 PM · gpgme, Feature Request
justus renamed T2352: doc/version.texi is sometimes not generated from doc/version.texi is only generated if configured with --enable-maintainer-mode to doc/version.texi is sometimes not generated.
May 11 2016, 1:29 PM · gpgme, Bug Report
justus added a comment to T2352: doc/version.texi is sometimes not generated.

Hmm, it is not about the maintainer mode...

May 11 2016, 1:29 PM · gpgme, Bug Report
justus added projects to T2352: doc/version.texi is sometimes not generated: Bug Report, gpgme.
May 11 2016, 1:11 PM · gpgme, Bug Report

May 10 2016

werner reassigned T2264: Merging pyme as language binding in gpgme master from gnupg-hackers to justus.
May 10 2016, 8:44 AM · gpgme, Feature Request
werner updated subscribers of T2264: Merging pyme as language binding in gpgme master.
May 10 2016, 8:44 AM · gpgme, Feature Request
werner added a comment to T2264: Merging pyme as language binding in gpgme master.

Justus, can you take care of this?

May 10 2016, 8:44 AM · gpgme, Feature Request

Apr 16 2016

werner closed T2304: Buffer Overrun in GPGME encrypt-sign.c:168? as Resolved.
Apr 16 2016, 10:46 AM · gpgme, Not A Bug, Bug Report

Apr 15 2016

dylanetaft added a comment to T2304: Buffer Overrun in GPGME encrypt-sign.c:168?.

Apr 15 2016, 4:58 PM · gpgme, Not A Bug, Bug Report
dylanetaft added a comment to T2304: Buffer Overrun in GPGME encrypt-sign.c:168?.

Thank you! All set.

Apr 15 2016, 4:58 PM · gpgme, Not A Bug, Bug Report
werner added projects to T2304: Buffer Overrun in GPGME encrypt-sign.c:168?: Not A Bug, gpgme.
Apr 15 2016, 8:59 AM · gpgme, Not A Bug, Bug Report

Apr 12 2016

aheinecke added projects to T2314: Improve detection of gpgme_data_identify: gpg4win, Feature Request, gpgme.
Apr 12 2016, 3:35 PM · gpgme, Feature Request, gpg4win

Feb 23 2016

aheinecke added projects to T2264: Merging pyme as language binding in gpgme master: Feature Request, gpgme.
Feb 23 2016, 10:21 AM · gpgme, Feature Request
aheinecke updated subscribers of T2264: Merging pyme as language binding in gpgme master.
Feb 23 2016, 10:21 AM · gpgme, Feature Request

Jan 25 2016

werner added a comment to T1415: gpgme_cancel() does not stop gpg process from finishing asynchronous call.

GnuPG 2.1.11 will print PROGRESS lines which allows in connection with
--exit-on-status-write-error to use that correctly. We should add that option
to gpg invocation of gpgme, though.

Jan 25 2016, 11:49 AM · gpgme, Bug Report, Debian
werner added a project to T1415: gpgme_cancel() does not stop gpg process from finishing asynchronous call: In Progress.
Jan 25 2016, 11:49 AM · gpgme, Bug Report, Debian
werner reopened T1415: gpgme_cancel() does not stop gpg process from finishing asynchronous call as "Open".
Jan 25 2016, 11:49 AM · gpgme, Bug Report, Debian

Nov 20 2015

neal closed T2061: Receiving keys from server fails as Resolved.
Nov 20 2015, 1:55 PM · gpgme, Bug Report

Oct 29 2015

aheinecke added a comment to T2092: Gpgme-pthread keylist not thread safe.

I've just disabled the unit tests in Kleopatra that expose this bug.
The tests should be renabled depending on a version check for a version of gpgme
where the problems are fixed.

Oct 29 2015, 7:46 PM · gpgme, Bug Report, kleopatra

Sep 21 2015

werner removed a project from T2036: gpgme_set_pinentry_mode GPGME_PINENTRY_MODE_LOOPBACK doesn't work: Restricted Project.
Sep 21 2015, 8:56 AM · gpgme, Bug Report
werner closed T2036: gpgme_set_pinentry_mode GPGME_PINENTRY_MODE_LOOPBACK doesn't work as Resolved.
Sep 21 2015, 8:56 AM · gpgme, Bug Report

Sep 9 2015

aheinecke added a comment to T2092: Gpgme-pthread keylist not thread safe.

Sep 9 2015, 10:30 AM · gpgme, Bug Report, kleopatra
aheinecke added a comment to T2092: Gpgme-pthread keylist not thread safe.

I've searched for the context in question and it turns out the last 1000 lines
are not nearly enough to follow it.

So here is the full log of that run.

Sep 9 2015, 10:30 AM · gpgme, Bug Report, kleopatra
aheinecke added a comment to T2092: Gpgme-pthread keylist not thread safe.

I can still see the asserts and segfaults when running the tests in gdb or with
logging enabled. So it's not a heisenbug ;-) (Although I was never able to get a
backtrace from kleopatras unit test. That test passed when running in gdb)

Do you want me to provide you with logs?

Here is an example segfault:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffe50f01700 (LWP 25135)]
0x00007ffff7babfe3 in _gpgme_wait_on_condition (ctx=ctx@entry=0x7fff6c0070e0,
cond=0x6a8844002920, cond@entry=0x7fff6c007f20,

op_err_p=op_err_p@entry=0x0) at wait-private.c:155

155 if (cond && *cond)
(gdb) bt
#0 0x00007ffff7babfe3 in _gpgme_wait_on_condition
(ctx=ctx@entry=0x7fff6c0070e0, cond=0x6a8844002920, cond@entry=0x7fff6c007f20,

op_err_p=op_err_p@entry=0x0) at wait-private.c:155

#1 0x00007ffff7bb3236 in gpgme_op_keylist_next (ctx=0x7fff6c0070e0,
r_key=r_key@entry=0x7ffe50f00ef8) at keylist.c:996
#2 0x00000000004010de in start_keylist (arg=<optimized out>) at
t-thread-keylist-verify.c:62
#3 0x00007ffff798c0a4 in start_thread (arg=0x7ffe50f01700) at pthread_create.c:309
#4 0x00007ffff76c104d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Attached is the corresponding gpgme-log (issue-2092-gpgme-log-1.txt)

Sep 9 2015, 10:21 AM · gpgme, Bug Report, kleopatra
aheinecke added a comment to T2092: Gpgme-pthread keylist not thread safe.

Sep 9 2015, 10:21 AM · gpgme, Bug Report, kleopatra
werner added a comment to T2092: Gpgme-pthread keylist not thread safe.

Needs to be run under GPMGE_DEBUG but I bet that this well defeat the bug.

Sep 9 2015, 9:25 AM · gpgme, Bug Report, kleopatra

Sep 8 2015

aheinecke added projects to T2092: Gpgme-pthread keylist not thread safe: kleopatra, Bug Report, gpgme.
Sep 8 2015, 7:43 PM · gpgme, Bug Report, kleopatra
werner added a comment to T2089: retype timestamps to time_t for portability.

Sorry, we can't change the type because that would be an ABI break. Well, on
platforms with sizeof(time_t) == sizeof(long) we could use time_t there but for
the application programmer that does not help because assigning to a time_t var
first will still be required for portability.

You are right that this is a bug because internally we use time_t and at least
for Windows we will evntually run into problems.

Back in 2003 we went with long int because that is on all 32 bit platforms
sufficient to express OpenPGP timestamps which are 32 bit. Fortunately on
almost all 64 bit Unix platforms a long int is 64 bit and would also allow us to
express timestamps after 2106 and avoid ABI problems due to different time_t
like we have with off_t. Later, when we came up with gpgsm we gave up our hope
for a 64 bit time_t on 32 bit glibc systems and started to use a string instead
of a scalar. With 64 bit Windows things got even more complicated becuase tehre
a long is still 32 bit. Thus there is no clear way forward even if we decide to
break the ABI: Use time_t or a string?

Sep 8 2015, 8:01 AM · Won't Fix, gpgme, Bug Report

Sep 4 2015

wenzehan added projects to T2089: retype timestamps to time_t for portability: Bug Report, gpgme.
Sep 4 2015, 1:43 PM · Won't Fix, gpgme, Bug Report

Aug 25 2015

werner added a comment to T2036: gpgme_set_pinentry_mode GPGME_PINENTRY_MODE_LOOPBACK doesn't work.

With the current gpgme and gnupg master things should be a bit better.

Aug 25 2015, 3:41 PM · gpgme, Bug Report
werner added a project to T2036: gpgme_set_pinentry_mode GPGME_PINENTRY_MODE_LOOPBACK doesn't work: Restricted Project.
Aug 25 2015, 3:41 PM · gpgme, Bug Report

Aug 24 2015

werner added a comment to T2061: Receiving keys from server fails.

Can you please ask on gnupg-devel for help?

Aug 24 2015, 9:40 PM · gpgme, Bug Report
werner added a comment to T1958: Use vfork/posix_spawn in gpgme.

ANy news?

Aug 24 2015, 9:39 PM · Info Needed, gpgme, Feature Request
werner claimed T2036: gpgme_set_pinentry_mode GPGME_PINENTRY_MODE_LOOPBACK doesn't work.
Aug 24 2015, 9:36 PM · gpgme, Bug Report
werner added a comment to T2036: gpgme_set_pinentry_mode GPGME_PINENTRY_MODE_LOOPBACK doesn't work.

Debug message are for debugging and thus you need access to the source.
I'll see what I can do regarding better error messages for signing.

Aug 24 2015, 9:36 PM · gpgme, Bug Report
werner removed a project from T1929: GPGME_SIGSUM_KEY_REVOKED not set on revoked key: Restricted Project.
Aug 24 2015, 8:30 PM · gpgme, Bug Report
werner closed T1929: GPGME_SIGSUM_KEY_REVOKED not set on revoked key as Resolved.
Aug 24 2015, 8:30 PM · gpgme, Bug Report
werner closed T2044: GPGME needs better support for managing keys as Resolved.
Aug 24 2015, 12:42 PM · Feature Request, gpgme

Aug 1 2015

ximion added projects to T2061: Receiving keys from server fails: Bug Report, gpgme.
Aug 1 2015, 5:46 PM · gpgme, Bug Report

Jul 23 2015

flok added a comment to T2036: gpgme_set_pinentry_mode GPGME_PINENTRY_MODE_LOOPBACK doesn't work.

Ok I found why it did not work on a system:

[pid 6507] write(7, "OPTION pinentry-mode=loopback", 29) = 29
[pid 6507] write(7, "\n", 1) = 1
[pid 6507] read(7, "ERR 67108924 Not supported <GPG Agent>\n", 1002) = 39
[pid 6507] brk(0x7f87645c0000) = 0x7f87645c0000
[pid 6507] write(2, "gpg: setting pinentry mode 'loopback' failed: Not
supported", 59) = 59

This is caused by a gpg-agent running with DISPLAY=... set.

Imho there's room for improvement regarding error messages/trace messages:
'general error' is unusable.
Also all those hex-codes in the tracing with no explanations and pointers to
objects that tell you nothing is not helping.

Jul 23 2015, 7:00 PM · gpgme, Bug Report
flok added a comment to T2036: gpgme_set_pinentry_mode GPGME_PINENTRY_MODE_LOOPBACK doesn't work.

Werner Koch <wk@gnupg.org> added the comment:

A brief check shows that the pinentry mode is passed to the egine for decrypt
and sign. Please double check your code that you set the pinentry mode for

the

conext before signing. You should also set GPGME_DEBUG=4:/foo/bar/logfile for

a

log.

I found that on some systems it works and on some it doesn't.

working:
ii gnupg 1.4.18-7
ii gnupg-agent 2.1.4-1
ii gnupg2 2.1.4-1
ii libgpgme++2 4:4.14.2-2+b1
ii libgpgme11:amd64 1.5.5-2
ii libgpgme11-dev 1.5.5-2
ii python-gnupginterface 0.3.2-9.1

failing:
ii gnupg 1.4.18-4
ii gnupg-agent 2.1.6-1
ii gnupg2 2.1.6-1
ii libgpgme++2 4:4.14.2-2+b1
ii libgpgme11:amd64 1.5.5-3
ii libgpgme11-dev 1.5.5-3

Tested it on 3 different debian systems.

When doing an strace, I see the following:

write(1, "85:1060269507::::::e::::::\nfpr::"..., 4096) = -1 EPIPE (Broken pipe)

  • SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=25365, si_uid=1000} ---

write(1, "85:1060269507::::::e::::::\nfpr::"..., 4096) = -1 EPIPE (Broken pipe)

  • SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=25365, si_uid=1000} ---

write(1, "85:1060269507::::::e::::::\nfpr::"..., 4096) = -1 EPIPE (Broken pipe)

  • SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=25365, si_uid=1000} ---

write(1, "85:1060269507::::::e::::::\nfpr::"..., 4096) = -1 EPIPE (Broken pipe)

  • SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=25365, si_uid=1000} ---

write(1, "85:1060269507::::::e::::::\nfpr::"..., 4096) = -1 EPIPE (Broken pipe)

  • SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=25365, si_uid=1000} ---

write(1, "85:1060269507::::::e::::::\nfpr::"..., 4096) = -1 EPIPE (Broken pipe)

  • SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=25365, si_uid=1000} ---

...ad infinitum

So it looks like gpg2 tries to send more data to gpgme but maybe it
closed the file descriptor? Maybe some timeout?

The trace also speaks about an error but I don't know what the number
means:

GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_new: enter: r_ctx=0x7ffce1a86a18
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_new: leave: ctx=0x6a2b40
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_set_passphrase_cb: call: ctx=0x6a2b40,
passphrase_cb=(nil)/(nil)
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_set_pinentry_mode: call: ctx=0x6a2b40,
pinentry_mode=4
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_set_passphrase_cb: call: ctx=0x6a2b40,
passphrase_cb=0x4130c0/0x6a6488
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_new: enter: r_ctx=0x7ffce1a869b8
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_new: leave: ctx=0x694a30
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_op_keylist_start: enter: ctx=0x694a30,
pattern=9101D24C869F57E712BCB6BC435F59B679A28EB6, secret_only=0
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_add_io_cb: call: ctx=0x694a30, fd
5, dir=1 -> tag=0x697670
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_add_io_cb: call: ctx=0x694a30, fd
7, dir=1 -> tag=0x6977d0
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:gpg_io_event: call: gpg=0x6a3bd0,
event 0x7fb66f730eb0, type 0, type_data (nil)
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_op_keylist_start: leave
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_op_keylist_next: enter: ctx=0x694a30
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x697800,
need to check
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x697800,
handler (0x6a3bd0, 7)
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:keylist_colon_handler: call:
ctx=0x694a30, key = (nil), line = tru::0:1437598451:1438634760:3:1:5
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:keylist_colon_handler: call:
ctx=0x694a30, key = (nil), line = pub:u:4096:1:435F59B679A28EB6:1437562181:::-
:::scESC::::::
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:keylist_colon_handler: call:
ctx=0x694a30, key = 0x697830, line =
fpr:::::::::9101D24C869F57E712BCB6BC435F59B679A28EB6:
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:keylist_colon_handler: call:
ctx=0x694a30, key = 0x697830, line =
uid:u::::1437562181::67B02486BE612BD1F799DD1EF250DA9FDB9C601C::pgf test key (pgf
test key) <test@vanheusden.com>:
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:keylist_colon_handler: call:
ctx=0x694a30, key = 0x697830, line =
sub:u:4096:1:3B7DB05915752DE2:1437562181::::::e::::::
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:keylist_colon_handler: call:
ctx=0x694a30, key = 0x697830, line =
fpr:::::::::1D4A144B830EBD875B3A17D73B7DB05915752DE2:
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:keylist_colon_handler: call:
ctx=0x694a30, key = 0x697830, line =
pub:u:4096:1:435F59B679A28EB6:1437562181:::-:::scESC::::::
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:gpg_io_event: call: gpg=0x6a3bd0,
event 0x7fb66f730eb0, type 2, type_data 0x697830
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:keylist_colon_handler: call:
ctx=0x694a30, key = 0x697a70, line =
fpr:::::::::9101D24C869F57E712BCB6BC435F59B679A28EB6:
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:keylist_colon_handler: call:
ctx=0x694a30, key = 0x697a70, line =
uid:u::::1437562181::67B02486BE612BD1F799DD1EF250DA9FDB9C601C::pgf test key (pgf
test key) <test@vanheusden.com>:
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:keylist_colon_handler: call:
ctx=0x694a30, key = 0x697a70, line =
sub:u:4096:1:3B7DB05915752DE2:1437562181::::::e::::::
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:keylist_colon_handler: call:
ctx=0x694a30, key = 0x697a70, line =
fpr:::::::::1D4A144B830EBD875B3A17D73B7DB05915752DE2:
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_op_keylist_next: leave: key=0x697830
(9101D24C869F57E712BCB6BC435F59B679A28EB6)
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_release: call: ctx=0x694a30
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_remove_io_cb: call: data=0x697670,
setting fd 0x5 (item=0x6976a0) done
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_remove_io_cb: call: data=0x6977d0,
setting fd 0x7 (item=0x697800) done
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_signers_clear: call: ctx=0x6a2b40
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_signers_add: enter: ctx=0x6a2b40,
key=0x694bc0 (387FB9C2DE84B200436962A0207A035AD316FA65)
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_signers_add: leave
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_op_encrypt_sign: enter: ctx=0x6a2b40,
flags=0x1, plain=0x695240, cipher=0x696290
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_op_encrypt_sign: check: ctx=0x6a2b40,
recipient[0] = 0x697830 (9101D24C869F57E712BCB6BC435F59B679A28EB6)
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_sig_notation_get: call:
ctx=0x6a2b40, ctx->sig_notations=(nil)
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_add_io_cb: call: ctx=0x6a2b40, fd
5, dir=1 -> tag=0x693e10
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_add_io_cb: call: ctx=0x6a2b40, fd
9, dir=1 -> tag=0x693f70
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_add_io_cb: call: ctx=0x6a2b40, fd
12, dir=0 -> tag=0x693fd0
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:gpg_io_event: call: gpg=0x6a3bd0,
event 0x7fb66f730eb0, type 0, type_data (nil)
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x694000,
need to check
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x694000,
handler (0x695240, 12)
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_data_outbound_handler: enter:
dh=0x695240, fd=0xc
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_data_outbound_handler: leave
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x694000,
need to check
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x694000,
handler (0x695240, 12)
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_data_outbound_handler: enter:
dh=0x695240, fd=0xc
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_remove_io_cb: call:
data=0x693fd0, setting fd 0xc (item=0x694000) done
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_data_outbound_handler: leave
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693e40,
need to check
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693e40,
handler (0x6a3bd0, 5)
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693e40,
need to check
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693e40,
handler (0x6a3bd0, 5)
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693fa0,
need to check
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693fa0,
handler (0x696290, 9)
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_data_inbound_handler: enter:
dh=0x696290, fd=0x9
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_data_inbound_handler: leave
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693e40,
need to check
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693e40,
handler (0x6a3bd0, 5)
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693e40,
need to check
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693e40,
handler (0x6a3bd0, 5)
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693fa0,
need to check
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693fa0,
handler (0x696290, 9)
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_data_inbound_handler: enter:
dh=0x696290, fd=0x9
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_data_inbound_handler: leave
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693e40,
need to check
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_run_io_cb: call: item=0x693e40,
handler (0x6a3bd0, 5)
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_cancel_with_err: enter:
ctx=0x6a2b40, ctx_err=117440513, op_err=0
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_remove_io_cb: call:
data=0x693e10, setting fd 0x5 (item=0x693e40) done
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_remove_io_cb: call:
data=0x693f70, setting fd 0x9 (item=0x693fa0) done
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme:gpg_io_event: call: gpg=0x6a3bd0,
event 0x7fb66f730eb0, type 1, type_data 0x7ffce1a86910
GPGME 2015-07-22 23:18:39 <0x66f2> _gpgme_cancel_with_err: leave
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_op_encrypt_sign:178: error: General
error <GPGME>
GPGME 2015-07-22 23:18:39 <0x66f2> gpgme_release: call: ctx=0x6a2b40

Jul 23 2015, 11:39 AM · gpgme, Bug Report

Jul 21 2015

werner added a comment to T2044: GPGME needs better support for managing keys.

Huh?
GPA uses GPGME and allows to delete and import keys.

Jul 21 2015, 3:21 PM · Feature Request, gpgme
werner removed a project from T2044: GPGME needs better support for managing keys: Bug Report.
Jul 21 2015, 3:21 PM · Feature Request, gpgme
werner added a project to T2044: GPGME needs better support for managing keys: Feature Request.
Jul 21 2015, 3:21 PM · Feature Request, gpgme
werner added a comment to T2036: gpgme_set_pinentry_mode GPGME_PINENTRY_MODE_LOOPBACK doesn't work.

A brief check shows that the pinentry mode is passed to the egine for decrypt
and sign. Please double check your code that you set the pinentry mode for the
conext before signing. You should also set GPGME_DEBUG=4:/foo/bar/logfile for a
log.

Jul 21 2015, 3:10 PM · gpgme, Bug Report

Jul 15 2015

neal added projects to T2044: GPGME needs better support for managing keys: Bug Report, gpgme.
Jul 15 2015, 4:42 PM · Feature Request, gpgme

Jul 14 2015

flok added a comment to T2036: gpgme_set_pinentry_mode GPGME_PINENTRY_MODE_LOOPBACK doesn't work.

Did an strace (with fork-follow) of my code and saw the following:

The first is a sign + encrypt:

[pid 19904] execve("/usr/bin/gpg2", ["gpg2", "--enable-special-filenames", "--
batch", "--no-sk-comments", "--lc-messages", "C", "--lc-ctype", "C", "--status-
fd", "4", "--no-tty", "--charset", "utf8", "--enable-progress-filter", "--
display", ":0.0", "--encrypt", "--sign", "--always-trust", "-r",
"E96F346A94A761F898F9DA35D8CD7D21B2A93EF9", "-u", "D8CD7D21B2A93EF9", "--
output", "-", "--", "-&7"], [/* 30 vars */]) = 0

The second is a decrypt:

[pid 19907] execve("/usr/bin/gpg2", ["gpg2", "--enable-special-filenames", "--
pinentry-mode=loopback", "--no-sk-comments", "--lc-messages", "C", "--lc-ctype",
"C", "--status-fd", "4", "--no-tty", "--charset", "utf8", "--enable-progress-
filter", "--display", ":0.0", "--command-fd", "5", "--decrypt", "--output", "-",
"--", "-&9"], [/* 30 vars */]) = 0

Now the decrypt does a --pinentry-mode=loopback while the sign, which also
requires password interaction, does not!

Jul 14 2015, 9:53 PM · gpgme, Bug Report

Jul 10 2015

flok added a comment to T2036: gpgme_set_pinentry_mode GPGME_PINENTRY_MODE_LOOPBACK doesn't work.

I had not. But when I do:

2015-07-10 12:10:07 (gpgme_test) my_key: D8CD7D21B2A93EF9
encrypt: 0
error: gpgme_op_encrypt failed: General error (117440513)

folkert@travelmate:~/Projects/PGF/trunk$ cat ~/.gnupg/gpg-agent.conf
allow-loopback-pinentry

Jul 10 2015, 2:13 PM · gpgme, Bug Report