mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-02 12:01:32 +01:00
gpg: Allow use of a standard space separated fingerprint.
* common/userids.c (classify_user_id): Check for space separated GPG fingerprint.
This commit is contained in:
parent
5988c8bfb7
commit
372fb4fc06
3
NEWS
3
NEWS
@ -1,6 +1,9 @@
|
|||||||
Noteworthy changes in version 2.1.0beta4 (unreleased)
|
Noteworthy changes in version 2.1.0beta4 (unreleased)
|
||||||
-----------------------------------------------------
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
* GPG now accepts a space separated fingerprint as a user ID. This
|
||||||
|
allows to copy and paste the fingerprint from the key listing.
|
||||||
|
|
||||||
|
|
||||||
Noteworthy changes in version 2.1.0beta3 (2011-12-20)
|
Noteworthy changes in version 2.1.0beta3 (2011-12-20)
|
||||||
-----------------------------------------------------
|
-----------------------------------------------------
|
||||||
|
@ -308,6 +308,46 @@ classify_user_id (const char *name, KEYDB_SEARCH_DESC *desc, int openpgp_hack)
|
|||||||
if (i == 20)
|
if (i == 20)
|
||||||
mode = KEYDB_SEARCH_MODE_FPR20;
|
mode = KEYDB_SEARCH_MODE_FPR20;
|
||||||
}
|
}
|
||||||
|
if (!mode)
|
||||||
|
{
|
||||||
|
/* Still not found. Now check for a space separated
|
||||||
|
OpenPGP v4 fingerprint like:
|
||||||
|
8061 5870 F5BA D690 3336 86D0 F2AD 85AC 1E42 B367
|
||||||
|
*/
|
||||||
|
hexlength = strspn (s, " 0123456789abcdefABCDEF");
|
||||||
|
if (s[hexlength] && s[hexlength] != ' ')
|
||||||
|
hexlength = 0; /* Followed by non-space. */
|
||||||
|
while (hexlength && s[hexlength-1] == ' ')
|
||||||
|
hexlength--; /* Trim trailing spaces. */
|
||||||
|
if (hexlength == 50 && (!s[hexlength] || s[hexlength] == ' '))
|
||||||
|
{
|
||||||
|
int i, c;
|
||||||
|
|
||||||
|
for (i=0; i < 20; i++)
|
||||||
|
{
|
||||||
|
if (i && !(i % 2))
|
||||||
|
{
|
||||||
|
if (*s != ' ')
|
||||||
|
break;
|
||||||
|
s++;
|
||||||
|
if (i == 10)
|
||||||
|
{
|
||||||
|
if (*s != ' ')
|
||||||
|
break;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
c = hextobyte(s);
|
||||||
|
if (c == -1)
|
||||||
|
break;
|
||||||
|
desc->u.fpr[i] = c;
|
||||||
|
s += 2;
|
||||||
|
}
|
||||||
|
if (i == 20)
|
||||||
|
mode = KEYDB_SEARCH_MODE_FPR20;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!mode) /* Default to substring search. */
|
if (!mode) /* Default to substring search. */
|
||||||
{
|
{
|
||||||
desc->exact = 0;
|
desc->exact = 0;
|
||||||
|
@ -59,9 +59,10 @@ avoids any ambiguities in case that there are duplicated key IDs.
|
|||||||
@end cartouche
|
@end cartouche
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
(@command{gpgsm} also accepts colons between each pair of hexadecimal
|
@command{gpgsm} also accepts colons between each pair of hexadecimal
|
||||||
digits because this is the de-facto standard on how to present X.509
|
digits because this is the de-facto standard on how to present X.509
|
||||||
fingerprints.)
|
fingerprints. @command{gpg} also allows the use of the space
|
||||||
|
separated SHA-1 fingerprint as printed by the key listing commands.
|
||||||
|
|
||||||
@item By exact match on OpenPGP user ID.
|
@item By exact match on OpenPGP user ID.
|
||||||
This is denoted by a leading equal sign. It does not make sense for
|
This is denoted by a leading equal sign. It does not make sense for
|
||||||
|
Loading…
x
Reference in New Issue
Block a user