summaryrefslogtreecommitdiffstats
path: root/g10/pkclist.c
diff options
context:
space:
mode:
authorDavid Shaw <dshaw@jabberwocky.com>2002-08-30 20:01:32 +0200
committerDavid Shaw <dshaw@jabberwocky.com>2002-08-30 20:01:32 +0200
commitc721e11bf53e9c35c444c0439902fb046d169c61 (patch)
tree50442edc18f139f79bdb06682732298c8b1e2d0f /g10/pkclist.c
parent* iobuf.c (block_filter): Removed the assert, so that one can pass (diff)
downloadgnupg2-c721e11bf53e9c35c444c0439902fb046d169c61.tar.xz
gnupg2-c721e11bf53e9c35c444c0439902fb046d169c61.zip
* pkclist.c (build_pk_list): Fail if any recipient keys are unusable.
* options.skel: The PGP LDAP keyserver is back. Use MIT keyserver as a sample rather than cryptnet as cryptnet does not support searching yet. * keyedit.c (show_key_with_all_names): Fix error message (preferences are userid/selfsig and not key specific).
Diffstat (limited to 'g10/pkclist.c')
-rw-r--r--g10/pkclist.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/g10/pkclist.c b/g10/pkclist.c
index 684145fe5..040db11ba 100644
--- a/g10/pkclist.c
+++ b/g10/pkclist.c
@@ -770,6 +770,7 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned use )
log_error(_("%s: skipped: %s\n"), rov->d, g10_errstr(rc) );
write_status_text_and_buffer (STATUS_INV_RECP, "0 ",
rov->d, strlen (rov->d), -1);
+ goto fail;
}
else if( !(rc=check_pubkey_algo2(pk->pubkey_algo, use )) ) {
/* Skip the actual key if the key is already present
@@ -793,6 +794,7 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned use )
log_error(_("%s: skipped: %s\n"), rov->d, g10_errstr(rc) );
write_status_text_and_buffer (STATUS_INV_RECP, "0 ",
rov->d, strlen (rov->d), -1);
+ goto fail;
}
}
}
@@ -945,6 +947,7 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned use )
write_status_text_and_buffer (STATUS_INV_RECP, "0 ",
remusr->d, strlen (remusr->d),
-1);
+ goto fail;
}
else if( !(rc=check_pubkey_algo2(pk->pubkey_algo, use )) ) {
int trustlevel;
@@ -958,6 +961,7 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned use )
remusr->d,
strlen (remusr->d),
-1);
+ goto fail;
}
else if( do_we_trust_pre( pk, trustlevel ) ) {
/* note: do_we_trust may have changed the trustlevel */
@@ -988,6 +992,7 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned use )
remusr->d,
strlen (remusr->d),
-1);
+ goto fail;
}
}
else {
@@ -997,6 +1002,7 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned use )
strlen (remusr->d),
-1);
log_error(_("%s: skipped: %s\n"), remusr->d, g10_errstr(rc) );
+ goto fail;
}
}
}
@@ -1007,6 +1013,8 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned use )
rc = G10ERR_NO_USER_ID;
}
+ fail:
+
if( rc )
release_pk_list( pk_list );
else