I am surprised that you don't want to use the issue tracker for issues.
GnuPG's trust calculations are quite clearly broken, by any metric. There's nothing to discuss here.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
May 4 2025
Heiko, I told you already in T7106 that it is not a good idea to re-open a ticket. If you really want to discuss stuff, take that to a mailing list.
I see two interesting angles from which to think about this Web of Trust calculation:
May 2 2025
Yes, this is related to T7547. With my last fix for that I overlooked that we use PUBKEY_USAGE_CERT to internally request the primary key but that one is not set because in general USAGE_SIG means the same (except for some case in PGP7 mode).
> I'm not sure i understand why "the latest" should be preferred.
A bit more experimentation shows the same behavior, even if Alice's tsig of Bill is full, not marginal, and even if all signatures are made in the same second, which is the finest resolution that OpenPGP objects can report.
Interesting analysis, thanks for the sleuthing! I'm not sure i understand why "the latest" should be preferred. For example, in the graph made in this example, which part of the graph is the "latest"? Since the path from Alice to Carol is two hops long at least, it's conceivable that one path (A→Bob→C) has both "the latest" tsig *and* "the earliest" tsig, if the other path (A→Bill→C) happens to have been made between the other two tsigs.
Apr 29 2025
I also spend some time with this and the problem is described by this comment in trustdb.c:
Apr 28 2025
No, it is not a bug and I beg you not to change the status again. Don't start the same trouble here as some of you guys did with the IETF WG!
Err, I don't see why I would "need to test" anything further.
This is just one build of PGP and you would need to test all versions on Windows, macOS and Unix. You also need to test against all versions of GnuPG since 1998 (when we started with interop tests). We won't change this in GnuPG and risk regression. If you have a problem with that go and add a fix to your tool - name it bug compatibility or whatever. And please do not re-open this bug.
In T7106#185462, @werner wrote:This has been implemented and tested to be compatible with PGP - a looong time ago. iirc this was discussed around 1999 but might be only by private mail between the PGP hackers and me. Thus any change now might break PGP - which is still widely used (although mostly for encryption).
Apr 27 2025
The report is correct but it does not make sense to fix it. If you want to use a concrete expiration date just enter the IS date at the prompt; use ? at the prompt for a short description.
Apr 23 2025
This is really a minor thing and and it is actually true if you also sign something.
Apr 22 2025
doc/HACKING says it's OK to use variadic arg macros (from C99 features).
If it's OK, this patch can fix the initialization (which silences GCC 15 warnings):
Apr 21 2025
Apr 20 2025
Apr 19 2025
Good morning,
I stumbled upon this when digging through old Debian bug reports against 1.4 and checking whether they still applied to 2.4. This one really still applies.
Apr 17 2025
Apr 15 2025
POSIX specifies and requires grep -E, but only mentions egrep as old.
Removing egrep from a Unix system will break all kind of stuff. I am not even sure whether old Unices support grep -E.
Apr 14 2025
Apr 9 2025
There is no well defined pripority for the CRL DPs. The code enumarates the DP and tries one after the other until it founds one. If you use --ignore-http_dp http DPs are skipped and with --ignore-ldap-dp LDAP DPs are ignored.
Apr 8 2025
Apr 7 2025
Fix pushed by: rG1ed8b0e7b403: dirmngr: Fix libdns with 127.0.0.1.
For Linux kernel, once, it was proposed:
https://patchwork.ozlabs.org/project/netdev/patch/1490748756.24891.27.camel@edumazet-glaptop3.roam.corp.google.com/
Another problem with same cause (possibly) is reported: https://lists.gnupg.org/pipermail/gnupg-devel/2025-April/035845.html
Apr 6 2025
this marked as fixed in 2.4.7. However afaict only one of the two patches made it to STABLE-BRANCH-2-4, b1857a2836c9a91ef4e359ef7ba949b54c77219d did not.
Apr 2 2025
Mar 26 2025
OK. Relying on SQLite semantics for COLLATE NOCASE would not be good.
Exactly same existing semantics (only care about ASCII uppercase characters) is good.
Mar 25 2025
Mar 24 2025
I noticed that the signing key B0D589D46708EC99 is a certify-only key. That signatures made with this key are dropped could be another regression of the fix for dkj's DoS bug.
Taking a bigger sample of keys from the same domain and doing the same testing shows that the signature by B0D589D46708EC99 is removed on all keys.
You mean this would be better becuase it is not clear how we handle X.509 addrsppec (see override_mbox arg of store_into_userid)? I guess COLLATE NOCASE does it the standard way by folding all uppercase characters and not just the ASCII characters as we do in GnuPG. This would be a problem.
Mar 23 2025
Mar 21 2025
Indeed, GnuPG's IPC uses TCP connections from 127.0.0.1 to 127.0.0.1 taking the destination port (and a cookie) from a file. We can't change that easily to the new Unix socket implementation Windows recently introduced. I hope there is a way to exclude localhost->localhost from congestion control.
I changed my mind. SQLite specific patch might be better:
diff --git a/kbx/backend-sqlite.c b/kbx/backend-sqlite.c index 4c67c3ef7..1db2f2c8d 100644 --- a/kbx/backend-sqlite.c +++ b/kbx/backend-sqlite.c @@ -154,7 +154,7 @@ static struct /* The full user id - for X.509 the Subject or altSubject. */ "uid TEXT NOT NULL," /* The mail address if available or NULL. */ - "addrspec TEXT," + "addrspec TEXT COLLATE NOCASE," /* The type of the public key: 1 = openpgp, 2 = X.509. */ "type INTEGER NOT NULL," /* The order number of the user id within the keyblock or
I changed my mind. SQLite specific patch might be better:
diff --git a/kbx/backend-sqlite.c b/kbx/backend-sqlite.c index 4c67c3ef7..1db2f2c8d 100644 --- a/kbx/backend-sqlite.c +++ b/kbx/backend-sqlite.c @@ -154,7 +154,7 @@ static struct /* The full user id - for X.509 the Subject or altSubject. */ "uid TEXT NOT NULL," /* The mail address if available or NULL. */ - "addrspec TEXT," + "addrspec TEXT COLLATE NOCASE," /* The type of the public key: 1 = openpgp, 2 = X.509. */ "type INTEGER NOT NULL," /* The order number of the user id within the keyblock or
Here is a possible change:
Mar 17 2025
FWIW: It does works when using GNUPGHOME instead.
This has always been the case. git blame shows for check_signatures_trust:
Mar 14 2025
This seems to be the case on 2.2.46 as well, fwiw. i don't think it's new in 2.4.7.
similarly, gpgconf --homedir /tmp/gg --kill all does not terminate keyboxd, despite the fact that gpgconf(1) says:
Mar 13 2025
Hello Eva,
Mar 12 2025
The beta145 Werner talks about can be found here: https://www.gpg4win.org/version5.html
It is from our master branch which is not de-vs capable at this time.
Hello Werner,
thank you for your support ...
Mar 11 2025
Please test using the latest gpg4win installer (beta145).
The problem is that it may take really long to read the certificates form a card and some card applications even require to give a PIN for reading the certs. A background operation may thus surprisingly lock up the box
Mar 10 2025
This was using GCC to build, but on AIX. I believe support for dollar signs in identifiers are platform specific.
GCC allows dollars in identifier, that's the reason why we haven't encountered this issue, I suppose.
Thank you for your report.
Mar 7 2025
thanks for the fix in f29c8dba743eb7574399345ce341bbfb1f8f9bee !
Mar 6 2025
rG25d48663f9 seems to fix this for me. However in my test cases I got a hang in dirmngr simply by running several gpgsm instances to get the details of an X.509 key. I had different logging options enabled, though.
I had this again yesterday. I don't think that scdaemon is involved. gpg-agent.log has this
2025-03-05 15:54:29 gpg-agent[1248] socket file removed - retrying binding 2025-03-05 15:54:29 gpg-agent[1248] Der Socket kann nicht an `C:\\Users\\g10code\\AppData\\Local\\gnupg\\S.gpg-agent' gebunden werden: Unknown error 2025-03-05 15:54:29 gpg-agent[1248] system error code: 0 (0x0) 2025-03-05 15:54:29 gpg-agent[1248] secmem usage: 0/32768 bytes in 0 blocks 2025-03-05 15:55:17 gpg-agent[2088] socket file removed - retrying binding 2025-03-05 15:55:17 gpg-agent[2088] Es wird auf Socket `C:\\Users\\g10code\\AppData\\Local\\gnupg\\S.gpg-agent' gehört 2025-03-05 15:55:17 gpg-agent[2088] socket file removed - retrying binding 2025-03-05 15:55:17 gpg-agent[2088] Es wird auf Socket `C:\\Users\\g10code\\AppData\\Local\\gnupg\\S.gpg-agent.extra' gehört 2025-03-05 15:55:17 gpg-agent[2088] socket file removed - retrying binding 2025-03-05 15:55:17 gpg-agent[2088] Es wird auf Socket `C:\\Users\\g10code\\AppData\\Local\\gnupg\\S.gpg-agent.browser' gehört 2025-03-05 15:55:17 gpg-agent[2088] socket file removed - retrying binding 2025-03-05 15:55:17 gpg-agent[2088] Es wird auf Socket `C:\\Users\\g10code\\AppData\\Local\\gnupg\\S.gpg-agent.ssh' gehört 2025-03-05 15:55:17 gpg-agent[2088] gpg-agent (GnuPG) 2.5.5-beta11 started
and scdaemon logged
2025-03-05 15:55:19 scdaemon[4100] Es wird auf Socket `C:\\Users\\g10code\\AppData\\Local\\gnupg\\S.scdaemon' gehört 2025-03-05 15:55:19 scdaemon[4100] Handhabungsroutine für fd -1 gestartet 2025-03-05 15:55:19 scdaemon[4100] DBG: chan_0x00000000000002d0 -> OK GNU Privacy Guard's Smartcard server ready, process 4100
i.e. there wasn't any scdaemon running before the second gpg-agent started successfully.
Thanks for the report! That's indeed a regression introduced by the changes for T7527: Keyring/keybox denial of service. Commenting/Removing line https://dev.gnupg.org/source/gnupg/browse/master/g10/getkey.c$343 seems to fix the regression, but (very likely) this would reintroduce the issues reported in T7527: Keyring/keybox denial of service.
Mar 5 2025
whether you use --pinentry-mode=loopback or --pinentry-mode=cancel or --pinentry-mode=error, if gpg-agent has cached the password already, the decryption will work; otherwise, it will fail with an error like that describe above.
here's an example of no prompting at all using --pinentry-mode=loopback:
master is development and you can't expect that it always build on all platforms.
Here is a patch against master which normalizes line-endings when verifying text signatures over binary literal data packets
Mar 4 2025
Feb 28 2025
This is also causing problems with ostree, see https://bugs.debian.org/1098951 and https://github.com/ostreedev/ostree/issues/3386
I remove the milestone tag, as that one means "fixed in version 2.2.46" and added the general gnupg tag
Feb 27 2025
The same effect seems to be happening on signatures made from expired keys.