mods for new Header-style signature and HEADER_MAGIC
authorroot <devnull@localhost>
Sun, 7 Jul 1996 22:13:37 +0000 (22:13 +0000)
committerroot <devnull@localhost>
Sun, 7 Jul 1996 22:13:37 +0000 (22:13 +0000)
CVS patchset: 732
CVS date: 1996/07/07 22:13:37

tools/rpmarchive.c
tools/rpmheader.c
tools/rpmsignature.c

index 770ef6c..254b528 100644 (file)
@@ -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);
index c0eb66d..2b883f7 100644 (file)
@@ -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;
 }
index 7a8edb0..6829bfd 100644 (file)
@@ -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;