diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/cpio.c | 1 | ||||
-rw-r--r-- | lib/cpio.h | 3 | ||||
-rw-r--r-- | lib/depends.c | 2 | ||||
-rw-r--r-- | lib/fsm.c | 2 | ||||
-rw-r--r-- | lib/fsm.h | 1 | ||||
-rw-r--r-- | lib/manifest.c | 3 | ||||
-rw-r--r-- | lib/misc.c | 10 | ||||
-rw-r--r-- | lib/misc.h | 69 | ||||
-rw-r--r-- | lib/psm.c | 3 | ||||
-rw-r--r-- | lib/psm.h | 3 | ||||
-rw-r--r-- | lib/rpmlib.h | 6 | ||||
-rw-r--r-- | lib/rpmrc.c | 34 | ||||
-rw-r--r-- | lib/signature.c | 6 | ||||
-rw-r--r-- | lib/transaction.c | 110 | ||||
-rw-r--r-- | lib/verify.c | 34 |
15 files changed, 101 insertions, 186 deletions
diff --git a/lib/cpio.c b/lib/cpio.c index 231272d17..15242798d 100644 --- a/lib/cpio.c +++ b/lib/cpio.c @@ -8,7 +8,6 @@ */ #include "system.h" -#include <rpmlib.h> #include "fsm.h" #include "rpmerr.h" diff --git a/lib/cpio.h b/lib/cpio.h index 9fe288f4c..faf8a366c 100644 --- a/lib/cpio.h +++ b/lib/cpio.h @@ -12,10 +12,11 @@ * */ -#include <zlib.h> #include <sys/types.h> +#include <zlib.h> #include <rpmio_internal.h> +#include <rpmlib.h> /** \ingroup payload * @note CPIO_CHECK_ERRNO bit is set only if errno is valid. diff --git a/lib/depends.c b/lib/depends.c index 98c7895cf..15401ce5d 100644 --- a/lib/depends.c +++ b/lib/depends.c @@ -1305,7 +1305,7 @@ static int unsatisfiedDepend(rpmTransactionSet ts, } mi = rpmdbFreeIterator(mi); -#ifndef DYING +#ifdef DYING mi = rpmdbInitIterator(ts->rpmdb, RPMTAG_NAME, keyName, 0); (void) rpmdbPruneIterator(mi, ts->removedPackages, ts->numRemovedPackages, 1); @@ -652,7 +652,6 @@ int fsmMapAttrs(FSM_t fsm) /** \ingroup payload * Create file from payload stream. - * @todo Legacy: support brokenEndian MD5 checks? * @param fsm file state machine data * @return 0 on success */ @@ -672,7 +671,6 @@ static int expandRegular(/*@special@*/ FSM_t fsm) /* XXX md5sum's will break on repackaging that includes modified files. */ fmd5sum = fsm->fmd5sum; - /* XXX This doesn't support brokenEndian checks. */ if (st->st_size > 0 && fmd5sum) fdInitMD5(fsm->wfd, 0); @@ -6,7 +6,6 @@ * File state machine to handle a payload within an rpm package. */ -#include <rpmlib.h> #include "cpio.h" /** diff --git a/lib/manifest.c b/lib/manifest.c index c1480ec84..c1223835d 100644 --- a/lib/manifest.c +++ b/lib/manifest.c @@ -4,8 +4,9 @@ #include "system.h" -#include <rpmlib.h> #include <rpmio_internal.h> +#include <rpmlib.h> + #include "stringbuf.h" #include "manifest.h" #include "misc.h" diff --git a/lib/misc.c b/lib/misc.c index c677d41cb..03934173d 100644 --- a/lib/misc.c +++ b/lib/misc.c @@ -6,19 +6,18 @@ static int _debug = 0; -#include <rpmlib.h> +#include "rpmio_internal.h" #include <rpmurl.h> #include <rpmmacro.h> /* XXX for rpmGetPath */ +#include <rpmlib.h> -#include "rpmio_internal.h" #include "misc.h" #include "debug.h" /*@access Header@*/ /* XXX compared with NULL */ /*@access FD_t@*/ /* XXX compared with NULL */ -int domd5(const char * fn, unsigned char * digest, int asAscii, - int brokenEndian) +int domd5(const char * fn, unsigned char * digest, int asAscii) { int rc; @@ -33,8 +32,7 @@ int domd5(const char * fn, unsigned char * digest, int asAscii, return 1; } - /* Preserve legacy "brokenEndian" behavior. */ - fdInitMD5(fd, brokenEndian); + fdInitMD5(fd, 0); while ((rc = Fread(buf, sizeof(buf[0]), sizeof(buf), fd)) > 0) {}; diff --git a/lib/misc.h b/lib/misc.h index dc4e91e6e..c4df521ab 100644 --- a/lib/misc.h +++ b/lib/misc.h @@ -26,12 +26,10 @@ extern "C" { * @param fn file name * @retval digest address of md5sum * @param asAscii return md5sum as ascii string? - * @param brokenEndian calculate broken MD5 sum? * @return 0 on success, 1 on error */ /*@-exportlocal@*/ -int domd5(const char * fn, /*@out@*/ unsigned char * digest, int asAscii, - int brokenEndian) +int domd5(const char * fn, /*@out@*/ unsigned char * digest, int asAscii) /*@modifies digest, fileSystem @*/; /*@=exportlocal@*/ @@ -46,7 +44,7 @@ int domd5(const char * fn, /*@out@*/ unsigned char * digest, int asAscii, int mdfile(const char * fn, /*@out@*/ unsigned char * digest) /*@modifies digest, fileSystem @*/ { - return domd5(fn, digest, 1, 0); + return domd5(fn, digest, 1); } /** @@ -60,45 +58,22 @@ int mdfile(const char * fn, /*@out@*/ unsigned char * digest) int mdbinfile(const char * fn, /*@out@*/ unsigned char * bindigest) /*@modifies bindigest, fileSystem @*/ { - return domd5(fn, bindigest, 0, 0); -} - -/** - * Return (broken!) MD5 sum of file as ASCII string. - * @deprecated Here for compatibility with old (broken) versions of RPM. - * @todo Eliminate, use beecrypt instead. - * @param fn file name - * @retval digest MD5 digest - * @return 0 on success, 1 on error - */ -/*@unused@*/ static inline -int mdfileBroken(const char * fn, /*@out@*/ unsigned char * digest) - /*@modifies digest, fileSystem @*/ -{ - return domd5(fn, digest, 1, 1); -} - -/** - * Return (broken!) MD5 sum of file as binary data. - * @deprecated Here for compatibility with old (broken) versions of RPM. - * @todo Eliminate, use beecrypt instead. - * @param fn file name - * @retval bindigest MD5 digest - * @return 0 on success, 1 on error - */ -/*@unused@*/ static inline -int mdbinfileBroken(const char * fn, /*@out@*/ unsigned char * bindigest) - /*@modifies bindigest, fileSystem @*/ -{ - return domd5(fn, bindigest, 0, 1); + return domd5(fn, bindigest, 0); } /** + * Split string into fields separated by a character. + * @param str string + * @param length length of string + * @param sep separator character + * @return (malloc'd) argv array */ /*@only@*/ char ** splitString(const char * str, int length, char sep) /*@*/; /** + * Free split string argv array. + * @param list argv array */ void freeSplitString( /*@only@*/ char ** list) /*@modifies list @*/; @@ -120,21 +95,27 @@ void freeSplitString( /*@only@*/ char ** list) } /** + * Check if file esists using stat(2). + * @param urlfn file name (may be URL) + * @return 1 if file exists, 0 if not */ int rpmfileexists(const char * urlfn) /*@modifies fileSystem @*/; -/* - * These are like the libc functions, but they malloc() the space which - * is needed. - */ - /** + * Like the libc function, but malloc()'s the space needed. + * @param name variable name + * @param value variable value + * @param overwrte should an existing variable be changed? + * @return 0 on success */ int dosetenv(const char * name, const char * value, int overwrite) /*@modifies fileSystem @*/; /** + * Like the libc function, but malloc()'s the space needed. + * @param str "name=value" string + * @return 0 on success */ int doputenv(const char * str) /*@modifies fileSystem @*/; @@ -165,16 +146,21 @@ int makeTempFile(/*@null@*/ const char * prefix, /*@modifies fileSystem @*/; /** + * Convert absolute path tag to (dirname,basename,dirindex) tags. + * @param h header */ void compressFilelist(Header h) /*@modifies h @*/; /** + * Convert (dirname,basename,dirindex) tags to absolute path tag. + * @param h header */ void expandFilelist(Header h) /*@modifies h @*/; /** + * @param h header */ void buildOrigFileList(Header h, /*@out@*/ const char *** fileListPtr, /*@out@*/ int * fileCountPtr) @@ -191,6 +177,9 @@ int rpmGlob(const char * patterns, /*@out@*/ int * argcPtr, /*@modifies *argcPtr, *argvPtr, fileSystem @*/; /** + * Retrofit a Provides: name = version-release dependency into legacy + * packages. + * @param h header */ void providePackageNVR(Header h) /*@modifies h @*/; @@ -5,11 +5,10 @@ #include "system.h" -#include <rpmlib.h> +#include "psm.h" #include <rpmmacro.h> #include <rpmurl.h> -#include "psm.h" #include "rpmlead.h" /* writeLead proto */ #include "signature.h" /* signature constants */ #include "misc.h" @@ -6,9 +6,8 @@ * Package state machine to handle a package from a transaction set. */ -#include <rpmlib.h> -#include "depends.h" #include "fsm.h" +#include "depends.h" /** */ diff --git a/lib/rpmlib.h b/lib/rpmlib.h index 3194a313b..0fd06593a 100644 --- a/lib/rpmlib.h +++ b/lib/rpmlib.h @@ -301,7 +301,7 @@ typedef enum rpmTag_e { RPMTAG_CHANGELOGTIME = 1080, RPMTAG_CHANGELOGNAME = 1081, RPMTAG_CHANGELOGTEXT = 1082, - RPMTAG_BROKENMD5 = 1083, /*!< internal */ + RPMTAG_BROKENMD5 = 1083, /*!< internal - obsolete */ RPMTAG_PREREQ = 1084, /*!< internal */ RPMTAG_PREINPROG = 1085, RPMTAG_POSTINPROG = 1086, @@ -325,7 +325,7 @@ typedef enum rpmTag_e { RPMTAG_AUTOREQ = 1103, /*!< internal */ RPMTAG_AUTOPROV = 1104, /*!< internal */ /*@-enummemuse@*/ - RPMTAG_CAPABILITY = 1105, /*!< internal obsolete */ + RPMTAG_CAPABILITY = 1105, /*!< internal - obsolete */ /*@=enummemuse@*/ RPMTAG_SOURCEPACKAGE = 1106, /*!< internal */ /*@-enummemuse@*/ @@ -335,7 +335,7 @@ typedef enum rpmTag_e { RPMTAG_BUILDREQUIRES = 1109, /*!< internal */ RPMTAG_BUILDCONFLICTS = 1110, /*!< internal */ /*@-enummemuse@*/ - RPMTAG_BUILDMACROS = 1111, /*!< internal */ + RPMTAG_BUILDMACROS = 1111, /*!< internal - unused */ /*@=enummemuse@*/ RPMTAG_PROVIDEFLAGS = 1112, RPMTAG_PROVIDEVERSION = 1113, diff --git a/lib/rpmrc.c b/lib/rpmrc.c index 2f7ccc042..898719f3a 100644 --- a/lib/rpmrc.c +++ b/lib/rpmrc.c @@ -307,18 +307,11 @@ static int addCanon(canonEntry * table, int * tableLen, char * line, const char * tshort_name; int tnum; -#ifdef DYING - if (! *tableLen) { - *tableLen = 2; - *table = xmalloc(2 * sizeof(struct canonEntry_s)); - } else -#endif - { - (*tableLen) += 2; - /*@-unqualifiedtrans@*/ - *table = xrealloc(*table, sizeof(struct canonEntry_s) * (*tableLen)); - /*@=unqualifiedtrans@*/ - } + (*tableLen) += 2; + /*@-unqualifiedtrans@*/ + *table = xrealloc(*table, sizeof(struct canonEntry_s) * (*tableLen)); + /*@=unqualifiedtrans@*/ + t = & ((*table)[*tableLen - 2]); tname = strtok(line, ": \t"); @@ -363,18 +356,11 @@ static int addDefault(defaultEntry * table, int * tableLen, char * line, { defaultEntry t; -#ifdef DYING - if (! *tableLen) { - *tableLen = 1; - *table = xmalloc(sizeof(struct defaultEntry_s)); - } else -#endif - { - (*tableLen)++; - /*@-unqualifiedtrans@*/ - *table = xrealloc(*table, sizeof(struct defaultEntry_s) * (*tableLen)); - /*@=unqualifiedtrans@*/ - } + (*tableLen)++; + /*@-unqualifiedtrans@*/ + *table = xrealloc(*table, sizeof(struct defaultEntry_s) * (*tableLen)); + /*@=unqualifiedtrans@*/ + t = & ((*table)[*tableLen - 1]); /*@-temptrans@*/ diff --git a/lib/signature.c b/lib/signature.c index 29abe7da0..b56a312b3 100644 --- a/lib/signature.c +++ b/lib/signature.c @@ -860,10 +860,6 @@ rpmVerifySignature(const char * file, int_32 sigTag, const void * sig, case RPMSIGTAG_MD5: return verifyMD5Signature(file, sig, result, mdbinfile); /*@notreached@*/ break; - case RPMSIGTAG_LEMD5_1: - case RPMSIGTAG_LEMD5_2: - return verifyMD5Signature(file, sig, result, mdbinfileBroken); - /*@notreached@*/ break; case RPMSIGTAG_PGP5: /* XXX legacy */ case RPMSIGTAG_PGP: return verifyPGPSignature(file, sig, count, result); @@ -871,6 +867,8 @@ rpmVerifySignature(const char * file, int_32 sigTag, const void * sig, case RPMSIGTAG_GPG: return verifyGPGSignature(file, sig, count, result); /*@notreached@*/ break; + case RPMSIGTAG_LEMD5_1: + case RPMSIGTAG_LEMD5_2: default: sprintf(result, "Do not know how to verify sig type %d\n", sigTag); return RPMSIG_UNKNOWN; diff --git a/lib/transaction.c b/lib/transaction.c index c64364f11..bcff11849 100644 --- a/lib/transaction.c +++ b/lib/transaction.c @@ -4,10 +4,9 @@ #include "system.h" -#include <rpmlib.h> +#include "psm.h" #include <rpmmacro.h> /* XXX for rpmExpand */ -#include "psm.h" #include "fprint.h" #include "rpmhash.h" #include "misc.h" /* XXX stripTrailingChar, splitString, currentDirectory */ @@ -47,6 +46,8 @@ extern const char * chroot_prefix; /*@access rpmProblemSet@*/ /*@access rpmProblem@*/ +/** + */ struct diskspaceInfo { dev_t dev; /*!< file system device number. */ signed long bneeded; /*!< no. of blocks needed. */ @@ -56,7 +57,9 @@ struct diskspaceInfo { signed long iavail; /*!< no. of inodes available. */ }; -/* Adjust for root only reserved space. On linux e2fs, this is 5%. */ +/** + * Adjust for root only reserved space. On linux e2fs, this is 5%. + */ #define adj_fs_blocks(_nb) (((_nb) * 21) / 20) /* argon thought a shift optimization here was a waste of time... he's @@ -65,6 +68,8 @@ struct diskspaceInfo { #define XSTRCMP(a, b) ((!(a) && !(b)) || ((a) && (b) && !strcmp((a), (b)))) +/** + */ static /*@null@*/ void * freeFl(rpmTransactionSet ts, /*@only@*/ /*@null@*/ TFI_t flList) /*@*/ @@ -119,6 +124,8 @@ int rpmtransGetKeys(const rpmTransactionSet ts, const void *** ep, int * nep) return rc; } +/** + */ static rpmProblemSet psCreate(void) /*@*/ { @@ -131,6 +138,8 @@ static rpmProblemSet psCreate(void) return probs; } +/** + */ static void psAppend(rpmProblemSet probs, rpmProblemType type, const struct availablePackage * alp, const char * dn, const char *bn, @@ -196,6 +205,8 @@ static void psAppend(rpmProblemSet probs, rpmProblemType type, } } +/** + */ static int archOkay(Header h) /*@*/ { @@ -227,6 +238,8 @@ static int archOkay(Header h) return 1; } +/** + */ static int osOkay(Header h) /*@*/ { @@ -266,6 +279,8 @@ void rpmProblemSetFree(rpmProblemSet probs) free(probs); } +/** + */ static /*@observer@*/ const char *const ftstring (fileTypes ft) /*@*/ { @@ -282,6 +297,8 @@ static /*@observer@*/ const char *const ftstring (fileTypes ft) /*@notreached@*/ } +/** + */ static fileTypes whatis(uint_16 mode) /*@*/ { @@ -369,11 +386,7 @@ static Header relocateFileList(const rpmTransactionSet ts, TFI_t fi, return headerLink(origH); } -#ifdef DYING - h = headerCopy(origH); -#else h = headerLink(origH); -#endif relocations = alloca(sizeof(*relocations) * numRelocations); @@ -721,7 +734,8 @@ static Header relocateFileList(const rpmTransactionSet ts, TFI_t fi, return h; } -/* +/** + * Filter a problem set. * As the problem sets are generated in an order solely dependent * on the ordering of the packages in the transaction, and that * ordering can't be changed, the problem sets must be parallel to @@ -729,6 +743,10 @@ static Header relocateFileList(const rpmTransactionSet ts, TFI_t fi, * target set, given the operations available on transaction set. * This is good, as it lets us perform this trim in linear time, rather * then logarithmic or quadratic. + * + * @param filter filter + * @param target problem set + * @return 0 no problems, 1 if problems remain */ static int psTrim(rpmProblemSet filter, rpmProblemSet target) /*@modifies target @*/ @@ -753,7 +771,7 @@ static int psTrim(rpmProblemSet filter, rpmProblemSet target) } if ((t - target->probs) == target->numProblems) { - /* this can't happen ;-) lets be sane if it doesn though */ + /* this can't happen ;-) let's be sane if it doesn though */ break; } @@ -767,6 +785,8 @@ static int psTrim(rpmProblemSet filter, rpmProblemSet target) return gotProblems; } +/** + */ static int sharedCmp(const void * one, const void * two) /*@*/ { @@ -781,11 +801,13 @@ static int sharedCmp(const void * one, const void * two) return 0; } +/** + */ static fileAction decideFileFate(const char * dirName, const char * baseName, short dbMode, const char * dbMd5, const char * dbLink, short newMode, const char * newMd5, const char * newLink, int newFlags, - int brokenMd5, rpmtransFlags transFlags) + rpmtransFlags transFlags) /*@*/ { char buffer[1024]; @@ -834,10 +856,7 @@ static fileAction decideFileFate(const char * dirName, } if (dbWhat == REG) { - if (brokenMd5) - rc = mdfileBroken(filespec, buffer); - else - rc = mdfile(filespec, buffer); + rc = mdfile(filespec, buffer); if (rc) { /* assume the file has been removed, don't freak */ @@ -878,6 +897,8 @@ static fileAction decideFileFate(const char * dirName, return save; } +/** + */ static int filecmp(short mode1, const char * md51, const char * link1, short mode2, const char * md52, const char * link2) /*@*/ @@ -895,6 +916,8 @@ static int filecmp(short mode1, const char * md51, const char * link1, return 0; } +/** + */ static int handleInstInstalledFiles(TFI_t fi, /*@null@*/ rpmdb db, struct sharedFileInfo * shared, int sharedCount, int reportConflicts, @@ -974,7 +997,6 @@ static int handleInstInstalledFiles(TFI_t fi, /*@null@*/ rpmdb db, fi->fmd5s[fileNum], fi->flinks[fileNum], fi->fflags[fileNum], - !headerIsEntry(h, RPMTAG_RPMVERSION), transFlags); } @@ -992,6 +1014,8 @@ static int handleInstInstalledFiles(TFI_t fi, /*@null@*/ rpmdb db, return 0; } +/** + */ static int handleRmvdInstalledFiles(TFI_t fi, /*@null@*/ rpmdb db, struct sharedFileInfo * shared, int sharedCount) @@ -1232,6 +1256,8 @@ static void handleOverlappedFiles(TFI_t fi, hashTable ht, if (filespec) free(filespec); } +/** + */ static int ensureOlder(struct availablePackage * alp, Header old, rpmProblemSet probs) /*@modifies alp, probs @*/ @@ -1251,6 +1277,8 @@ static int ensureOlder(struct availablePackage * alp, Header old, return rc; } +/** + */ static void skipFiles(const rpmTransactionSet ts, TFI_t fi) /*@modifies fi @*/ { @@ -1524,9 +1552,6 @@ int rpmRunTransactions( rpmTransactionSet ts, int i, j; int ourrc = 0; struct availablePackage * alp; -#ifdef DYING - Header * hdrs; -#endif int totalFileCount = 0; hashTable ht; TFI_t fi; @@ -1625,10 +1650,6 @@ int rpmRunTransactions( rpmTransactionSet ts, if (dip) ts->di[i].bsize = 0; } -#ifdef DYING - hdrs = alloca(sizeof(*hdrs) * ts->addedPackages.size); -#endif - /* =============================================== * For packages being installed: * - verify package arch/os. @@ -1720,22 +1741,12 @@ int rpmRunTransactions( rpmTransactionSet ts, fi->ap = tsGetAlp(tsi); fi->record = 0; loadFi(fi->ap->h, fi); - if (fi->fc == 0) { -#ifdef DYING - hdrs[i] = headerLink(fi->h); -#endif + if (fi->fc == 0) continue; - } -#ifdef DYING - /* Allocate file actions (and initialize to FA_UNKNOWN) */ - fi->actions = xcalloc(fi->fc, sizeof(*fi->actions)); - hdrs[i] = relocateFileList(ts, fi, fi->ap, fi->h, fi->actions); -#else { Header foo = relocateFileList(ts, fi, fi->ap, fi->h, fi->actions); foo = headerFree(foo); } -#endif /* Skip netshared paths, not our i18n files, and excluded docs */ skipFiles(ts, fi); @@ -1765,11 +1776,6 @@ int rpmRunTransactions( rpmTransactionSet ts, } tsi = tsFreeIterator(tsi); -#ifdef DYING - /* Open all database indices before installing. */ - (void) rpmdbOpenAll(ts->rpmdb); -#endif - if (!ts->chrootDone) { (void) chdir("/"); /*@-unrecog -superuser @*/ @@ -1978,16 +1984,6 @@ int rpmRunTransactions( rpmTransactionSet ts, { *newProbs = ts->probs; -#ifdef DYING - for (alp = ts->addedPackages.list, fi = ts->flList; - (alp - ts->addedPackages.list) < ts->addedPackages.size; - alp++, fi++) - { - hdrs[alp - ts->addedPackages.list] = - headerFree(hdrs[alp - ts->addedPackages.list]); - } -#endif - ts->flList = freeFl(ts, ts->flList); ts->flEntries = 0; /*@-nullstate@*/ @@ -2040,11 +2036,8 @@ assert(alp == fi->ap); if (alp->fd) { rpmRC rpmrc; -#ifdef DYING - hdrs[i] = headerFree(hdrs[i]); -#else h = headerFree(h); -#endif + /*@-mustmod@*/ /* LCL: segfault */ rpmrc = rpmReadPackageHeader(alp->fd, &h, NULL, NULL, NULL); /*@=mustmod@*/ @@ -2054,15 +2047,10 @@ assert(alp == fi->ap); alp->fd = NULL; ourrc++; } else { -#ifdef DYING - hdrs[i] = relocateFileList(ts, fi, alp, h, NULL); - h = headerFree(h); -#else Header foo = relocateFileList(ts, fi, alp, h, NULL); h = headerFree(h); h = headerLink(foo); foo = headerFree(foo); -#endif } if (alp->fd) gotfd = 1; } @@ -2075,11 +2063,7 @@ assert(alp == fi->ap); hsave = headerLink(fi->h); fi->h = headerFree(fi->h); } -#ifdef DYING - fi->h = headerLink(hdrs[i]); -#else fi->h = headerLink(h); -#endif if (alp->multiLib) ts->transFlags |= RPMTRANS_FLAG_MULTILIB; @@ -2098,11 +2082,7 @@ assert(alp == fi->ap); lastFailed = i; } -#ifdef DYING - hdrs[i] = headerFree(hdrs[i]); -#else h = headerFree(h); -#endif if (gotfd) { (void)ts->notify(fi->h, RPMCALLBACK_INST_CLOSE_FILE, 0, 0, diff --git a/lib/verify.c b/lib/verify.c index 2d05dd93f..9d6d0d8c7 100644 --- a/lib/verify.c +++ b/lib/verify.c @@ -5,9 +5,9 @@ #include "system.h" +#include "psm.h" #include <rpmcli.h> -#include "psm.h" #include "misc.h" /* XXX for uidToUname() and gnameToGid() */ #include "debug.h" @@ -16,14 +16,6 @@ /*@access FD_t*/ /* XXX compared with NULL */ /*@access rpmdb*/ /* XXX compared with NULL */ -static int _ie = 0x44332211; -static union _vendian { -/*@unused@*/ int i; - char b[4]; -} *_endian = (union _vendian *)&_ie; -#define IS_BIG_ENDIAN() (_endian->b[0] == '\x44') -#define IS_LITTLE_ENDIAN() (_endian->b[0] == '\x11') - #define S_ISDEV(m) (S_ISBLK((m)) || S_ISCHR((m))) int rpmVerifyFile(const char * root, Header h, int filenum, @@ -41,27 +33,6 @@ int rpmVerifyFile(const char * root, Header h, int filenum, int count; int rc; struct stat sb; - int_32 useBrokenMd5; - - if (IS_BIG_ENDIAN()) { /* XXX was ifdef WORDS_BIGENDIAN */ - int_32 * brokenPtr; - if (!hge(h, RPMTAG_BROKENMD5, NULL, (void **) &brokenPtr, NULL)) { - HAE_t hae = (HAE_t)headerAddEntry; - const char * rpmVersion; - - if (hge(h, RPMTAG_RPMVERSION, NULL, (void **) &rpmVersion, NULL)) { - useBrokenMd5 = ((rpmvercmp(rpmVersion, "2.3.3") >= 0) && - (rpmvercmp(rpmVersion, "2.3.8") <= 0)); - } else { - useBrokenMd5 = 1; - } - (void) hae(h, RPMTAG_BROKENMD5, RPM_INT32_TYPE, &useBrokenMd5, 1); - } else { - useBrokenMd5 = *brokenPtr; - } - } else { - useBrokenMd5 = 0; - } (void) hge(h, RPMTAG_FILEMODES, NULL, (void **) &modeList, &count); if (hge(h, RPMTAG_FILEFLAGS, NULL, (void **) &fileFlags, NULL)) @@ -174,9 +145,6 @@ int rpmVerifyFile(const char * root, Header h, int filenum, if (!hge(h, RPMTAG_FILEMD5S, &mdt, (void **) &md5List, NULL)) *result |= RPMVERIFY_MD5; else { - if (useBrokenMd5) - rc = mdfileBroken(filespec, md5sum); - else rc = mdfile(filespec, md5sum); if (rc) |