diff options
author | Dan McGee <dan@archlinux.org> | 2011-09-20 05:53:15 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-09-20 17:23:11 +0200 |
commit | ec790ced7cee00269234cb1ed476e29256433923 (patch) | |
tree | a2acb54dc4d26c62bbcc285b4a9d88ae637628a8 /lib/libalpm/signing.h | |
parent | 994cb4da4f6bc8efbb6a649cb7d99d95bce5c37a (diff) | |
download | pacman-ec790ced7cee00269234cb1ed476e29256433923.tar.gz pacman-ec790ced7cee00269234cb1ed476e29256433923.tar.xz |
signing: add a process and retry loop for database signatures
In reality, there is no retrying that happens as of now because we don't
have any import or changing of the keyring going on, but the code is set
up so we can drop this in our new _alpm_process_siglist() function. Wire
up the basics to the sync database validation code, so we see something
like the following:
$ pacman -Ss unknowntrust
error: core: signature from "Dan McGee <dpmcgee@gmail.com>" is unknown trust
error: core: signature from "Dan McGee <dpmcgee@gmail.com>" is unknown trust
error: database 'core' is not valid (invalid or corrupted database (PGP signature))
$ pacman -Ss missingsig
error: core: missing required signature
error: core: missing required signature
error: database 'core' is not valid (invalid or corrupted database (PGP signature))
Yes, there is some double output, but this should be fixable in the
future.
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/signing.h')
-rw-r--r-- | lib/libalpm/signing.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libalpm/signing.h b/lib/libalpm/signing.h index ee4a94a0..315d6059 100644 --- a/lib/libalpm/signing.h +++ b/lib/libalpm/signing.h @@ -24,9 +24,12 @@ char *_alpm_sigpath(alpm_handle_t *handle, const char *path); int _alpm_gpgme_checksig(alpm_handle_t *handle, const char *path, const char *base64_sig, alpm_siglist_t *result); + int _alpm_check_pgp_helper(alpm_handle_t *handle, const char *path, const char *base64_sig, int optional, int marginal, int unknown, alpm_siglist_t **sigdata); +int _alpm_process_siglist(alpm_handle_t *handle, const char *identifier, + alpm_siglist_t *siglist, int optional, int marginal, int unknown); #endif /* _ALPM_SIGNING_H */ |