From 485b4abe5fd441c450beebfe3bffba1719233115 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 17 Feb 1998 20:27:44 +0000 Subject: [PATCH] new files --- checks/checkit | 20 ++++++++++++--- checks/distfiles | 5 +++- checks/plain-3 | 1 - checks/plain-3o.asc | 10 ++++++++ checks/pubring.asc | 60 ++++++++++++++++++++++++++++++++++++++++++++ checks/pubring.g10 | Bin 4132 -> 2813 bytes checks/secring.asc | 47 ++++++++++++++++++++++++++++++++++ checks/secring.g10 | Bin 3918 -> 2219 bytes 8 files changed, 138 insertions(+), 5 deletions(-) delete mode 100644 checks/plain-3 create mode 100644 checks/plain-3o.asc create mode 100644 checks/pubring.asc create mode 100644 checks/secring.asc diff --git a/checks/checkit b/checks/checkit index de1bf053d..1246cba96 100755 --- a/checks/checkit +++ b/checks/checkit @@ -10,7 +10,7 @@ usrname1="one" usrpass1="def" usrname2="two" usrpass2="abc" -plain_files="plain-1 plain-2 plain-3" +plain_files="plain-1 plain-2" data_files="" exp_files="" @@ -50,6 +50,13 @@ run_g10 () { fi } +run_g10maint () { + if ! eval ../g10/g10maint --homedir . $* ; then + echo "(../g10/g10maint --homedir . $*) failed" >&2 + exit 1 + fi +} + #-------------------------------- #-------- main program ---------- #-------------------------------- @@ -60,7 +67,7 @@ trap cleanup SIGHUP SIGINT SIGQUIT # some checks -for i in $plain_files; do +for i in $plain_files plain-3o.asc ; do [ -f $i ] || fatal "$i: missing" done for i in $exp_files; do @@ -77,6 +84,13 @@ EOF # print the G10 version run_g10 --version +info Unpacking some material +run_g10maint --yes --dearmor -o pubring.g10 pubring.asc +run_g10maint --yes --dearmor -o secring.g10 secring.asc +run_g10maint --yes --dearmor -o plain-3 plain-3o.asc +plain_files="$plain_files plain-3" + + info Checking decryption for i in $plain_files ; do @@ -124,7 +138,7 @@ done info Checking armored encryption for i in $plain_files $data_files ; do run_g10 -ea -o x --yes -r "$usrname2" $i - run_g10 -o y --yes x + echo "$usrpass2" | run_g10 -o y --yes x cmp $i y || error "$i: mismatch" done diff --git a/checks/distfiles b/checks/distfiles index ad5e919ef..95d9302c0 100644 --- a/checks/distfiles +++ b/checks/distfiles @@ -1,7 +1,10 @@ checkit +pubring.asc +secring.asc plain-1 plain-2 -plain-3 +plain-3o.asc plain-1.asc plain-2.asc plain-3.asc + diff --git a/checks/plain-3 b/checks/plain-3 deleted file mode 100644 index 8a6e6b6a7..000000000 --- a/checks/plain-3 +++ /dev/null @@ -1 +0,0 @@ -Dies ist eine einfache Zeile ohne LF am Ende. \ No newline at end of file diff --git a/checks/plain-3o.asc b/checks/plain-3o.asc new file mode 100644 index 000000000..409b9c2e4 --- /dev/null +++ b/checks/plain-3o.asc @@ -0,0 +1,10 @@ +Stored by G10, because diff/patch have problems with +files not having a trailing LF - and this one has none. + +-----BEGIN PGP ARMORED FILE----- +Version: G10 v0.2.6a (Linux) +Comment: This is an alpha version! + +RGllcyBpc3QgZWluZSBlaW5mYWNoZSBaZWlsZSBvaG5lIExGIGFtIEVuZGUu +=ZQ6m +-----END PGP ARMORED FILE----- diff --git a/checks/pubring.asc b/checks/pubring.asc new file mode 100644 index 000000000..226cd7cf4 --- /dev/null +++ b/checks/pubring.asc @@ -0,0 +1,60 @@ +This is a test public keyring simply stored by G10 so that +it is easier to make diff files. + + +-----BEGIN PGP ARMORED FILE----- +Version: G10 v0.2.6a (Linux) +Comment: This is an alpha version! + +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 +jz83sfwIwn1g8v2gPC3WKbDr+0k= +=OloO +-----END PGP ARMORED FILE----- diff --git a/checks/pubring.g10 b/checks/pubring.g10 index 15e4e32521c70e238f1704450c084d2be4ce116d..17fbe0507184f20fc290422f3e2a38625091d9b5 100644 GIT binary patch delta 7 OcmZ3Y@K~cB2|n`>zHejrSAta@Y+ zPQk7_QMZLNKUm6V#)fZ4k3HHyz&{OAntSziSXVkyak>4&*~o(+OoD#|j7x_mxzZUq zWoP`eorPxr1swzbS%Eb$n!B~t*yduMugvPiG~cV3lm4TDVSoen5;%K5k^W$R^#Fx5 z(+YiTw%CB$pCehi58YCnfe%sZgjyaEyD}`p9{iSVu5-|^bqI8qL8M;QMh+m z`4*|;O+}veOV=T4LjQkv&q&7HBzucD92k(pIU?)>5EwG@RI~+jXmVv`i2)Y_1rs#n zixmfciJ;Gi9|i zs82d|2*s@z08YYIn{H6-QD*<^jnnPLMMmbjibX zK3l!YuVGPPxN&zaD59-mnBN050m1EU=I!FQgrqr>7Jb0xi`4E5vW-*{V`D4)%$;_LhdpeQIsX%rwJIL&u^jv zoHle!?~zU-0O4}7E6wfk73v#GA()N`c>viS9{>am13yv(Wi{8Nb%E@ztU@tD%9pO% zvs{MxDhtD$61BI?CJYN#dS17(@e`mozzH9P#)5Oc47>RXidRkEj`4aYRaC+t5|<%! z8xMQtfu4T|_0m3RxqD0q(5gF(&X|&m(r%fo{DAoXLi0P&9wTFNWnpw>WFTUBAV)DU zAaZ4FWnpt=ATTa6E;V?x3vP97Vr6n5W^Z+Ji01FF$Nci*&VTY9n*=v0qez z&YlL-V1C!QZm(*?XZd5%s5_53-=2A7euU@Q_4JtlaUG37+L8&F(OD4cfTO9Zj0!&w z13yV{Wb28FBVzZ2F*G~|Tv7`o;3B0VFLtQN^H? z9$DE4h=Kkn``Km0A%y&$(MysawXJ=jrfEl5U7DCBYuln3!oTBQ_cw-8R`0 zFAsIl^4EZ7+7Bul=p0Q8WLE}&2t)Ulp`wN%ZkzTNBgemX(Flr!E%2`yQ*^)mse}(7 R^ZL;*l!D8G+b6mu!sz-VUhDt> diff --git a/checks/secring.asc b/checks/secring.asc new file mode 100644 index 000000000..d6c43c3f0 --- /dev/null +++ b/checks/secring.asc @@ -0,0 +1,47 @@ +This is a test secret keyring simply stored by G10 so that +it is easier to make diff files. + +-----BEGIN PGP ARMORED FILE----- +Version: G10 v0.2.6a (Linux) +Comment: This is an alpha version! + +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9MjE +-----END PGP ARMORED FILE----- diff --git a/checks/secring.g10 b/checks/secring.g10 index 6c907c9e96460f9f77417f0c1c1ba47fe983c073..7a93efa9a6da0cb995547d3ca730c98a2aba5c5a 100644 GIT binary patch delta 146 zcmV;D0B!%y9;*?s`T_w+llubKe=3-~YTo_96rckib`841&VI9)oGvd%IBRWM)M_*=PV{~tFvq%J51Y;OQ AbN~PV delta 1813 zcmZwGX*d*!1IO{vjKYws#vsOht?W1_BZfh8Bv(7GG$Rx1%p5sp?HEI`j@*RCk=9X; zoDEB+A=XM`kZVI*j-0s@n(g^N`(mGe`~LI%Uj4q0#0TZ;KOf^mWgQ$Fy8!?~kbZQS zM7hFvL&|87z1HjK)tLDQGF&KOjFnD6Xv!q~im`HT5)JLEU)?Ze8;dRr?uka942P|( zHN|ICF_QyTe&$r~iB;*eZ&x0Ucs#_~c1fpYPHv0*rrjgHm7gawGxJBI1t<`d#o||@ z8b;>u6#)(2C+7kHVjw^|A}_L}za{cx`7NHl+f{Q*%BLj8hDC>ek*x>4ab^6SGErFQ zcoT>*sB|U8VL3l2^WpjlOl3TJCvBK~j^CA;v(&_T@5rh(ac)h}N4fX=zqlP{bJuhd z)rAsqDWL3--7!d)aOM$vqK~fN5Jv^2*xylOa;1&&{)dhC6Z`@EazLI3%@AJD-aI-! z@5`tgSn4*Id6b{^lx#r=Bc8%Cji<8NF~)W4q?EEOZ}I_3n~2W7mF6F%Zq8M!dTC;!hPy zGU5z0oo%eN0u+PlZMta{!cfJ+WqKz;fMg*4*DJD%@eaJr+nE_k^5e#7N? zs9*%N2JE%nR zn{}X9P~yfP8s zs3{|@9c-@Mz+ESW5s(1DV*zkY#Lb{~wDwC$fKyH{b_&I_JR|!b&P%ihbn;jc@*k9giIaI?Z0ofQxeg{PYNL5@kx9TAiw0-&*cSB z8|xaJ{07a%fK~OtJwo&YEqNleKZg~V9mn5zC(~v1&ynukRjcJ1!KA)3&nvVqZj}ty zA6SpeMo^^5@^fv9{SV%QAy!yM07h3aKs`U-uhaoq-?OMt&XciRO66hSn`&YV3?tqd zat(jB_p_S$;6Xp--8?rA8Cu}p^|7Zi(`*30GN3>Fgx1u>0(t&_y}eqt?mf3YHNP~u z@iZ@e>`AfaC$G?;vm0Ae9g*T9Mw#Ft%c=rG@rcNifvA_*T(Yl|#$J5U@!%JANeoPX z#$SR2NR#zzWj+?y32=uiop5Qrc!05Lwg(&cR`h$)D{eP60hwl3$2e-VmpD_G^7dJw zfF#h>yDkHGpIpZrK8LS0X4!tN5oq4YcQIE5;~E3QE|W_=hv+CDktnkTDIQ{>t@{I3 zYYi(Zvfx76Rrluzp zfVYH(?_REMoL-W(Q_N4J3Pb@W?bF(@Az6ax5`-nZh$D6ix9LTNN|E8&Qu#po-_5b3jFgFy2oTZAu3>Y(g)Z8r_ z=p^h&ed1de)PK#L??Ren>YOakod$}NjIuP+{FYfAN+S+qIJJx2iw9H2SWs3CxVQaV zMjE~q6|tr$4j6J#Y;Cqk=~$`Q-{Vl_m9G=2*%2IYch5A|u9sVa?k zt7z7$23R%@OpF)bw5>wKdS`^J9`&}sVQA-;j~~B}byGC0PT7L6s1*h0vg0p4a(DK} zb&vh-O?3RS?kF4&8KSi(H)=R};b=IyPHbtIfz*9U-)^!Znb7x~)b+*r1Fm oGK|ohD0PoBt)YUH()m$hTf1;2b=sehO*f$vLHZVM`BBz?1MDtL?*IS*