* delkey.c (do_delete_key): Always allow to delete a key in batch mode
[gnupg.git] / checks / clearsig.test
index 6cb8c7a..89d3233 100755 (executable)
 #!/bin/sh
 
-. defs.inc || exit 3
-
-#info Checking cleartext signatures
-# There is a minor glitch, which appends a lf to the cleartext.
-# I do not consider that a bug, but I have to use the head .. mimic.
-# It is not clear what should happen to leading LFs, we must
-# change the defintion of cleartext, so that only 1 empty line
-# must follow the headers, but some specs say: any number of empty lines ..
-# clean-sat removes leading LFs
-# I know that this does not work for random data files (due to large lines
-# or what ever) - I hope we can live with it.
-for i in $plain_files; do
-    echo "$usrpass1" | run_gpg --passphrase-fd 0 -sat -o x --yes $i
-    run_gpg -o y --yes x
-    ../tools/clean-sat < $i > z
-    head -c $[ $(cat y | wc -c) - 1 ] y | diff - z || error "$i: mismatch"
+
+# Fixme: we should not only do a --verify but also the output.
+
+
+
+. $srcdir/defs.inc || exit 3
+
+
+# ======================================
+# I can't compare the out because plain-3 has no LF as last charcater
+# but the output has always one.  I do not thinkl this is a bug, because
+# it is clear text and not binary text.
+# ======================================
+for i in $plain_files plain-large ; do
+    echo "$usrpass1" | $GPG --passphrase-fd 0 -sat -o x --yes $i
+    $GPG --verify x
+done
+
+# ======================================
+# and once more to check rfc1991
+# ======================================
+for i in $plain_files plain-large ; do
+    echo "$usrpass1" | $GPG --passphrase-fd 0 \
+                        --rfc1991 --digest-algo md5 -sat -o x --yes $i
+    $GPG --verify x
 done
 
+# ======================================
+# and one with long lines
+# ======================================
+cat >y <<EOF
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyx
+
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+EOF
+echo "$usrpass1" | $GPG --passphrase-fd 0 --clearsign -o x --yes y
+$GPG --verify x
+
+# ======================================
+# and one with only one long lines
+# ======================================
+cat >y <<EOF
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyx
+EOF
+echo "$usrpass1" | $GPG --passphrase-fd 0 --clearsign -o x --yes y
+$GPG --verify x
+# ======================================
+# and one with an empty body
+# ======================================
+cat >y <<EOF
+EOF
+echo "$usrpass1" | $GPG --passphrase-fd 0 --clearsign -o x --yes y
+$GPG --verify x
+
+# ======================================
+# and one with one empty line at the end
+# ======================================
+cat >y <<EOF
+line 1
+line 2
+line 3
+there is a blank line after this
+
+EOF
+echo "$usrpass1" | $GPG --passphrase-fd 0 --clearsign -o x --yes y
+$GPG --verify x
+
+
+# ======================================
+# I think this file will be constructed wrong (gpg 0.9.3)
+# but it should verify okay anyway.
+# ======================================
+echo "this is a sig test" >y
+echo_n " " >>y
+echo "$usrpass1" | $GPG --passphrase-fd 0 --clearsign -o x --yes y
+$GPG --verify x
+
+
+# ======================================
+# check our special diff mode
+# ======================================
+cat >y <<EOF
+--- mainproc.c Tue Jun 27 09:28:11 2000
++++ mainproc.c~ Thu Jun  8 22:50:25 2000
+@@ -1190,16 +1190,13 @@
+               md_enable( c->mfx.md, n1->pkt->pkt.signature->digest_algo);
+           }
+           /* ask for file and hash it */
+-          if( c->sigs_only ) {
++          if( c->sigs_only )   
+               rc = hash_datafiles( c->mfx.md, NULL,
+                                    c->signed_data, c->sigfilename,
+                       n1? (n1->pkt->pkt.onepass_sig->sig_class == 0x01):0 );
+EOF
+echo "$usrpass1" | $GPG --passphrase-fd 0 \
+                                  --not-dash-escaped --clearsign -o x --yes y
+$GPG --verify x
+
+
+
+