Remove retry path from signature validation

Now that the keyring is checked for all needed keys before the
validation, we can not reach a point of a missing key when doing
validity checks for sync operations.

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Allan McRae 2012-11-03 00:29:11 +10:00
parent 31b9b264c1
commit 4ccf16dff5
1 changed files with 4 additions and 10 deletions

View File

@ -1089,15 +1089,13 @@ static int check_validity(alpm_handle_t *handle,
EVENT(handle, ALPM_EVENT_INTEGRITY_DONE, NULL, NULL); EVENT(handle, ALPM_EVENT_INTEGRITY_DONE, NULL, NULL);
if(errors) { if(errors) {
int tryagain = 0;
for(i = errors; i; i = i->next) { for(i = errors; i; i = i->next) {
struct validity *v = i->data; struct validity *v = i->data;
if(v->error == ALPM_ERR_PKG_INVALID_SIG) { if(v->error == ALPM_ERR_PKG_INVALID_SIG) {
int retry = _alpm_process_siglist(handle, v->pkg->name, v->siglist, _alpm_process_siglist(handle, v->pkg->name, v->siglist,
v->level & ALPM_SIG_PACKAGE_OPTIONAL, v->level & ALPM_SIG_PACKAGE_OPTIONAL,
v->level & ALPM_SIG_PACKAGE_MARGINAL_OK, v->level & ALPM_SIG_PACKAGE_MARGINAL_OK,
v->level & ALPM_SIG_PACKAGE_UNKNOWN_OK); v->level & ALPM_SIG_PACKAGE_UNKNOWN_OK);
tryagain += retry;
} else if(v->error == ALPM_ERR_PKG_INVALID_CHECKSUM) { } else if(v->error == ALPM_ERR_PKG_INVALID_CHECKSUM) {
prompt_to_delete(handle, v->path, v->error); prompt_to_delete(handle, v->path, v->error);
} }
@ -1108,14 +1106,10 @@ static int check_validity(alpm_handle_t *handle,
} }
alpm_list_free(errors); alpm_list_free(errors);
if(tryagain == 0) { if(!handle->pm_errno) {
if(!handle->pm_errno) { RET_ERR(handle, ALPM_ERR_PKG_INVALID, -1);
RET_ERR(handle, ALPM_ERR_PKG_INVALID, -1);
}
return -1;
} }
/* we were told at least once we can try again */ return -1;
return 1;
} }
return 0; return 0;