From 394d9b8acb4cc3e1d3aa6f984e50bcf52860cebb Mon Sep 17 00:00:00 2001 From: root Date: Sun, 7 Jul 1996 22:13:37 +0000 Subject: [PATCH] mods for new Header-style signature and HEADER_MAGIC CVS patchset: 732 CVS date: 1996/07/07 22:13:37 --- tools/rpmarchive.c | 5 +++-- tools/rpmheader.c | 7 ++++--- tools/rpmsignature.c | 23 ++++++----------------- 3 files changed, 13 insertions(+), 22 deletions(-) diff --git a/tools/rpmarchive.c b/tools/rpmarchive.c index 770ef6c..254b528 100644 --- a/tools/rpmarchive.c +++ b/tools/rpmarchive.c @@ -23,8 +23,9 @@ int main(int argc, char **argv) } readLead(fd, &lead); - readSignature(fd, lead.signature_type, NULL); - hd = readHeader(fd); + readSignature(fd, NULL, lead.signature_type); + hd = readHeader(fd, (lead.major >= 3) ? + HEADER_MAGIC : NO_HEADER_MAGIC); while ((ct = read(fd, &buffer, 1024))) { write(1, &buffer, ct); diff --git a/tools/rpmheader.c b/tools/rpmheader.c index c0eb66d..2b883f7 100644 --- a/tools/rpmheader.c +++ b/tools/rpmheader.c @@ -21,9 +21,10 @@ int main(int argc, char **argv) } readLead(fd, &lead); - readSignature(fd, lead.signature_type, NULL); - hd = readHeader(fd); - writeHeader(1, hd); + readSignature(fd, NULL, lead.signature_type); + hd = readHeader(fd, (lead.major >= 3) ? + HEADER_MAGIC : NO_HEADER_MAGIC); + writeHeader(1, hd, HEADER_MAGIC); return 0; } diff --git a/tools/rpmsignature.c b/tools/rpmsignature.c index 7a8edb0..6829bfd 100644 --- a/tools/rpmsignature.c +++ b/tools/rpmsignature.c @@ -9,9 +9,9 @@ int main(int argc, char **argv) { - int fd, length; + int fd; struct rpmlead lead; - unsigned char *sig; + Header sig; if (argc == 1) { fd = 0; @@ -20,24 +20,13 @@ int main(int argc, char **argv) } readLead(fd, &lead); - readSignature(fd, lead.signature_type, (void **) &sig); + readSignature(fd, &sig, lead.signature_type); switch (lead.signature_type) { - case RPMSIG_NONE: + case RPMSIG_NONE: fprintf(stderr, "No signature available.\n"); break; - case RPMSIG_PGP262_1024: - write(1, sig, 152); - break; - case RPMSIG_MD5: - write(1, sig, 16); - break; - case RPMSIG_MD5_PGP: - length = sig[16] * 256 + sig[17]; - write(1, sig, 18 + length); - break; - default: - fprintf(stderr, "Unknown signature type: %d\n", lead.signature_type); - exit(1); + default: + writeSignature(1, sig); } return 0; -- 2.7.4