diff options
author | Stefan Berger <stefanb@linux.vnet.ibm.com> | 2016-08-09 10:52:15 -0400 |
---|---|---|
committer | Florian Festi <ffesti@redhat.com> | 2016-08-24 18:22:49 +0200 |
commit | 3171982612633e44de40361d7d7d6e94dbd3753a (patch) | |
tree | 9e5ecfcecb5ab4d4cc5fb5c36809cdef0771dcf2 | |
parent | 10633641ec17081cca6332c3fb4abeea3df4059f (diff) | |
download | rpm-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.c | 7 |
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; } |