From e2459be7e1c9fd864c94f7f8ec1fb26265b3c792 Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Thu, 8 Jun 2017 08:27:49 +0000 Subject: [PATCH] - dnscrypt unit tests with chacha. git-svn-id: file:///svn/unbound/trunk@4216 be551aaa-1e26-0410-a405-d3ace91eadb9 --- doc/Changelog | 1 + testdata/dnscrypt_cert.tpkg | Bin 3158 -> 2966 bytes testdata/dnscrypt_cert_chacha.tpkg | Bin 0 -> 3400 bytes testdata/dnscrypt_queries.tpkg | Bin 2664 -> 2667 bytes testdata/dnscrypt_queries_chacha.tpkg | Bin 2885 -> 2884 bytes 5 files changed, 1 insertion(+) create mode 100644 testdata/dnscrypt_cert_chacha.tpkg diff --git a/doc/Changelog b/doc/Changelog index 0a3e01002..b3182e541 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,5 +1,6 @@ 8 June 2017: Wouter - Detect chacha for dnscrypt at configure time. + - dnscrypt unit tests with chacha. 7 June 2017: Wouter - Fix that unbound-control can set val_clean_additional and val_permissive_mode. diff --git a/testdata/dnscrypt_cert.tpkg b/testdata/dnscrypt_cert.tpkg index 5f3ad0ae7f23d487d36986e2e342b50d4939f95e..4263b9347e0879ac5747f06e42be7a4626a35217 100644 GIT binary patch literal 2966 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 literal 3158 zcmV-c45{-UiwFRI&M;X31MORHY$L@L_W`FWn`=u|RkS*groQOH>F{R%dF}Y_LUNAN zJIXmZ$0oU8&e_=GcoTcqx4VuL%2m+Pen4ueidwZFD0f9F0;CE=MUkKecxzN8tB zrESoUT6Q}WYA+R5&A-Uc)1`|l11DHz^S#deD>(l`SXG3G8e#JvQN#cdE~*ym&=o%a z|LZ>gd+nKjoa)~D{EIid6{wH=CUXycxqjQ%UN|!Ur}rK`vfcW1=+e?^{I}LrExKhH zo8VuPREB?5jzknegmy8as8R?2?VvqmPbfrI&3P!ahucGJvu5QfaY~d_G~1yTSpZuV z^)e;(5;chK^xD{JQSNpUDiWUW z8(f1NE!%WOk0z?h*BeVniKnjIwQ;Of%Kx%nzc1_o9d)V*g}tY2Ec?+P_qF4wvXT@O&n z{GhH`1#lBIM;Q#3!w!bc_1p?va_Pi)Iyp{4RnpL6g)h6^$w0AQ;LGMLkp}jPWUp(q zqr-=KzTP|>tndo!s8!MCDRF0>;efMgfrKdOwfhE9dUmj{x5a?HeZ78rdbH8QR~B2d zZ1%lAEv8{zTWYZX!4)G!ZO8zr&9G9#bTwnftQiFcBf#&BmY<)su!dva>o@Y0VXD41jk8i6q^Bxc

061c3IfL^lIhfm+~EZD z;f@WZ<41^D&6@>EPB}|e_(Y~8Gd#wn5@WZXAjeZ=Xo#faBsrQ$rAAZS(C{sp@ib&o z)uo(X;Kmd2^wH5IIi7)p4hmeoUhg`Z>>6sc3?;`W5~)UgmniU(z{>)!2%a*D!55<93;YQER{{I;Oz(p zNCEc5C(@GFLTfZzCuusQ*>bLje@sJ>y6%+F$@opZZhb$yEKG-JH33op$KGDji{tF&3MPvq zYns&$HLhJP>eMU)EKAYI7|Atz-j4!R%UsY4)WT$`FFl#&J+5&!Ag2W5)t6a_JX

    FwC?#9jP0}=6_J;Fy>YRm0veaK>otey`Irxey)Ndm(RHuN)h z#}fKiG|HS8JqF<*Ftjj)i3}Z#mogI7nSV97D>E5%Qw2XnhMAcn@S1HNt)#G zLPEw;b9oAznT?gwC&%Zf3!FK~w&BGv`UxPKiys++*A<3TsRgObtI*93psNT+dYnnb z47#J-f08YctO31MnPy94WiG?qNMmk@h=|tw^+OdVa;y{fk1R?<3}%N8?`NDQnV&jI zY?Ro#drII}vU)^BQ2VY@3KHOQ#F$u%SYV zmRa%pd0Y{|TSzlA-oE0(VAZlo_|&7SlUjbJQ_F&BP>%DCe%gEfx7qn`!Om}4#%90& zDB-a8{AWZKMUg%KrF5SEY6~6KY?_38C)Rof%-sf~)lDM?;Zxv-DKzO-hgCEZDwace zQClnXT->4>b{U4SA0s1{PL6?P1(}FKOo+mZ#1rEXOksMtW0>T?n_4lFs8lqgM$670_WgF)m&y4AUw#3O3X)myXbKHO7ruD~EuOv2kOj?X0SY zIxbCDH?VWoq1xgI25aCvrr9w1oc9P}=uU_tFih_z9`5p6v_b)*P_U8z4SG-N z4F);R2SdzF7yT@d8u)uuj4V;RwZXH}iUGHF@phT94b#fjdu*DA*ch6pOBj&hYyDZwq0j64((4?4KBa9FL2xemAyjx;A{n1KH2-E}ne!gSYS9@tV)@3S+W zul~9Gn)_oLV1k<7o}i+v>Q%)EH^ z$M=5EJ#O*ZC(bGF;QPcwrMc}MdxzFs|C@8aiz4H~@bB*bR9N^0QI#Wd2mkFLhX1Pq zfe-ILa0Y*V`T2iOK7Qt<>0On%%WMKR)@0ll;TAul;t{ zeP^G3=@{&d49(a7tW=gf24ah_{#Zr?t1l|>;Cc~O*~w^|GIt3PoBiz zE$;W)CtrB`48Erx+fBB6>>XM=|KHa2KipaW+e!ZV|JS?!w!7=etDfurnX>b>FPy(- zB&weaTr-pT(GTvKDL(bA7W?(HJ0DVC+4<22@4rXi`qkNwo_VQIL|bfwY%0lLvEc>quV02--OEC2ui diff --git a/testdata/dnscrypt_cert_chacha.tpkg b/testdata/dnscrypt_cert_chacha.tpkg new file mode 100644 index 0000000000000000000000000000000000000000..1aefd0a1b25d2f643b064ea4489667a52df4ffbc GIT binary patch literal 3400 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 literal 2885 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