rpm
5.4.14
|
Methods to handle package elements. More...
#include <stdint.h>
#include <rpmtypes.h>
#include <rpmio.h>
#include <rpmpgp.h>
#include <rpmtag.h>
Go to the source code of this file.
Functions | |
rpmRC | headerCheck (pgpDig dig, const void *uh, size_t uc, const char **msg) |
Check header consistency, performing headerGetEntry() the hard way. More... | |
rpmRC | rpmReadPackageFile (rpmts ts, FD_t fd, const char *fn, Header *hdrp) |
Return package header from file handle, verifying digests/signatures. More... | |
size_t | rpmpkgSizeof (const char *fn, const void *ptr) |
Return size of item in bytes. More... | |
rpmRC | rpmpkgWrite (const char *fn, FD_t fd, void *ptr, const char **msg) |
Write item onto file descriptor. More... | |
rpmRC | rpmpkgRead (const char *fn, FD_t fd, void *ptr, const char **msg) |
Read item from file descriptor. More... | |
rpmRC | rpmpkgCheck (const char *fn, FD_t fd, const void *ptr, const char **msg) |
Verify item integrity. More... | |
Methods to handle package elements.
Definition in file pkgio.h.
Check header consistency, performing headerGetEntry() the hard way.
Sanity checks on the header are performed while looking for a header-only digest or signature to verify the blob. If found, the digest or signature is verified.
dig | signature parameters container |
uh | unloaded header blob |
uc | no. of bytes in blob (or 0 to disable) |
*msg | verification error message (or NULL) |
Check header consistency, performing headerGetEntry() the hard way.
Sanity checks on the header are performed while looking for a header-only digest or signature to verify the blob. If found, the digest or signature is verified.
dig | signature parameters container |
uh | unloaded header blob |
uc | no. of bytes in blob (or 0 to disable) |
*msg | signature verification msg |
Definition at line 1027 of file pkgio.c.
References _, _free(), alloca(), assert(), b, buf, entryInfo_s::count, exit, fprintf(), headerGetMagic(), headerVerifyInfo(), i, indexEntry_s::info, int, memset(), nb, NULL, entryInfo_s::offset, op, pgpDigVSFlags, pgpGetSig(), PGPHASHALGO_SHA1, pgpPktLen(), pgpSetSig(), pgpStatsAccumulator(), rc, REGION_TAG_COUNT, REGION_TAG_TYPE, RPM_BIN_TYPE, RPM_STRING_TYPE, RPMDIGEST_NONE, rpmDigestInit(), rpmDigestUpdate(), rpmlog(), RPMLOG_ERR, RPMRC_FAIL, RPMRC_NOTFOUND, RPMRC_OK, rpmswEnter(), rpmswExit(), RPMTAG_DSAHEADER, RPMTAG_HEADERIMMUTABLE, RPMTAG_RSAHEADER, RPMTAG_SHA1HEADER, rpmVerifySignature(), RPMVSF_NODSAHEADER, RPMVSF_NORSAHEADER, RPMVSF_NOSHA1HEADER, siglen, snprintf(), entryInfo_s::tag, entryInfo_s::type, unsigned, void, vsflags, xmalloc, xstrdup(), and xx.
Referenced by rpmReadHeader(), and showVerifyPackage().
Verify item integrity.
fn | item name |
fd | file handle |
ptr | item buffer |
*msg | item check failure message |
Definition at line 1635 of file pkgio.c.
References ckHeader(), NULL, rc, RPMRC_FAIL, and strcmp().
Read item from file descriptor.
fn | item name |
fd | file handle |
*ptr | item buffer |
*msg | item check failure message |
Definition at line 1647 of file pkgio.c.
References NULL, rc, rdHeader(), rdLead(), rdSignature(), RPMRC_FAIL, and strcmp().
Referenced by makeHDRSignature(), readFile(), rpmgiNext(), rpmReadHeaders(), rpmReadPackageFile(), rpmReSign(), rpmSingleHeaderFromFD(), rpmVerifySignatures(), and writeRPM().
size_t rpmpkgSizeof | ( | const char * | fn, |
const void * | ptr | ||
) |
Return size of item in bytes.
fn | item name |
ptr | item buffer |
Definition at line 1619 of file pkgio.c.
References len, strcmp(), and szHeader().
Referenced by printSize(), rpmpsmStage(), and writeRPM().
Write item onto file descriptor.
fn | item name |
fd | file handle |
ptr | item buffer |
*msg | item check failure message |
Definition at line 1665 of file pkgio.c.
References NULL, rc, RPMRC_FAIL, strcmp(), wrHeader(), wrLead(), and wrSignature().
Referenced by makeHDRSignature(), rpmpsmStage(), rpmReSign(), rpmWriteHeaders(), and writeRPM().
Return package header from file handle, verifying digests/signatures.
ts | transaction set |
fd | file handle |
fn | file name |
hdrp | address of header (or NULL) |
Definition at line 83 of file package.c.
References _, _chk, _free(), alloca(), rpmDataType_u::argv, assert(), buf, _HE_s::c, rpmop_s::count, count, dig, exit, fdInitDigest(), fdSetDig(), fdstat_op(), FDSTAT_READ, fdStealDigest(), Fread(), Fstrerror(), h, headerFree, headerGet(), headerGetMagic(), headerIsEntry(), headerLink(), headerMergeLegacySigs(), ix, memset(), msg, nb, NULL, op, _HE_s::p, PGPARMOR_PUBKEY, pgpArmorUnwrap(), pgpDigVSFlags, pgpGetSigtag(), PGPHASHALGO_MD5, PGPHASHALGO_SHA1, pgpPktLen(), pgpSetSig(), pgpStashKeyid(), pgpStatsAccumulator(), rpmDataType_u::ptr, rc, RPM_STRING_ARRAY_TYPE, RPMDIGEST_NONE, rpmDigestInit(), rpmDigestUpdate(), rpmiobAppend(), rpmiobFree(), rpmiobNew(), rpmlog(), RPMLOG_DEBUG, RPMLOG_ERR, RPMLOG_WARNING, rpmpkgRead(), RPMRC_FAIL, RPMRC_NOKEY, RPMRC_NOSIG, RPMRC_NOTFOUND, RPMRC_NOTTRUSTED, RPMRC_OK, RPMSIGTAG_DSA, RPMSIGTAG_MD5, RPMSIGTAG_RSA, RPMSIGTAG_SHA1, rpmswAdd(), rpmswEnter(), rpmswExit(), rpmswSub(), RPMTAG_HEADERIMMUTABLE, RPMTAG_PUBKEYS, RPMTS_OP_DIGEST, RPMTS_OP_READHDR, rpmtsCleanDig(), rpmtsDig(), rpmtsOp(), rpmVerifySignature(), RPMVSF_NEEDPAYLOAD, RPMVSF_NODSAHEADER, RPMVSF_NOMD5, RPMVSF_NORSAHEADER, RPMVSF_NOSHA1HEADER, _FD_s::stats, _HE_s::t, _HE_s::tag, uh, rpmDataType_u::ui8p, void, vsflags, and xx.
Referenced by IDTXglob(), main(), rpmgiReadHeader(), rpmInstallSourcePackage(), rpmrepoReadHeader(), rpmteFDHeader(), and rpmtsSolve().