cvs-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Cvs-cvs] ccvs/src ChangeLog sanity.sh verify.c [signed-commits3]


From: Derek Robert Price
Subject: [Cvs-cvs] ccvs/src ChangeLog sanity.sh verify.c [signed-commits3]
Date: Tue, 03 Jan 2006 18:09:25 +0000

CVSROOT:        /cvsroot/cvs
Module name:    ccvs
Branch:         signed-commits3
Changes by:     Derek Robert Price <address@hidden>     06/01/03 18:09:24

Modified files:
        src            : ChangeLog sanity.sh verify.c 

Log message:
        * verify.c (verify): Accept -p option.
        (verify_fileproc): Send signature to stdout with -p.
        * sanity.sh (verify): Test `cvs verify -p'.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/cvs/ccvs/src/ChangeLog.diff?only_with_tag=signed-commits3&tr1=1.3328.2.13&tr2=1.3328.2.14&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/cvs/ccvs/src/sanity.sh.diff?only_with_tag=signed-commits3&tr1=1.1105.2.3&tr2=1.1105.2.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/cvs/ccvs/src/verify.c.diff?only_with_tag=signed-commits3&tr1=1.1.2.2&tr2=1.1.2.3&r1=text&r2=text

Patches:
Index: ccvs/src/ChangeLog
diff -u ccvs/src/ChangeLog:1.3328.2.13 ccvs/src/ChangeLog:1.3328.2.14
--- ccvs/src/ChangeLog:1.3328.2.13      Sun Jan  1 23:12:36 2006
+++ ccvs/src/ChangeLog  Tue Jan  3 18:09:24 2006
@@ -1,3 +1,9 @@
+2006-01-03  Derek Price  <address@hidden>
+
+       * verify.c (verify): Accept -p option.
+       (verify_fileproc): Send signature to stdout with -p.
+       * sanity.sh (verify): Test `cvs verify -p'.
+
 2006-01-01  Derek Price  <address@hidden>
 
        * client.c (sig_cache): New static global.
Index: ccvs/src/sanity.sh
diff -u ccvs/src/sanity.sh:1.1105.2.3 ccvs/src/sanity.sh:1.1105.2.4
--- ccvs/src/sanity.sh:1.1105.2.3       Sun Jan  1 23:12:37 2006
+++ ccvs/src/sanity.sh  Tue Jan  3 18:09:24 2006
@@ -32715,6 +32715,8 @@
          dotest verify-init-5 "$testcvs -Q ci -m newfile file1"
          dotest verify-1 "$testcvs verify file1" \
 "$DOTSTAR Good signature from \"CVS Test Script $DOTSTAR"
+         dotest verify-2 "$testcvs verify -p file1 >tmp"
+         dotest verify-3 "cmp tmp CVS/Base/.#file1.1.1.sig"
 
          dokeep
          cd ../..
Index: ccvs/src/verify.c
diff -u ccvs/src/verify.c:1.1.2.2 ccvs/src/verify.c:1.1.2.3
--- ccvs/src/verify.c:1.1.2.2   Sun Jan  1 23:12:37 2006
+++ ccvs/src/verify.c   Tue Jan  3 18:09:24 2006
@@ -373,9 +373,17 @@
 
 
 
+struct verify_closure
+{
+    bool pipeout;
+};
+
+
+
 static int
 verify_fileproc (void *callerdat, struct file_info *finfo)
 {
+    struct verify_closure *userargs = callerdat;
     const char *srepos = Short_Repository (finfo->repository);
     Node *n;
     bool bin;
@@ -391,7 +399,25 @@
 
     basefn = make_base_file_name (finfo->file, e->version);
 
-    retval = !iverify_signature (srepos, basefn, bin, false);
+    if (userargs->pipeout)
+    {
+       char *sigfile = Xasprintf ("%s%s", basefn, ".sig");
+       char *fullsigfile = Xasprintf ("%s/%s", finfo->update_dir, sigfile);
+       char *sigdata;
+       size_t buflen;
+       size_t siglen;
+       
+       get_file (sigfile, fullsigfile, "rb", &sigdata, &buflen, &siglen);
+       if (siglen)
+           cvs_output (sigdata, siglen);
+       if (sigdata)
+           free (sigdata);
+       free (sigfile);
+       free (fullsigfile);
+       retval = false;
+    }
+    else
+       retval = !iverify_signature (srepos, basefn, bin, false);
 
     free (basefn);
     return retval;
@@ -405,13 +431,15 @@
     bool local = false;
     char c;
     int err;
+    struct verify_closure userargs;
 
     if (argc == -1)
        usage (verify_usage);
 
     /* parse the args */
+    userargs.pipeout = false;
     optind = 0;
-    while ((c = getopt (argc, argv, "+lR")) != -1)
+    while ((c = getopt (argc, argv, "+lRp")) != -1)
     {
        switch (c)
        {
@@ -421,6 +449,9 @@
            case 'R':
                local = false;
                break;
+           case 'p':
+               userargs.pipeout = true;
+               break;
            case '?':
            default:
                usage (verify_usage);
@@ -431,7 +462,7 @@
     argv += optind;
 
     /* call the recursion processor */
-    err = start_recursion (verify_fileproc, NULL, NULL, NULL, NULL,
+    err = start_recursion (verify_fileproc, NULL, NULL, NULL, &userargs,
                           argc, argv, local, W_LOCAL, false, CVS_LOCK_NONE,
                           NULL, 1, NULL);
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]