summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Berger <stefanb@linux.vnet.ibm.com>2016-08-09 10:52:15 -0400
committerFlorian Festi <ffesti@redhat.com>2016-08-24 18:22:49 +0200
commit3171982612633e44de40361d7d7d6e94dbd3753a (patch)
tree9e5ecfcecb5ab4d4cc5fb5c36809cdef0771dcf2
parent10633641ec17081cca6332c3fb4abeea3df4059f (diff)
downloadrpm-3171982612633e44de40361d7d7d6e94dbd3753a.tar.gz
rpmsign: Use default hash algo if RPMTAG_FILEDIGESTALGO missing
Use the default hash algorithm md5 on RPMs that do not contain the RPMTAG_FILEDIGESTALGO. This may be the case if the default hash algorithm used on files is md5 and thus no RPMTAG_FILEDIGESTALGO is being written (see build/files.c:genCpioListAndHeader()). Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
-rw-r--r--lib/rpmsignfiles.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/rpmsignfiles.c b/lib/rpmsignfiles.c
index 3cd2b1a1d..87e4e4265 100644
--- a/lib/rpmsignfiles.c
+++ b/lib/rpmsignfiles.c
@@ -133,10 +133,9 @@ rpmRC rpmSignFiles(Header h, const char *key, char *keypass)
algo = headerGetNumber(h, RPMTAG_FILEDIGESTALGO);
if (!algo) {
- rpmlog(RPMLOG_ERR, _("missing RPMTAG_FILEDIGESTALGO\n"));
- return RPMRC_FAIL;
- }
- if (algo < 0 || algo >= ARRAY_SIZE(hash_algo_name)) {
+ /* use default algorithm */
+ algo = PGPHASHALGO_MD5;
+ } else if (algo < 0 || algo >= ARRAY_SIZE(hash_algo_name)) {
rpmlog(RPMLOG_ERR, _("File digest algorithm id is invalid"));
return RPMRC_FAIL;
}