988_gpg_problem_2017032601.doc283 KBDownload
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Feed Advanced Search
Advanced Search
Advanced Search
Mar 26 2017
Mar 26 2017
LuLu set Due Date to Mar 31 2017, 2:00 AM on T3017: libgcrypt-1.7.6 (ARM32 Beaglebone black) make check failed.
LuLu added projects to T3017: libgcrypt-1.7.6 (ARM32 Beaglebone black) make check failed: libgcrypt, Bug Report.
Mar 25 2017
Mar 25 2017
Can you rebuild using -O0 -g and try to get a back trace again. That might be
helpful.
Mar 24 2017
Mar 24 2017
• werner added a comment to T2964: dirmngr and gpg-agent should work automatically even when GNUPGHOME is larger than sun_path.
We also have a discussion of the mailing list. It does currently not make sense
to continue here.
The problem of NFS mounted home directories is _real_ and we have a solution for
this which is better than the old redirection hack.
The problem with too long socket names is not severe and has been around for
decades (for other software and 14 years for GnuPG). There are workaround and
/run/user also solves this.
I proposed a change which does not even require --create-socketdir. There was
no comment on this and thus I will push that now so that we can do a real life test.
I concur. We should disable the Python tests for gnupg versions < 2.1.12 (which
is about a year old)
I've rebased the patches against 1.8.0 but I still saw 22 failing python tests
with 2.0.26
Master fails for me even harder with 36 tests failing.
The gpg-connect-agent call's fail because --agent-program is not supported. In
master we even have --debug-quick-random which is even more recent (but which we
would also need in random starved environments like build daemons)
My preferred solution at this point would be to just say for 2.0.x the python
tests are unsupported and disabled completely. All the problems are with our
agent setup regarding the test suite and not really with functionality.
justus added a comment to T2964: dirmngr and gpg-agent should work automatically even when GNUPGHOME is larger than sun_path.
Justus: I told you several times that we are not going to change working code
for no good reason.
Except that it is not working. If it was working, then
06f1f163e96f1039304fd3cf565cf9de1ca45849
would not be necessary.
Even if your hack (I call it a hack because it does not
work with getsockname)
1/ Yes it does. It returns precisely the path that was used in bind.
2/ We only use getsockname on sockets that were given us by a service manager
like systemd, and thus those sockets would be unaffected by "the hack".
would make it, it does not solve the major problem: The
inability of creating sockets on certain file systems. THAT is the major reason
why we moved to /var/run.
Please stop conflating these things. This bug is about "dirmngr and gpg-agent
should work automatically even when GNUPGHOME is larger than sun_path". It is
not about NFS or FAT or something.
minfrin set Version to 2.0.30 on T3016: Vague error message: key X can't be retrieved (without telling anybody why).
Mar 23 2017
Mar 23 2017
Mento added projects to T3015: No rev cert saved if --gen-key in used with --output: gnupg, Bug Report.
Mar 22 2017
Mar 22 2017
Roundup won't let me include the details, but i will say that from a git bisect,
i discovered that the first commit that has this behavior is
49e2ae65e892f93be7f87cfaae3392b50a99e4b1 ("gpgscm: Use a compact vector
representation.")
The crashes that happen are segfaults.
dkg set External Link to https://bugs.debian.org/858400 on T3014: Intermittent crashes in gpgscm on s390x.
• werner renamed T3011: No close-all in pinentry-gtk from No close-all in pinnetry-gtk to No close-all in pinentry-gtk.
Hello Werner,
The problem is, that some projects liek gpgtools for MacOS are reluctantly sticking to
gnupg-2.0 :-/
So, I'd love to have this patch committed in order to ease the transition phase from
2.0 to 2.1 for them.
Regards, Wolfgang
Oh yes, then we should include NetBSD at least into the nPth and libgpg-error
builds.
NetBSD has its own pthread library (different from OpenBSD and FreeBSD), so I
think this would be a good idea.
Our jenkins has no problems building nPth for OpenBSD 6.0.
wiz: Do you think that NetBSD (x86 I assume) is much different than OpenBSD so
that we would benefit from adding NetBSD to our Jenkins builds?
gniibe: Do you have time to look into this?
• 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).
The log indeed does not match the former gpgme2.trace.
I would try to switch to gpgme 1.8.0 so see whether you can still reproduce the
problem.
• werner renamed T3012: gpg-agent 2.0.30 not able to create SHA-2 signatures with scute from gpg-agent 2.0.30 not able to create SHA-2 signatures to gpg-agent 2.0.30 not able to create SHA-2 signatures with scute.
• werner lowered the priority of T3012: gpg-agent 2.0.30 not able to create SHA-2 signatures with scute from Unbreak Now! to Normal.
• werner added projects to T3012: gpg-agent 2.0.30 not able to create SHA-2 signatures with scute: scd, gnupg (gpg20), Won't Fix.
Given that 2.0 will reach EOL in 9 months I don't think it is worth to backport
and test that patch.
wglas85 set External Link to https://lists.gnupg.org/pipermail/gnupg-devel/2014-September/028759.html on T3012: gpg-agent 2.0.30 not able to create SHA-2 signatures with scute.
wglas85 added projects to T3012: gpg-agent 2.0.30 not able to create SHA-2 signatures with scute: gnupg, Bug Report.
wglas85 set Version to 2.0.30 on T3012: gpg-agent 2.0.30 not able to create SHA-2 signatures with scute.
wiz 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).
986_gpgsm.log3 KBDownload
wiz 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).
Right now it seems to be complaining about an expired key.
(Could be that this is a different error than originally reported because it's
been some time...)
Mar 21 2017
Mar 21 2017
stebalien added a comment to T2406: Sockets created in GNUPGHOME instead of /run/user/UID/gnupg if specified..
Sorry, I thought I would receive an email when this was updated.
We don't do this on-the-fly to avoid cluttering the /run/user with directories.
So, I was expecting gnupg to use /run/user/$UID/gnupg/. However, if GNUPGHOME is
set, it uses /run/user/$UID/gnupg/d.$GNUPGHOME_HASH/. Therefore, by "littering",
I assume you mean littering /run/user/$UID/gnupg/ (otherwise this argument makes
no sense).
I'm leaving this here for future readers as I can't find *any* documentation of
this behavior (the use of d.$GNUPGHOME_HASH).
---
Regardless, my actual goal is to move the homedir to ~/.local/share/gnupg (not
have multiple homedirs) as described in (T1456)
so I really do want sockets to go in /run/user/$UID/gnupg/. However, I'm
guessing that's not going to be possible.
• 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).
Thanks. So gpgsm is started but terminates before it can actually receive a
command from GPGME. Can you please add
log-file /bar/bar/gpgsm.log
debug 1024
verbose
to ~/.gnupg/gpgsm.conf and run the test again. Please post the log again.
• werner added a comment to T2964: dirmngr and gpg-agent should work automatically even when GNUPGHOME is larger than sun_path.
Justus: I told you several times that we are not going to change working code
for no good reason. Even if your hack (I call it a hack because it does not
work with getsockname) would make it, it does not solve the major problem: The
inability of creating sockets on certain file systems. THAT is the major reason
why we moved to /var/run.
justus added a comment to T2964: dirmngr and gpg-agent should work automatically even when GNUPGHOME is larger than sun_path.
The whole IPC thing is pretty complex and adding a non-standard hack as proposed
by Justus will for sure cause breakage on some platforms.
I'm not sure why you call it a hack. I've been looking at POSIX, [0] introduces
pathname resolution, and the terms 'relative path' and 'absolute path'.
0: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13
Neither the page for connect [1], nor the one for bind [2] state that the path
used to connect/bind unix sockets must be an absolute path.
1: http: / / pubs.opengroup.org/onlinepubs/9699919799/functions/connect.html#
2: http: / / pubs.opengroup.org/onlinepubs/9699919799/functions/bind.html#
Furthermore, my test across a wide range of UNIX implementations did not show
any issues with using relative paths.
Ok, closing this bug. Feel free to reopen it if you reconsider.
Fixed in 88f1505f0613894d5544290a170119eb538921e5.
wiz 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).
I've run mutt as suggested on the troublesome email; the resulting log is attached.
wiz 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).
985_gpgme2.trace19 KBDownload
• 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).
To debug this you need to run mutt like this:
GPGME_DEBUG=9:gpgme.trace: mutt
The trace file will be pretty verbose but contains everything GPGME sees from
the engine.
Mar 20 2017
Mar 20 2017
Unfortunately I'm unable to test this properly, because the patches can't be
applied properly to 1.8.0 (I need to add them to the package).
Are they sending ASCII armored files (those with "-----BEGIN PGP MESSAGE-----")
of binary data?
They might have used the -t (--textmode) option and removed that.
But more likely is that this is one of the usual CR,LF problems. For example
when using FTP, and sending binary data, it is important to switch to binary
mode first. WIthout looking at the data it is hard to help.
FYI this is:
Skip tests if GnuPG is too old.
Use 'gpg-agent --allow-loopback-pinentry' if applicable.
Jim-P renamed T3010: Decrypt data corruption (DUPLICATE) from Decrypt data corruption to Decrypt data corruption (DUPLICATE).
DUPLICATE
justus added a project to T3008: GPGME: Unit test suite failure with gpg 2.0.24: Restricted Project.
Addressed in e1cf8bab319ba1dea41ba5d711dbb66ffd8e6fd6 and
16b202d9999591b71fb8bb49f6db10ef96d4cbe8.
Yes please.
Shall I look into this?
So this is about the new Python binding.
I would suggest not to build tye python support on systems with the old 2.0.24.
Note that 2.0 will reach EOL in 9 months.
einar77 set External Link to https://build.opensuse.org/package/live_build_log/openSUSE:Leap:42.3:Staging:A:DVD/gpgme/standard/x86_64 on T3008: GPGME: Unit test suite failure with gpg 2.0.24.
Okay. So the actual cause is that we print data for a key (usage, expire, and
possible more) which we should not do. That data comes from self-signatures and
those can't be verified because we have a time warp. That should be the same as
with invalid self-signatures - what do we do in that case?
merge_keys_and_selfsig is called, but because of the clock skew no self
signature is considered and hence the expiredate is not initialized.
- Werner Koch via BTS <gnupg@bugs.g10code.com> [20170317 12:57]:
Fixed with commit 69c521d.
You can reconfigure your server. Thanks.
Mar 19 2017
Mar 19 2017
What are the reasons that expredate is not valid?
merge_keys_and_selfsig() not called for sure, Anything else?
Mar 18 2017
Mar 18 2017
walkingrobot added a comment to T2986: Can not access keyserver without the standard-resolver option.
It would appear I was wrong. The localhost address should not have been in the
/etc/resolv.conf. I have removed it and the standard-resolver option and it is
working. I have tried this several times.
Mar 17 2017
Mar 17 2017
neal added a comment to T2853: Signature Verification returning 'gpg: DBG: tofu.c:2772: strtoul failed for DB returned string (tail=): Invalid argument'.
I marking this as resolved since I think the issue is fixed. If this is not the
case, please reopen.
neal removed a project from T2853: Signature Verification returning 'gpg: DBG: tofu.c:2772: strtoul failed for DB returned string (tail=): Invalid argument': Restricted Project.
I'm marking this as resolved since I think is fixed. Please reopen if this is
not the case.
neal added a project to T2959: with --tofu-default-policy=ask, Assertion "conflict_set" in get_trust failed (../../g10/tofu.c:2787): Restricted Project.
neal added a comment to T2959: with --tofu-default-policy=ask, Assertion "conflict_set" in get_trust failed (../../g10/tofu.c:2787).
This should be fixed in b1106b4 . The problem had to do with an incorrect
assumption that a key with policy 'ask' necessarily had at least one conflict.
This assumption may not hold if --tofu-default-policy is set to ask.
Thankfully, the assertion caught this.
• werner added a project to T2833: gpg-wks-client TLS access to server with wrong SNI name aborts: Unreleased.
Fixed with commit 69c521d.
You can reconfigure your server. Thanks.
There is no easy fix. We see the key usage as SCEA because pk->pupkey_usage ==
0 means 'default capabilities', and pk->expiredate == 0 means 'does not expire'.
Fixing this means being able to mark these fields as not valid, either by
initializing to a special value, or by having a separate bit to store the validity.
The former approach means taking away one more value and making it magical. It
requires a special 'not valid' value for every field, and the code has to be
changed to recognize that special value.
Using a separate bit is more general, so I went for that. Setting and testing
that bit is best done with introducing accessors. Asserting the valid bit in
the getters notifies us where to explicitly test for the validity.
Knowing where the problems are does not help if we have no way to know whether
the value in question is valid or not. Therefore, I don't see how to "lift" a
fix from the prototype.
For example, the prototype produces this crash:
% gpg --faked-system-time $(date --date "2016-07-01" +%s) -k foo@example.org
gpg: WARNING: running with faked system time: 2016-06-30 22:00:00
gpg: please do a --check-trustdb
gpg: key F35FB3E372211AFC was created 1 day in the future (time warp or clock
problem)
gpg: key F35FB3E372211AFC was created 1 day in the future (time warp or clock
problem)
gpg: Ohhhh jeeee: Assertion "(pk)->flags.valid_expiredate" in print_key_line
failed (../../g10/keylist.c:1861)
This is in print_key_line, I don't see how to fix this without being able to
tell whether the expiration time is valid or not.
Fixed in 38c955599f7c6c20faeec57d8e1df7d2c0eeba18.
Thanks for testing.
