1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-31 11:41:32 +01:00

gpg: Use more specific reason codes for INV_RECP.

* g10/pkclist.c (build_pk_list): Use more specific reasons codes for
INV_RECP.
--

GnuPG-bug-id: 1650

Note that this patch is a bit more limited than the one in 2.1.
This commit is contained in:
Werner Koch 2014-06-10 14:54:55 +02:00
parent e28cbdc559
commit 4239780d5a
2 changed files with 16 additions and 6 deletions

View File

@ -1,6 +1,6 @@
-*- text -*- -*- text -*-
NOTE: The definitive reference is the file from the SVN trunk. NOTE: The definitive reference is in GIT master.
Format of colon listings Format of colon listings
======================== ========================
@ -517,6 +517,8 @@ more arguments in future versions.
8 := "Policy mismatch" 8 := "Policy mismatch"
9 := "Not a secret key" 9 := "Not a secret key"
10 := "Key not trusted" 10 := "Key not trusted"
13 := "Key disabled"
14 := "Syntax error in specification"
Note that this status is also used for gpgsm's SIGNER command Note that this status is also used for gpgsm's SIGNER command
where it relates to signer's of course. where it relates to signer's of course.

View File

@ -822,7 +822,11 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned int use )
{ {
free_public_key ( pk ); pk = NULL; free_public_key ( pk ); pk = NULL;
log_error (_("%s: skipped: %s\n"), rov->d, g10_errstr(rc) ); log_error (_("%s: skipped: %s\n"), rov->d, g10_errstr(rc) );
write_status_text_and_buffer (STATUS_INV_RECP, "0 ", write_status_text_and_buffer (STATUS_INV_RECP,
(rc == G10ERR_NO_PUBKEY
|| rc == G10ERR_NO_SECKEY)? "1 ":
(rc == G10ERR_INV_USER_ID)? "14 ":
"0 ",
rov->d, strlen (rov->d), -1); rov->d, strlen (rov->d), -1);
goto fail; goto fail;
} }
@ -865,7 +869,7 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned int use )
available. */ available. */
free_public_key( pk ); pk = NULL; free_public_key( pk ); pk = NULL;
log_error(_("%s: skipped: %s\n"), rov->d, g10_errstr(rc) ); log_error(_("%s: skipped: %s\n"), rov->d, g10_errstr(rc) );
write_status_text_and_buffer (STATUS_INV_RECP, "0 ", write_status_text_and_buffer (STATUS_INV_RECP, "3 ",
rov->d, strlen (rov->d), -1); rov->d, strlen (rov->d), -1);
goto fail; goto fail;
} }
@ -1077,7 +1081,11 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned int use )
/* Key not found or other error. */ /* Key not found or other error. */
free_public_key( pk ); pk = NULL; free_public_key( pk ); pk = NULL;
log_error(_("%s: skipped: %s\n"), remusr->d, g10_errstr(rc) ); log_error(_("%s: skipped: %s\n"), remusr->d, g10_errstr(rc) );
write_status_text_and_buffer (STATUS_INV_RECP, "0 ", write_status_text_and_buffer (STATUS_INV_RECP,
(rc == G10ERR_NO_PUBKEY
|| rc == G10ERR_NO_SECKEY)? "1 ":
(rc == G10ERR_INV_USER_ID)? "14 ":
"0 ",
remusr->d, strlen (remusr->d), remusr->d, strlen (remusr->d),
-1); -1);
goto fail; goto fail;
@ -1094,7 +1102,7 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned int use )
free_public_key(pk); pk = NULL; free_public_key(pk); pk = NULL;
log_info(_("%s: skipped: public key is disabled\n"), log_info(_("%s: skipped: public key is disabled\n"),
remusr->d); remusr->d);
write_status_text_and_buffer (STATUS_INV_RECP, "0 ", write_status_text_and_buffer (STATUS_INV_RECP, "13 ",
remusr->d, remusr->d,
strlen (remusr->d), strlen (remusr->d),
-1); -1);
@ -1143,7 +1151,7 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned int use )
{ {
/* Key found but not usable for us (e.g. sign-only key). */ /* Key found but not usable for us (e.g. sign-only key). */
free_public_key( pk ); pk = NULL; free_public_key( pk ); pk = NULL;
write_status_text_and_buffer (STATUS_INV_RECP, "0 ", write_status_text_and_buffer (STATUS_INV_RECP, "3 ",
remusr->d, remusr->d,
strlen (remusr->d), strlen (remusr->d),
-1); -1);