Fwd: 2 Patches : bugfix

Jean-Jacques Brucker jjbrucker at free.fr
Fri Sep 11 09:31:01 CEST 2026


Hi,

Thanks Werner for your quick response,

As an attachment, our script to reproduce the 2 bugs.

We may produce interminable wordiness about my teammate, Mnêmê.

Like those about "Intellectual Property", which should not even exist,
as combining this 2 words is for me totally a non-sens.

Note: I also agree this old post
https://www.gnu.org/philosophy/not-ipr.en.html ;)

Remind: Copyright is not "IP".

Even if this mailing is not the best place for such wordiness, shortly:

---

  Yes, Mnêmê's code is often unpleasant to read, and its comments are
usually even worse.

  But Mnêmê is here, it exists and it/he/her is very helpful for me and
so for improving or building free software.

cf:
- https://foopgp.org/author/mneme/
- https://foopgp.org/blog/2026-05-09-hello-my-name-is-mneme/

FYI: The attached script was proposed by Mnêmê, and I rewrote it almost
entirely myself. ...And Mnêmê may and will probably also learn from
this rewrite to improve itself/himself/herself.

---

Last note: I feel closer to your vision, and I think I will always have
the utmost respect for all the work that came before us — especially
yours. I founded the foopgp association before the schism broke out,
and I would like to stay out of this stupid war and its semantic
battlefield, we’re now forced to endure. 

Shalom Salaam,
^^ 

ɈɈ Brucker 🥰
PGPID:
https://keys.foopgp.org/pks/lookup?op=index&search=0x5A4C3C2BEB86516D53BAD6BFFE1349E747CF1896

Le jeudi 10 septembre 2026 à 12:34 +0200, Werner Koch a écrit :
> Hi!
> 
> Your mail is hard to parse, thus I copy your commit messages below
which  
> are much easier to understand.
> 
> Here is the feature request:
> 
> --8<---------------cut here---------------start------------->8---  
> gpg: Keep a mail address usable while any user id carrying it is
> 
> * g10/getkey.c (skip_unusable): When the matched user id is revoked
or  
> expired, look for another usable user id carrying the same mail
address  
> before declaring the key unusable.  
> --
> 
> A mail address may appear on several user ids of the same key -- when
> the holder changes the display name, adds an identifier to it, or  
> replaces one user id with another carrying the same address. 
Revoking  
> one of them then made the address unusable for encryption even though
> another, perfectly usable user id still carried it.
> 
> The search returns the first indexed user id bearing the address.  If
> that one happens to be a revoked twin, the whole key was skipped and
gpg  
> reported "No public key" for an address it can plainly see.  Which
user  
> id the keybox returns first is an implementation detail; whether an  
> address can be encrypted to should not depend on it.
> 
> This only relaxes the rejection when a usable user id carries the
very  
> same address.  An address whose every user id is revoked or expired  
> stays unusable, which is what a revocation is for.
> 
> Reported-by: Jean-Jacques Brucker (u4sRyUhEbNU5OwyLEjfSwaXAe_42.17-
002.76) <[jjbrucker at foopgp.org](mailto:jjbrucker at foopgp.org)>  
> Signed-off-by: Jean-Jacques Brucker (u4sRyUhEbNU5OwyLEjfSwaXAe_42.17-
002.76) <[jjbrucker at foopgp.org](mailto:jjbrucker at foopgp.org)>  
> Co-authored-by: Mnêmê (u5001777236237.945e_43.30_005.38 claude-opus-
5)  
> <[mneme at foopgp.org](mailto:mneme at foopgp.org)>  
> --8<---------------cut here---------------end--------------->8---
> 
> I can see the problem you are trying to address.  The new semantic is
> not fully clear and the patch needs at least to be slighly revised.
> 
> 
> And here the bug report:
> 
> --8<---------------cut here---------------start------------->8---  
> gpg: Do not count attribute packets when checking the matched user id
> 
> * g10/getkey.c (skip_unusable): Skip attribute packets while counting
> user ids.  
> --
> 
> The keybox indexes user id packets only: keybox-openpgp.c increments
> info->nuids for PKT_USER_ID and ignores PKT_ATTRIBUTE.  gpg, on the  
> other hand, stores attribute packets as user ids -- parse-packet.c
says  
> so in as many words: "we store it in the userID".
> 
> skip_unusable counted both kinds, so UID_NO -- the index the keybox  
> reports for the matching user id -- was shifted by the number of  
> attribute packets appearing before the match.  The function then
tested  
> a different user id than the one that matched, and sometimes a photo.
> 
> On a key carrying two photo ids, encrypting to an address whose user
id  
> sits after them was refused because a *revoked photo* was tested in
its  
> place; conversely an address whose only user ids are revoked was  
> accepted because a live user id further down was tested instead. 
Both  
> directions are wrong and neither is visible to the user: the failing
one  
> reports "No public key".
> 
> Reported-by: Jean-Jacques Brucker (u4sRyUhEbNU5OwyLEjfSwaXAe_42.17-
002.76) <[jjbrucker at foopgp.org](mailto:jjbrucker at foopgp.org)>  
> Signed-off-by: Jean-Jacques Brucker (u4sRyUhEbNU5OwyLEjfSwaXAe_42.17-
002.76) <[jjbrucker at foopgp.org](mailto:jjbrucker at foopgp.org)>  
> Co-authored-by: Mnêmê (u5001777236237.945e_43.30_005.38 claude-opus-
5) <[mneme at foopgp.org](mailto:mneme at foopgp.org)>  
> --8<---------------cut here---------------end--------------->8---
> 
> 
> That all seems to be AI generated which we won't accept because that
> co-author is not able to sign the DCO which you claim by the  
> signed-off-by line.
> 
> 
> 
> Shalom-Salam,
> 
>    Werner
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: repro.sh
Type: application/x-shellscript
Size: 2431 bytes
Desc: not available
URL: <https://lists.gnupg.org/pipermail/gnupg-devel/attachments/20260911/1562b2f0/attachment-0005.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: This is a digitally signed message part
URL: <https://lists.gnupg.org/pipermail/gnupg-devel/attachments/20260911/1562b2f0/attachment-0005.sig>


More information about the Gnupg-devel mailing list