19 #define QVA_ISSET(_qvaflags, _FLAG) ((_qvaflags) & (VERIFY_##_FLAG))
21 #define VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG))
22 #define VSF_SET(_vsflags, _FLAG) \
23 (*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG))
24 #define VSF_CLR(_vsflags, _FLAG) \
25 (*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG))
29 #define QVA_ISSET(_qvaflags, _FLAG) ((_qvaflags) & (VERIFY_##_FLAG))
31 #define VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG))
32 #define VSF_SET(_vsflags, _FLAG) (_vsflags) |= (RPMVSF_##_FLAG)
33 #define VSF_CLR(_vsflags, _FLAG) (_vsflags) &= ~(RPMVSF_##_FLAG)
46 if (argc == 1 || (argc == 2 && !
strcmp(argv[1],
"-")))
47 fdi =
fdDup(STDIN_FILENO);
51 fprintf(stderr,
"%s: %s: HTTP/HTTPS transport is non-functional.\n",
55 fdi =
Fopen(argv[1],
"r");
59 fprintf(stderr,
"%s: %s: %s\n", argv[0],
60 (argc == 1 ?
"<stdin>" : argv[1]),
Fstrerror(fdi));
63 fdo =
fdDup(STDOUT_FILENO);
70 #if defined(SUPPORT_NOSIGNATURES)
104 fprintf(stderr,
_(
"argument is not an RPM package\n"));
109 fprintf(stderr,
_(
"error reading header from package\n"));
116 const char * payload_compressor =
NULL;
122 payload_compressor = (xx ? he->
p.
str :
"gzip");
124 rpmio_flags = t =
alloca(
sizeof(
"r.gzdio"));
126 if (!
strcmp(payload_compressor,
"gzip"))
128 if (!
strcmp(payload_compressor,
"bzip2"))
130 if (!
strcmp(payload_compressor,
"lzma"))
132 if (!
strcmp(payload_compressor,
"xz"))
137 gzdi =
Fdopen(fdi, rpmio_flags);
int ufdCopy(FD_t sfd, FD_t tfd)
FD_t Fopen(const char *path, const char *_fmode)
fopen(3) clone.
struct rpmts_s * rpmts
The RPM Transaction Set.
rpmts rpmtsFree(rpmts ts)
Destroy transaction set, closing the database as well.
int main(int argc, const char **argv, char **envp)
#define VSF_SET(_vsflags, _FLAG)
enum rpmRC_e rpmRC
RPM return codes.
memset(_r, 0, sizeof(*_r))
rpmts rpmtsCreate(void)
Create an empty transaction set.
const char * Fstrerror(FD_t fd)
strerror(3) clone.
fprintf(stderr,"--> %s(%p,%p,%p) sig %p sigp %p\n", __FUNCTION__, dig, t, rsactx, sig, sigp)
rpmRC rpmReadPackageFile(rpmts ts, FD_t fd, const char *fn, Header *hdrp)
Return package header from file handle, verifying digests/signatures.
The FD_t File Handle data structure.
pgpVSFlags rpmVSFlags
Bit(s) to control digest and signature verification.
int Fclose(FD_t fd)
fclose(3) clone.
rpmVSFlags rpmtsSetVSFlags(rpmts ts, rpmVSFlags vsflags)
Set verify signatures flag(s).
int Ferror(FD_t fd)
ferror(3) clone.
return strcmp(ame->name, bme->name)
urltype urlPath(const char *url, const char **pathp)
Return path component of URL.
Methods to handle package elements.
char * stpcpy(char *dest, const char *src)
Structures and prototypes used for an "rpmts" transaction set.
FD_t Fdopen(FD_t ofd, const char *fmode)
static void
Print copy of spec file, filling in Group/Description/Summary from specspo.
static void * _free(const void *p)
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
#define VSF_CLR(_vsflags, _FLAG)