RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 03-Apr-2016 22:50:34 Branch: rpm-5_4 Handle: 2016040320503400 Modified files: (Branch: rpm-5_4) rpm/rpmdb tagname.c Log: - skip RPMSIGTAG_* <-> RPMTAG_* value collisions. Summary: Revision Changes Path 1.34.2.13 +8 -10 rpm/rpmdb/tagname.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/rpmdb/tagname.c ============================================================================ $ cvs diff -u -r1.34.2.12 -r1.34.2.13 tagname.c --- rpm/rpmdb/tagname.c 27 Feb 2016 21:34:57 -0000 1.34.2.12 +++ rpm/rpmdb/tagname.c 3 Apr 2016 20:50:34 -0000 1.34.2.13 @@ -512,26 +512,24 @@ * Validate that implicit and explicit types are identical. * @param he tag container */ -void tagTypeValidate(HE_t he); -void tagTypeValidate(HE_t he) +void tagTypeValidate(HE_t he, unsigned int flags); +void tagTypeValidate(HE_t he, unsigned int flags) { + /* XXX Skip RPMSIGTAG_* validation. */ + if (flags & HEADERGET_SIGHEADER) + return; + +#if !defined(SUPPORT_I18NSTRING_TYPE) /* XXX Re-map RPM_I18NSTRING_TYPE -> RPM_STRING_TYPE */ if (he->t == RPM_I18NSTRING_TYPE) he->t = RPM_STRING_TYPE; +#endif /* XXX Arbitrary tags are always strings. */ if ((he->tag & 0x40000000) && (he->t == RPM_STRING_TYPE || he->t == RPM_STRING_ARRAY_TYPE)) return; - /* XXX Make 0x3fffffff disappear for now. Signature? */ - if (he->tag == 0x3fffffff && he->t == RPM_BIN_TYPE) - return; - -/* XXX hack around known borkage for now. */ -if (!(he->tag == 62)) -if (!(he->tag == 261 || he->tag == 269)) -if (!(he->tag == 1000 || he->tag == 1004 || he->tag == 1007)) if (!(he->tag == 1029 || he->tag == 1086 || he->tag == 1087)) if (he->t != (tagType(he->tag) & 0xffff)) fprintf(stderr, "==> warning: tag %u type(0x%x) != implicit type(0x%x)\n", (unsigned) he->tag, he->t, tagType(he->tag)); @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org