[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#466930: hkp search+import fails on keyids of more than 4 bytes



Package: kgpg
Version: 4:3.5.8-1
Severity: normal

--- Please enter the report below this line. ---

When working with e.g. the keyserver onak 0.3.5-1 available in Debian,
kgpg fails to parse the keyids of a search because onak returns
40-nibble keyids instead of the more usual 8-nibble keyids.

Kgpg then extracts the 8 *first* nibbles of the long keyid
instead of either leaving the long keyid as such or (less preferable)
to extract the 8 *last* nibbles of the long keyid.

Note that other keyservers could return a 16-nibble keyid as it's also
a valid value for a keyid for gpg.

I guess the best patch is to leave the full keyid as returned
by the keyserver

Example:
onak returns this string:
1024 bit DSA key 440A3A9E56E9D90E99D763A87A135F579AD7E3DB, created:
2002-05-05
while e.g. wwwkeys.pgp.net returns
1024 bit DSA key 9AD7E3DB, created: 2002-05-05

The problem is that kgpg considers in the first case that
the keyid is 440A3A9E instead of 9AD7E3DB

The faulty code is the following:

kservers.cpp line 317:
    QString kid=subkey.section(" key ",1,1);
    kid=kid.stripWhiteSpace();
=>  kid=kid.left(8);
    kitem->setText(3,kid);
    QString creation=subkey.section("created",1,1);

I'm sorry but I don't master qt or c++ so I cannot provide a patch
but in regex we need:
/^([a-zA-Z0-9]{8})+/
or if you really want to get only 8, 16 and 40-nibble keyids
(but which server would return other values??):
/^(([a-zA-Z0-9]{24})?[a-zA-Z0-9]{8})?[a-zA-Z0-9]{8}/

Phil

--- System information. ---
Architecture: i386
Kernel:       Linux 2.6.22-3-vserver-686

Debian Release: lenny/sid
  990 testing         ftp.kulnet.kuleuven.ac.be
  500 unstable        ftp.kulnet.kuleuven.ac.be

--- Package information. ---
Depends              (Version) | Installed
==============================-+-===============
kdelibs4c2a     (>= 4:3.5.7-1) | 4:3.5.8.dfsg.1-7
libc6             (>= 2.6.1-1) | 2.7-6
libgcc1           (>= 1:4.2.1) | 1:4.3-20080202-1
libqt3-mt         (>= 3:3.3.7) | 3:3.3.7-9
libstdc++6          (>= 4.2.1) | 4.3-20080202-1
gnupg                          | 1.4.6-2+b1




Reply to: