[pacman-dev] [PATCH 6/8] Remove retry path from signature validation

Allan McRae allan at archlinux.org
Fri Nov 2 11:28:20 EDT 2012


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 at archlinux.org>
---
 lib/libalpm/sync.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index dcfefd1..031034d 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -1084,15 +1084,13 @@ static int check_validity(alpm_handle_t *handle,
 	EVENT(handle, ALPM_EVENT_INTEGRITY_DONE, NULL, NULL);
 
 	if(errors) {
-		int tryagain = 0;
 		for(i = errors; i; i = i->next) {
 			struct validity *v = i->data;
 			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_MARGINAL_OK,
 						v->level & ALPM_SIG_PACKAGE_UNKNOWN_OK);
-				tryagain += retry;
 			} else if(v->error == ALPM_ERR_PKG_INVALID_CHECKSUM) {
 				prompt_to_delete(handle, v->path, v->error);
 			}
@@ -1103,14 +1101,10 @@ static int check_validity(alpm_handle_t *handle,
 		}
 		alpm_list_free(errors);
 
-		if(tryagain == 0) {
-			if(!handle->pm_errno) {
-				RET_ERR(handle, ALPM_ERR_PKG_INVALID, -1);
-			}
-			return -1;
+		if(!handle->pm_errno) {
+			RET_ERR(handle, ALPM_ERR_PKG_INVALID, -1);
 		}
-		/* we were told at least once we can try again */
-		return 1;
+		return -1;
 	}
 
 	return 0;
-- 
1.8.0



More information about the pacman-dev mailing list