See ChangeLog: Fri Nov 27 15:30:24 CET 1998 Werner Koch
authorWerner Koch <wk@gnupg.org>
Fri, 27 Nov 1998 14:33:31 +0000 (14:33 +0000)
committerWerner Koch <wk@gnupg.org>
Fri, 27 Nov 1998 14:33:31 +0000 (14:33 +0000)
checks/ChangeLog
checks/clearsig.test
g10/ChangeLog
g10/armor.c
g10/mainproc.c
g10/sign.c
include/util.h
scripts/commit
util/argparse.c

index 3b87c65..83afdd6 100644 (file)
@@ -1,3 +1,7 @@
+Fri Nov 27 15:30:24 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * clearsig.test: Some more test cases.
+
 Sun Oct 25 18:19:35 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
        * mds.test: Check whether TIGER is available.
index 69c2544..29407e8 100755 (executable)
@@ -15,4 +15,24 @@ for i in $plain_files; do
                         --rfc1991 --digest-algo md5 -sat -o x --yes $i
     $srcdir/run-gpg --verify x
 done
+# and one with long lines
+cat >y <<EOF
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyx
+
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+EOF
+echo "$usrpass1" | $srcdir/run-gpg --passphrase-fd 0 --clearsign -o x --yes y
+$srcdir/run-gpg --verify x
+# and one with only one long lines
+cat >y <<EOF
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyx
+EOF
+echo "$usrpass1" | $srcdir/run-gpg --passphrase-fd 0 --clearsign -o x --yes y
+$srcdir/run-gpg --verify x
+# and one with an empty body
+cat >y <<EOF
+EOF
+echo "$usrpass1" | $srcdir/run-gpg --passphrase-fd 0 --clearsign -o x --yes y
+$srcdir/run-gpg --verify x
+
 
index c4e5da1..20c5abd 100644 (file)
@@ -1,3 +1,7 @@
+Fri Nov 27 15:30:24 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
+
+        * armor.c (find_header): Another fix for clearsigs.
+
 Fri Nov 27 12:39:29 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
 
index 91eb551..78656ba 100644 (file)
@@ -405,10 +405,11 @@ find_header( fhdr_state_t state, byte *buf, size_t *r_buflen,
            c = 0;
            for(n=0; n < buflen && (c=iobuf_get(a)) != -1 && c != '\n'; )
                buf[n++] = c;
-           if( n < buflen || c == '\n' ) {
-               buf[n] = 0;
+           if( c != -1 ) {
                if( n > 15 && !memcmp(buf, "-----", 5 ) )
                    state = fhdrNullClearsig;
+               else if( c != '\n' )
+                   state = fhdrREADClearsigNext;
                else
                    state = fhdrCHECKDashEscaped3;
            }
@@ -693,6 +694,7 @@ check_input( armor_filter_context_t *afx, IOBUF a )
 
       case fhdrNullClearsig:
       case fhdrCLEARSIG: /* start fake package mode (for clear signatures) */
+      case fhdrREADClearsigNext:
       case fhdrCLEARSIGSimple:
       case fhdrCLEARSIGSimpleNext:
        afx->helplen = n;
index aa90302..559b057 100644 (file)
@@ -278,7 +278,7 @@ proc_plaintext( CTX c, PACKET *pkt )
        md_enable( c->mfx.md, DIGEST_ALGO_SHA1 );
        md_enable( c->mfx.md, DIGEST_ALGO_MD5 );
     }
-
+    /*md_start_debug( c->mfx.md, "verify" );*/
     rc = handle_plaintext( pt, &c->mfx, c->sigs_only, clearsig );
     if( rc == G10ERR_CREATE_FILE && !c->sigs_only) {
        /* can't write output but we hash it anyway to
index 52f36f9..ffa72c0 100644 (file)
@@ -608,6 +608,7 @@ clearsign_file( const char *fname, STRLIST locusr, const char *outfile )
        PKT_secret_key *sk = sk_rover->sk;
        md_enable(textmd, hash_for(sk->pubkey_algo));
     }
+    /*md_start_debug( textmd, "create" );*/
     if( !opt.not_dash_escaped )
        iobuf_push_filter( inp, text_filter, &tfx );
     rc = write_dash_escaped( inp, out, textmd );
index 03ac8ed..fdea003 100644 (file)
@@ -46,6 +46,7 @@ typedef struct {
         int stopped;
         const char *last;
         void *aliases;
+        const void *cur_alias;
      } internal;           /* DO NOT CHANGE */
 } ARGPARSE_ARGS;
 
index 18e5400..d74747e 100755 (executable)
@@ -15,7 +15,6 @@ for i in `find . -name Changes -print`; do
        echo "$date  $name  $addr" >$dir/ChangeLog.new
        echo >>$dir/ChangeLog.new
        cat $dir/Changes   >>$dir/ChangeLog.new
-       echo >>$dir/ChangeLog.new
        [ -f $dir/ChangeLog ] && cat $dir/ChangeLog >>$dir/ChangeLog.new
        echo -n > $dir/Changes
        [ -f $dir/ChangeLog ] && rm $dir/ChangeLog
index 29870e9..ffda572 100644 (file)
@@ -148,6 +148,7 @@ initialize( ARGPARSE_ARGS *arg, const char *filename, unsigned *lineno )
        arg->internal.inarg = 0;
        arg->internal.stopped = 0;
        arg->internal.aliases = NULL;
+       arg->internal.cur_alias = NULL;
        arg->err = 0;
        arg->flags |= 1<<15; /* mark initialized */
        if( *arg->argc < 0 )
@@ -401,7 +402,6 @@ find_long_option( ARGPARSE_ARGS *arg,
 {
     int i;
     size_t n;
-    ALIAS_DEF a;
 
     /* Would be better if we can do a binary search, but it is not
        possible to reorder our option table because we would mess
@@ -412,12 +412,19 @@ find_long_option( ARGPARSE_ARGS *arg,
     for(i=0; opts[i].short_opt; i++ )
        if( opts[i].long_opt && !strcmp( opts[i].long_opt, keyword) )
            return i;
-   #if 0
-    /* see whether it is an alias */
-    for( a= argds->internal.aliases; a; a = a->next )
-       if( !strcmp( a->name, keyword) )
-           return what_do_we_return_here;
-   #endif
+  #if 0
+    {
+       ALIAS_DEF a;
+       /* see whether it is an alias */
+       for( a = args->internal.aliases; a; a = a->next ) {
+           if( !strcmp( a->name, keyword) ) {
+               /* fixme: must parse the alias here */
+               args->internal.cur_alias = a;
+               return -3; /* alias available */
+           }
+       }
+    }
+  #endif
     /* not found, see whether it is an abbreviation */
     /* aliases may not be abbreviated */
     n = strlen( keyword );