From 07502f2d82393854f36f5c3ff608458e74fcb747 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Fri, 1 Jul 2011 16:50:32 -0500 Subject: Allow frontend access to signature verification information Show output in -Qip for each package signature, which includes the UID string from the key ("Joe User ") and the validity of said key. Example output: Signatures : Valid signature from "Dan McGee " Unknown signature from "" Invalid signature from "Dan McGee " Also add a backend alpm_sigresult_cleanup() function since memory allocation took place on this object, and we need some way of freeing it. Signed-off-by: Dan McGee --- src/pacman/package.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/pacman/package.c') diff --git a/src/pacman/package.c b/src/pacman/package.c index 5514f001..afbac6b7 100644 --- a/src/pacman/package.c +++ b/src/pacman/package.c @@ -136,6 +136,17 @@ void dump_pkg_full(alpm_pkg_t *pkg, enum pkg_from from, int extra) if(from == PKG_FROM_SYNCDB) { string_display(_("MD5 Sum :"), alpm_pkg_get_md5sum(pkg)); } + if(from == PKG_FROM_FILE) { + alpm_sigresult_t result; + int err = alpm_pkg_check_pgp_signature(pkg, &result); + if(err) { + string_display(_("Signatures :"), + alpm_strerror(alpm_errno(config->handle))); + } else { + signature_display(_("Signatures :"), &result); + } + alpm_sigresult_cleanup(&result); + } string_display(_("Description :"), alpm_pkg_get_desc(pkg)); /* Print additional package info if info flag passed more than once */ -- cgit v1.2.3