From 744be00cbc567c0c5ced7239c1f1cd10b75aca56 Mon Sep 17 00:00:00 2001 From: vladdd Date: Sat, 7 Jun 2014 20:29:18 -0400 Subject: [PATCH] Initial implementation of authoritative delegations. --- .../client/metadata/current/root.json | Bin 3756 -> 3756 bytes .../client/metadata/current/snapshot.json | Bin 1380 -> 1380 bytes .../client/metadata/current/targets.json | Bin 1936 -> 1960 bytes .../client/metadata/current/targets.json.gz | Bin 1202 -> 1215 bytes .../metadata/current/targets/role1.json | Bin 974 -> 974 bytes .../client/metadata/current/timestamp.json | Bin 924 -> 924 bytes .../client/metadata/previous/root.json | Bin 3756 -> 3756 bytes .../client/metadata/previous/snapshot.json | Bin 1380 -> 1380 bytes .../client/metadata/previous/targets.json | Bin 1936 -> 1960 bytes .../client/metadata/previous/targets.json.gz | Bin 1202 -> 1215 bytes .../metadata/previous/targets/role1.json | Bin 974 -> 974 bytes .../client/metadata/previous/timestamp.json | Bin 924 -> 924 bytes tests/repository_data/keystore/delegation_key | 52 +++++++------- .../keystore/delegation_key.pub | 14 ++-- tests/repository_data/keystore/root_key | 52 +++++++------- tests/repository_data/keystore/root_key.pub | 14 ++-- tests/repository_data/keystore/snapshot_key | 52 +++++++------- .../repository_data/keystore/snapshot_key.pub | 14 ++-- tests/repository_data/keystore/targets_key | 52 +++++++------- .../repository_data/keystore/targets_key.pub | 14 ++-- tests/repository_data/keystore/timestamp_key | 52 +++++++------- .../keystore/timestamp_key.pub | 14 ++-- .../repository/metadata.staged/root.json | Bin 3756 -> 3756 bytes .../repository/metadata.staged/snapshot.json | Bin 1380 -> 1380 bytes .../repository/metadata.staged/targets.json | Bin 1936 -> 1960 bytes .../metadata.staged/targets.json.gz | Bin 1202 -> 1215 bytes .../metadata.staged/targets/role1.json | Bin 974 -> 974 bytes .../repository/metadata.staged/timestamp.json | Bin 924 -> 924 bytes .../repository/metadata/root.json | Bin 3756 -> 3756 bytes .../repository/metadata/snapshot.json | Bin 1380 -> 1380 bytes .../repository/metadata/targets.json | Bin 1936 -> 1960 bytes .../repository/metadata/targets.json.gz | Bin 1202 -> 1215 bytes .../repository/metadata/targets/role1.json | Bin 974 -> 974 bytes .../repository/metadata/timestamp.json | Bin 924 -> 924 bytes tests/test_repository_tool.py | 8 ++- tests/test_updater.py | 66 ++++++++++++++++++ tuf/client/updater.py | 29 ++++++-- tuf/formats.py | 1 + tuf/repository_tool.py | 29 ++++++-- 39 files changed, 282 insertions(+), 181 deletions(-) diff --git a/tests/repository_data/client/metadata/current/root.json b/tests/repository_data/client/metadata/current/root.json index b1b34fa314f9ea032a9ac600bf4a5ff167642ce4..f4f0b55d5e6f7847fca8570cfa1fec44ca0228dd 100644 GIT binary patch literal 3756 zcmd5<+peoP5`8~kv9(__t!<32{gx{sB;-b}lTphC69@?q$PHTk@8e{jbJQA*X1eD* z^h5+jWxGzB9pGTx`+axGN({`1@4zr4Nus=sgViK^m2Tiyw0L=r-MY7${e zlOk#;U;;lxzM?`9pDGYw6POSyf_z8_fRso|r7|f-?|*ywJE=>Qy&TTw&H23f(_}vX zI;10b{*i(P3G^C6gq#P2AdV#@j2fnt5UBui29-jPNJc2oX2J|?GDdM2`W*XM_(J)J z5bgs21b~K5nL>e*9CKfo3<6*>0YYjB5RlL`kQo>fBc^;1a84mNl_7m@h=Ah&QJ`H= z%%lL+4>6Q5Y`O44>Btakml3;~-C=KmFnkvv6 zftbi33@L+p0y0AqQp}|kQc@`lZBl^>xS$OC2oUm2k=`L^Cc!#s1k+GxN2V}!un>_j zz?^^}REEz1qd_P*M0!sY_yYJy?-%L`iU29iK#{^K zoTDVR_#L#G({8WX9JiZO)_jh)_m2MEZSwVbkVWe|BA2nVh{vOP^4O)v&ZU?i^U7Qe z`>^iK^V|h$XrEhE2b~g}%4+3|>)KM6>1Kc9y}IhoP*a{P1d(oaQ}q|4 zKA#`9&WNp-{e_{ThZi>qS6PXgSvhhHE2M`4AlR$JxaC#*^U{d$E*-8PV_+{f>)1xB zz47j~gW6FzZJjK$WA&^ETC6Je=jj%AXQDNoY%E@!r)k(@9-A$uyEH>7t(?5;%vZy4 zK^8UN7-Vf8~SA713u%ZJ4Z-weiCq*cU!H z%?Dc==cpP~73IC7yPYjJ-tz2^Fj z+4_W{{J5o8m0;%zjdndn+ruKEU63=-KH18n!z3%!d<P^%&RozGYrp$wkU@Yk3$* zHa?JXyh}HmGU?jFpESHhkqaZfwn;j64@5*ZcGK?R0$b=KABu(Fot%)FB$t6FWSu6V zyIqfk&OtJAddCY>N{xbTLA-#pz`yYw;d`3LXF{H1MG)^!2Pk6XWJrJ&Bn1G=@XX0NW> zR`Uc7WO=i0$)hq))v4QH%R^l>bxHZe5aUrWTb_>Rb~QO#%M~HRTTSoD)bVp#grMDZ zl9qMcj4pfc9LHkcA5>s|Bj={b@6R?`cgZ#wA<#7jM&WU55nlq}pkb8H4=dvs#`#>j z)6Ov7dKRC-Zj^RLM_gWoEqW2yrHensR!>d$5@bboeBCfU#a8hYa=-6vaq#W>@w|Ne zaMOIX;ir;(db>ng2}arRsV9x6>1%8Lop5|b_4U&8`#^qJ6#k(=E~410%XcaIZ{ql2 ny8mNw#3xl=#3}y|rTJlo_%D&@;ZMNaR8huR`dPEzzWnx2-VHtB literal 3756 zcmd6qS+lB0635@~r#Nw5oepcGs^~XF+{ImwjuRa~6$%0(tJ2Zmy-Ux%9X%5hGu?9^ zdJJ4B%Bp{6{>V&z{_^&o2dBg-%1q|(Kfe9_%iG(}>izb9k&i&Ak$1_Mkkr*A_ZUNj zU_f1@>k=Sc0}wIC1(^AQ69hQc)R)hZuTjsVSW-yY``=#c#j-eGUkff*#%g8!Fkh{{ zUQ!C48&T;3M3623!BT_7bp(VOlhng5;ywo&cA4&~Wd%W!awwG+U)P0)T%Q0(x)68_ zQ{d^Y<`U_+9?=-le2=-FWC(I1kOq7RknmjJ)pX!+h;#sfBmf}-Jzqz_LB9K(z>u0L zT#c#efKw=>=PMOR0z%X->QBC>N#a3>1i>0`T&ZInNC)TwGnaYX;hvHpG$NT2=W^Z0 zQgT9x=VRTK3?mEyKmZWNl_^lUkrD=!{lJ4*_{ymsg+4`?Bcfy>A=J7=gVgmsU%6Il zp47OGA){&|;_K9bp65U&iE@}Hh4QD6${Rj@4kKUr)>Yo6j7t?#j4>5RnNJ9$Ncb98 z4i_8(M-x5(!WXWxNCjCFNFok(M;QhvV+3ewLnVs=$tb~07X(mGg@$04Gl&rs5c@=6 zN*UH%h?FyQs7diOR65Aj6(vMLgpsC6<|=!1@vb=e<;&YY6fZ9*<&%~tjPE}ck5oPp zSzfQj3z~QDn&d%V$fWowPn8`mO-JXJX_Xoak;fRdJi7TUi-0P*A zrn%OD4X#zDksx=KLhzROj{P`>I_yJC%xxZd`$E(+sAw6Z0WMMmfB1n z%5=~MgU7V4SXeqO$8PNVy-VBoy?Z9(6okEtgpJk7uXg5f<;i;3H5Nwan7o2x+1-DQ z*OTEF#p>fT?|par{L1GGpuYyI`)!HI-f7w8nY5ZH4CX_2Oajs0)a#rYleit%ozdv9 z+{VL2xb2R`nCkvLK5ORvqZBk6t(~;&mWA1yRkLv)8jdxX9+N|xx;{h)w)vgow$aWAL?&Ra67q<4vvsj9Cda+?yjfHxFaGl z95(&Kf=w#G`yGDYJ}_ZuL6d}wbp-ki-jgz%-dyh#b%?_Dm_+{zRuXWBae=TZK-3dJ z*9lcg%ZDn-Ll-!{PCUej04fx~^9A9$s?!)sB$+CZzvZE4q5o^JI-B^CU(JnmvquNN z8sh9UQ~@b3$vVQ_ML6RFQX4wo!-KzDnf;}C>9R(z%_3QPbC9*WV%fbm%`gGAHlOVu zhoW_hj)^nxh~QN3wuhW#9fmi29-iBWMSHPAx8$^l>^Qxow3nRqUK8II@h}97eSI+L zdR}(g=$MFYp16-qw`diU0qL1G<-C|xTirL-Gla5ct$i4>YiskQMsiF0F6?UWUQ*vs2^GK%s^@>uof+G!Oep$egEb8|gvTI=)58TO)r z&}C{DmoU~28@>9Dz%dXMu3FEWb%ASqf?<-p%zCC_CA3naj zXuituvy*(TR-9EQc)mu@77ad!zLw_SHI6S;Umtq@Nyzu6**_$taI%vuerrYljgIeb nPXCyWAeMRI#OZ$s&39*r|Dr@){sg9ySsq-I&zSx4<(FRp)5AQF diff --git a/tests/repository_data/client/metadata/current/snapshot.json b/tests/repository_data/client/metadata/current/snapshot.json index 017cb34e3f9804c3db056525204f5d1f78e395be..3d2aa1881dd6f26c198d6efb8656afb2e25e2e09 100644 GIT binary patch literal 1380 zcma)*!EPKk42JK1ip89pR1`&0$}MkD)IGH*3X-C{PE)Vp-4;!QynDIh1Sn7#FfcQR z(G2AfY>Rx9I-F6o zP7AZ4$X$fP-MA>M#28}jhQk0b%Ak~&OrcdBCM`&Av zE7rxdV0FU9RZtd2@si5jCK<)@)p|%{A8H^XxtDCKS-C^CCG0s7retra&RTj7CdTZ` zm;w|l$qI^*%6kqdL>5>;K++>`>F?rVwK$*>VqlNv(R~m>@bpk47+!~sl{<3N4lFZ9 zppf}Ub5b#_%0QHIr0N)ROHRJr9DYq+b|~XY%N54$x67x;xFT}9T{f#ov$j z&)9CYV0lv@ub)bJw_iU$f0W$m*E)yo>2$ih{ct`#e0y`)j(R@s=Y+I_V0wiYu{@7O4lWlTcD!cAvj> z|BoyfTwaj%_U@lo8J6+&iCus*N9+O8V&Cz<3Un z=I75}pZxjmuw5SRAMN_*b6mD}hhOdvhtK&tY`@2+2hYkD0b(p(Xd?FMpjvx#S-8}3 zfGw@FaCPXqU@otsKuj1Vc*>4;{&;+UJidSP!}0iaDIMGzNznn!9tBD* z9!+|ItV{-rYC3|bGeuA(jgTl!rq@Aiu=-dWldG_3^yRCU>0JN`FvW;TDUQ0B!>wS|+BAGf$Vi8y0=8UQ+$N?b(o&nfECR2!)U~EJ z09G6p02Rt=ow$KbU8_z~ETuykHVRlb@D^MxXC zU?%|~Mo#Z4g_(M0hize)$y7n<%c_@REd?`SpzbgRRZy(Aaa;m2L~AUibqPvtI$L&P zh1q7-b<}Wi;iWy>wkKz3OYu@(+3Q~y%aY|r-F5*s z@Jno;m&#*=?~sO<0Xh86IsEee>-#UievHDCwJ|BDeaskqQlxUu076J7Aq7%8qG9Ps zn1DG)31mZL?F|b1H~n@9DU=#Htu&xESrSUJI-moaM3l-~qg*s1U^0|dE|XGd!GLu> zs;ohP#pH4#C6S{p1+<0|Glgu)rRa=HO;M+b`_Wy;AW%v|shH2_${ zG3ZPhat=~x)T|>AfR~A~)0|Aq-neqWN6NyPtN^kIE)`0$l07GliChc?I)U*_sl3ld zN2#rFgasJHA!+HO6w*j93qEO-07@BA`jfJ@++uKL2bqKezAQX2ruvK1L3@O?}5nZ|nk0qz512{wMrOjSthg@no z#UPU^Dw8tg&^t>d5upWOQI{NfO$L23oWW?aQ5NrF^qi$dWq`{sU|W23D3}#$G{#8E zStKjpd64GquWyGROT>nZOTwtAI0cmjqA7`i3Ar?pg)y)!S(}m>BfG*Ylq;VjgRuGS zr|&)=R&BZ*PAdJ_xi}kVp@z%nyW46vX^hRjwPBn!JDudJuK)17&btn~>>E$L)B4%$ zVSYLA+xGLten*|@dbYc1Pj9;Q$2h5)x7Etf@#dtnO~?1=)8ppgY_h#dwf@y+cXjUL za$Y-I<5D*dv~rF1d7Ml-mEY{Q-h8O$Pft(N)@_B8_JTe=ye{vqWizd5<@L$bU$94wNLL5PDT$s9Cdcr{o87|+^=f8`f_kJ?>OkmI?nts zJlEZMBgA228b;V&OpBcDxWA4~d}NbbH@f%uvh3;6q`JPXHoRQSTMIR>ZTiDaqbc{7 zr`u!d590E8&S}ehdS5x`|9t53YimKHAzbTa_paOSPWCUeBIEAu`=h}RDdNLsU4~!& Y_<6H_=HK7?M?e1W2>;M1& delta 1112 zcmbu7OLF2j5XLKy$s(IMLZ+s&NwGj`y;@lfVDJkJ_<=ED(^5;u1N>pIjj=cEvP;#Z ze2MIHfgC5th-R)3l@@w-_xJnyueYDye*XCbS{=wl#30cL!t&gUi0E|o93UG-*`wqH$s~|MdC*pR1Vb)r zA&JZMDTtJuve{YVRR$*z9Asp}C1#caFsG7Ki4u<#b4~!>mzCPbWV5$EX|GgZ|3yz! z?1DnmpvfK$c` zOp$VuA_W9e*@V3}KvJ``p+pwCyd=(+g9Q_aoG3y<@Wc?M%V1(r1XkpN#02CfZ=Gevf6VlEQQfYCl*N;_W&Y;a)n@$ z>Gh}Ye&6c`QQSPM?k3l|yN`>bRnJYUPxGgqIIUeT)gka?W-oS|!}feB>*wwM+{o78 zvNQU$9`pX9@};K#;dcUuP?cjM7m?6%XY*}Gd@-W*KKLvwCBmTcm{ZU-hP4S z-U>^B(Ntx7l6dN_D#->%LE z9b3BXeb-o@MJkRn>gf~Tk9oJSuq_wWe;Ul)T{o|+F`f^$=!p-frUZe4_KOU~<%hS8X z`m(ipuEMa>-yIK@SIbtjQJsu$Zyt}H2`{dW)1-U7JKN4%vu00000 diff --git a/tests/repository_data/client/metadata/current/targets.json.gz b/tests/repository_data/client/metadata/current/targets.json.gz index 9e6ad7d2a323694978a84d59aab57ecc347ce781..874b7b776cd2fd24a0cc20229b4af25df0f9429c 100644 GIT binary patch literal 1215 zcmV;w1VH;AiwFRUq?1zu|E*P9QyN(ie)m^Uye3)C{gSsq&_!+vg5r|eI+s3x;(#!M zB;|ik1BPT%wN?AD)G(JmXS)0A{`#A5C#CXgI?i43vV>LnbLp>>Qt2E1OXWw{P9s{% zj_4?*^GtE=Qn1>y$Wlti5JD9--bTh<5I|KV!iJO_HBnjzT#G>JP$r9XEA4Qgofxb zJP7V6mqf*Y`5NLm)s7M>sHT{F}prGAZ#TFbbbcibRV7-$F8J!Rvu#=8kqeKKvWzsCE z0BB3zS?U>L^h`t*w2~3qK{zo1v3V6Wk0NLeV z4?+kUQzBkcZKxw(mL)@EI(phW{*lCT znAdLhb6=^vc=5Ao*zNnY`&DWe^>*p1Uuo9QN{!lZZye>Vdc9JA$l8_h3d4Jp=CiFdx<87tefL)&UP+d|U-C9!u!+GKgKf+@T2Qt3N>OXX>No&=1P zjS>!|m)2REk_?Au7K2qm0n@=6LInjEKzPlG0%EzNl5%RLBqEeQ9Ps9GlP?Z{*Zr*D z&puxD`)^B_!9LEJl)`yOjV53a(-Lot7Rd(3lH`!Ap&_y;Bcp^{CKR=XNzh&p3IQ)0 z9f?tMm9&zUC#H#Enk5rtK+Hr5Gbv(boFE?X5K?5!TD;>vs$`Xo!gB6{-Pi0nSX^P8 z6BiPfD)`8h4Tj+<)*B&%6p(13xBxUrr)cC@I&(HkPpk`yC1R{}3_OCmCL}Tr_=^-I0r4T4NfZICK?4$$w8v6{ za)Fx|jWsUBGK%5#r1a&(n<(R6EqgJR|Jpn+<6a^ISdHUmeb7xg#917}X0j;OZyOJ) zeSavGb<)9Wo7A32Vy))DQBX_sTDWZshM1eA3%m>Cbk`ZZqM>+uiNMf~y zqi~PmEzExIE0vdzZZ`4zeINIqTH~yBS-QHZwOjSlMdSVud?-4tR;~3lyR40;-}33? z%s!D?)@wAgtXt1|Cfl#q#}|0t$V3L+F2d(GSJ9=~IVXRPN^djD=CI z`n%OxV>+kR>qd7fY5i)@y#2Pk?cS`P=;n@u$85G6SDEm;;q8#@whu+EGnozUPe*c7 zo2uq;G|V3_nQ2`&Uf6SIVNm+T`8iMZ>(dujjkl9_ZPYavo!h2bGcL&OL$MiLcANR! z?5e83v8r^;)k|Z%xV&mAoSU!t%@ge|W{r6-6S-qsquW)Z`pvT%Wc10LM(jg{y_|iX zPvy!_+r4bm+;$qPkul8N<##5lHK!M%2RENjS4FF`AS5nDh4vmzecNq4RhEN?V&?A0 z+iC@dz3#BLoX#&Mv*n<^crIM8+1<6S<~Q?tEh|0`$M=ut&tUpDtvG7m?Jl>|dfx6_ zJrwzM3Yp$p6^vHopUHa`gRtG24$C{aN0ZleZGfakrctUkznO zIQd8@UIRit9j?)F65rBzpTfg=^l;w$EatGzr}4@#j2x< zv6#Af=9YjmYE`>Yf)1Wt zW-lqJWhtUSXl=y*#8wE&dUD7lbvTzXk)#1z6)(NyGH1ytH};t;7VOk#O71XH>zNT1 zMoeLa$+Bpen6pWrtqj;~aDx=n*vzwr!?;?s#YZt})xixDVJ=wnr~m|93gw!k zO=~^6I1SI#v`+IDS*haSxB`hR#RmyscCFAln8>6GTDO7Fp%%~~m{N8ko6}0h939Mk z_Edlbsl)(axon#vY*Nfn(Y+da?VerN~@U zPC~2^jxeYwhY4DOlb4I#*Wl$0rEj!sFfQNL-;cf_a?_q}eLbDIS%%;FZCj5I_ZzwY zsXf2Eyh8W%aQBM!*G+q?E&lv?d}VzhNN@=l&kexU`T6`Ry}tGNC;MR@?>xOTH2U18J=pS+Jv; j`U)dAkGoQkDWi1B(q->0k|R7keTIV?u^LGQV_^R6KR$p?F#&dt5ZoYviy-O;MT0nI z0h!w)=CJaPiIH849^LUUC&0RMpFc*fO7n|uwQwVwM3WV#BEtK!kvau~Pl z~6*Z6%)y+>1$b*MhDjzJ}YLOtMp%!2t!T;nz*olP-D%qx}%4{_pSae|`HO D%I2gl diff --git a/tests/repository_data/client/metadata/current/timestamp.json b/tests/repository_data/client/metadata/current/timestamp.json index 73cd3b4c18f1b2bcbb01645f57651a25410bc321..61dbbcae767f9658fee8c01e00322029b6131165 100644 GIT binary patch literal 924 zcmXw2-Krcn48A{4vCMT7Bukd9+~o~QH&-pC$hMT-r00k1wlsvido^+uoi2csQND`uF^N*ucuoEfiKq6E%C!;=qr3bSk z*z8zjR_jUWq%m=IuMyqGkf~T#Ll@MM${LxjG8x!;jKoHzHf0wxT9S2=20@JlaP&6Y(pj<<=#xFXt>|to zk!6-y%itI;>8ooS6HFnYJ=&iH=KW%rjvEQ_Ib9JZ{*oIPi_^FjfrOo5WNic7;N3X5}KTG#5i z7nNuhwd$5R`TlVFGxKtU()YCNVch<@e|_;iA|I}ge!JV_%aNST|9iQ<=61_@!5hF_ z9{}DR>-X1789e&|l(p3E^?gJ`{;!?@%rQv3nxpY7lbZAR{~v(e@p%9M literal 924 zcmXw2ORgL@4BWp{40;_Kq$qymoo^6iyh;!Rltg*P&ilYK31S$&d)WPKKn--0B3Z1e z{`PR%Zr6`be*fo7+_rb8KORn}Z~2_I&++v-GqSDGAPl!`x@m(IHb9_6 zbSl=R6zFw2TN%ACG({e3VqL2=1!kvG$=Wd1s>%)~y4DJcHpqp*lvE?ItQuJ_5-_!L zb+aCl_0~!@Efd>l#4(}Fg*av(9<^ZMmEXkZu@_Z^mX$J>pjy#|m1Qjv;DC{DtRM{VDD9=NM)#0D^Ug4$T0Ey=CrMyqB#t6Nw78j= zEKUW12#uSth4-Y?2ja{PQJiNi?l5|AO5bNI1C`jU;sUWglp+}lYqNJj)Hb7uwlPO~ zq^63Fv?!NZv(_zr^8MlTXZqzZW$bR*&A9z_|N0WUMLt{~<97GQm%}+*{P%Kw_3f4f z!W+Om9{}DR=l9o3X*~bYDEmJ7%kA=ffBWh7{PZ(=+Ae;(9R5GNpA&BvFD(1W)uuxS z?>>plDFs^tU3T!(#y~doo^FD4R7?3rBn RHM#v8UvAd}6h375`~O&Q_Kg4l diff --git a/tests/repository_data/client/metadata/previous/root.json b/tests/repository_data/client/metadata/previous/root.json index b1b34fa314f9ea032a9ac600bf4a5ff167642ce4..f4f0b55d5e6f7847fca8570cfa1fec44ca0228dd 100644 GIT binary patch literal 3756 zcmd5<+peoP5`8~kv9(__t!<32{gx{sB;-b}lTphC69@?q$PHTk@8e{jbJQA*X1eD* z^h5+jWxGzB9pGTx`+axGN({`1@4zr4Nus=sgViK^m2Tiyw0L=r-MY7${e zlOk#;U;;lxzM?`9pDGYw6POSyf_z8_fRso|r7|f-?|*ywJE=>Qy&TTw&H23f(_}vX zI;10b{*i(P3G^C6gq#P2AdV#@j2fnt5UBui29-jPNJc2oX2J|?GDdM2`W*XM_(J)J z5bgs21b~K5nL>e*9CKfo3<6*>0YYjB5RlL`kQo>fBc^;1a84mNl_7m@h=Ah&QJ`H= z%%lL+4>6Q5Y`O44>Btakml3;~-C=KmFnkvv6 zftbi33@L+p0y0AqQp}|kQc@`lZBl^>xS$OC2oUm2k=`L^Cc!#s1k+GxN2V}!un>_j zz?^^}REEz1qd_P*M0!sY_yYJy?-%L`iU29iK#{^K zoTDVR_#L#G({8WX9JiZO)_jh)_m2MEZSwVbkVWe|BA2nVh{vOP^4O)v&ZU?i^U7Qe z`>^iK^V|h$XrEhE2b~g}%4+3|>)KM6>1Kc9y}IhoP*a{P1d(oaQ}q|4 zKA#`9&WNp-{e_{ThZi>qS6PXgSvhhHE2M`4AlR$JxaC#*^U{d$E*-8PV_+{f>)1xB zz47j~gW6FzZJjK$WA&^ETC6Je=jj%AXQDNoY%E@!r)k(@9-A$uyEH>7t(?5;%vZy4 zK^8UN7-Vf8~SA713u%ZJ4Z-weiCq*cU!H z%?Dc==cpP~73IC7yPYjJ-tz2^Fj z+4_W{{J5o8m0;%zjdndn+ruKEU63=-KH18n!z3%!d<P^%&RozGYrp$wkU@Yk3$* zHa?JXyh}HmGU?jFpESHhkqaZfwn;j64@5*ZcGK?R0$b=KABu(Fot%)FB$t6FWSu6V zyIqfk&OtJAddCY>N{xbTLA-#pz`yYw;d`3LXF{H1MG)^!2Pk6XWJrJ&Bn1G=@XX0NW> zR`Uc7WO=i0$)hq))v4QH%R^l>bxHZe5aUrWTb_>Rb~QO#%M~HRTTSoD)bVp#grMDZ zl9qMcj4pfc9LHkcA5>s|Bj={b@6R?`cgZ#wA<#7jM&WU55nlq}pkb8H4=dvs#`#>j z)6Ov7dKRC-Zj^RLM_gWoEqW2yrHensR!>d$5@bboeBCfU#a8hYa=-6vaq#W>@w|Ne zaMOIX;ir;(db>ng2}arRsV9x6>1%8Lop5|b_4U&8`#^qJ6#k(=E~410%XcaIZ{ql2 ny8mNw#3xl=#3}y|rTJlo_%D&@;ZMNaR8huR`dPEzzWnx2-VHtB literal 3756 zcmd6qS+lB0635@~r#Nw5oepcGs^~XF+{ImwjuRa~6$%0(tJ2Zmy-Ux%9X%5hGu?9^ zdJJ4B%Bp{6{>V&z{_^&o2dBg-%1q|(Kfe9_%iG(}>izb9k&i&Ak$1_Mkkr*A_ZUNj zU_f1@>k=Sc0}wIC1(^AQ69hQc)R)hZuTjsVSW-yY``=#c#j-eGUkff*#%g8!Fkh{{ zUQ!C48&T;3M3623!BT_7bp(VOlhng5;ywo&cA4&~Wd%W!awwG+U)P0)T%Q0(x)68_ zQ{d^Y<`U_+9?=-le2=-FWC(I1kOq7RknmjJ)pX!+h;#sfBmf}-Jzqz_LB9K(z>u0L zT#c#efKw=>=PMOR0z%X->QBC>N#a3>1i>0`T&ZInNC)TwGnaYX;hvHpG$NT2=W^Z0 zQgT9x=VRTK3?mEyKmZWNl_^lUkrD=!{lJ4*_{ymsg+4`?Bcfy>A=J7=gVgmsU%6Il zp47OGA){&|;_K9bp65U&iE@}Hh4QD6${Rj@4kKUr)>Yo6j7t?#j4>5RnNJ9$Ncb98 z4i_8(M-x5(!WXWxNCjCFNFok(M;QhvV+3ewLnVs=$tb~07X(mGg@$04Gl&rs5c@=6 zN*UH%h?FyQs7diOR65Aj6(vMLgpsC6<|=!1@vb=e<;&YY6fZ9*<&%~tjPE}ck5oPp zSzfQj3z~QDn&d%V$fWowPn8`mO-JXJX_Xoak;fRdJi7TUi-0P*A zrn%OD4X#zDksx=KLhzROj{P`>I_yJC%xxZd`$E(+sAw6Z0WMMmfB1n z%5=~MgU7V4SXeqO$8PNVy-VBoy?Z9(6okEtgpJk7uXg5f<;i;3H5Nwan7o2x+1-DQ z*OTEF#p>fT?|par{L1GGpuYyI`)!HI-f7w8nY5ZH4CX_2Oajs0)a#rYleit%ozdv9 z+{VL2xb2R`nCkvLK5ORvqZBk6t(~;&mWA1yRkLv)8jdxX9+N|xx;{h)w)vgow$aWAL?&Ra67q<4vvsj9Cda+?yjfHxFaGl z95(&Kf=w#G`yGDYJ}_ZuL6d}wbp-ki-jgz%-dyh#b%?_Dm_+{zRuXWBae=TZK-3dJ z*9lcg%ZDn-Ll-!{PCUej04fx~^9A9$s?!)sB$+CZzvZE4q5o^JI-B^CU(JnmvquNN z8sh9UQ~@b3$vVQ_ML6RFQX4wo!-KzDnf;}C>9R(z%_3QPbC9*WV%fbm%`gGAHlOVu zhoW_hj)^nxh~QN3wuhW#9fmi29-iBWMSHPAx8$^l>^Qxow3nRqUK8II@h}97eSI+L zdR}(g=$MFYp16-qw`diU0qL1G<-C|xTirL-Gla5ct$i4>YiskQMsiF0F6?UWUQ*vs2^GK%s^@>uof+G!Oep$egEb8|gvTI=)58TO)r z&}C{DmoU~28@>9Dz%dXMu3FEWb%ASqf?<-p%zCC_CA3naj zXuituvy*(TR-9EQc)mu@77ad!zLw_SHI6S;Umtq@Nyzu6**_$taI%vuerrYljgIeb nPXCyWAeMRI#OZ$s&39*r|Dr@){sg9ySsq-I&zSx4<(FRp)5AQF diff --git a/tests/repository_data/client/metadata/previous/snapshot.json b/tests/repository_data/client/metadata/previous/snapshot.json index 017cb34e3f9804c3db056525204f5d1f78e395be..3d2aa1881dd6f26c198d6efb8656afb2e25e2e09 100644 GIT binary patch literal 1380 zcma)*!EPKk42JK1ip89pR1`&0$}MkD)IGH*3X-C{PE)Vp-4;!QynDIh1Sn7#FfcQR z(G2AfY>Rx9I-F6o zP7AZ4$X$fP-MA>M#28}jhQk0b%Ak~&OrcdBCM`&Av zE7rxdV0FU9RZtd2@si5jCK<)@)p|%{A8H^XxtDCKS-C^CCG0s7retra&RTj7CdTZ` zm;w|l$qI^*%6kqdL>5>;K++>`>F?rVwK$*>VqlNv(R~m>@bpk47+!~sl{<3N4lFZ9 zppf}Ub5b#_%0QHIr0N)ROHRJr9DYq+b|~XY%N54$x67x;xFT}9T{f#ov$j z&)9CYV0lv@ub)bJw_iU$f0W$m*E)yo>2$ih{ct`#e0y`)j(R@s=Y+I_V0wiYu{@7O4lWlTcD!cAvj> z|BoyfTwaj%_U@lo8J6+&iCus*N9+O8V&Cz<3Un z=I75}pZxjmuw5SRAMN_*b6mD}hhOdvhtK&tY`@2+2hYkD0b(p(Xd?FMpjvx#S-8}3 zfGw@FaCPXqU@otsKuj1Vc*>4;{&;+UJidSP!}0iaDIMGzNznn!9tBD* z9!+|ItV{-rYC3|bGeuA(jgTl!rq@Aiu=-dWldG_3^yRCU>0JN`FvW;TDUQ0B!>wS|+BAGf$Vi8y0=8UQ+$N?b(o&nfECR2!)U~EJ z09G6p02Rt=ow$KbU8_z~ETuykHVRlb@D^MxXC zU?%|~Mo#Z4g_(M0hize)$y7n<%c_@REd?`SpzbgRRZy(Aaa;m2L~AUibqPvtI$L&P zh1q7-b<}Wi;iWy>wkKz3OYu@(+3Q~y%aY|r-F5*s z@Jno;m&#*=?~sO<0Xh86IsEee>-#UievHDCwJ|BDeaskqQlxUu076J7Aq7%8qG9Ps zn1DG)31mZL?F|b1H~n@9DU=#Htu&xESrSUJI-moaM3l-~qg*s1U^0|dE|XGd!GLu> zs;ohP#pH4#C6S{p1+<0|Glgu)rRa=HO;M+b`_Wy;AW%v|shH2_${ zG3ZPhat=~x)T|>AfR~A~)0|Aq-neqWN6NyPtN^kIE)`0$l07GliChc?I)U*_sl3ld zN2#rFgasJHA!+HO6w*j93qEO-07@BA`jfJ@++uKL2bqKezAQX2ruvK1L3@O?}5nZ|nk0qz512{wMrOjSthg@no z#UPU^Dw8tg&^t>d5upWOQI{NfO$L23oWW?aQ5NrF^qi$dWq`{sU|W23D3}#$G{#8E zStKjpd64GquWyGROT>nZOTwtAI0cmjqA7`i3Ar?pg)y)!S(}m>BfG*Ylq;VjgRuGS zr|&)=R&BZ*PAdJ_xi}kVp@z%nyW46vX^hRjwPBn!JDudJuK)17&btn~>>E$L)B4%$ zVSYLA+xGLten*|@dbYc1Pj9;Q$2h5)x7Etf@#dtnO~?1=)8ppgY_h#dwf@y+cXjUL za$Y-I<5D*dv~rF1d7Ml-mEY{Q-h8O$Pft(N)@_B8_JTe=ye{vqWizd5<@L$bU$94wNLL5PDT$s9Cdcr{o87|+^=f8`f_kJ?>OkmI?nts zJlEZMBgA228b;V&OpBcDxWA4~d}NbbH@f%uvh3;6q`JPXHoRQSTMIR>ZTiDaqbc{7 zr`u!d590E8&S}ehdS5x`|9t53YimKHAzbTa_paOSPWCUeBIEAu`=h}RDdNLsU4~!& Y_<6H_=HK7?M?e1W2>;M1& delta 1112 zcmbu7OLF2j5XLKy$s(IMLZ+s&NwGj`y;@lfVDJkJ_<=ED(^5;u1N>pIjj=cEvP;#Z ze2MIHfgC5th-R)3l@@w-_xJnyueYDye*XCbS{=wl#30cL!t&gUi0E|o93UG-*`wqH$s~|MdC*pR1Vb)r zA&JZMDTtJuve{YVRR$*z9Asp}C1#caFsG7Ki4u<#b4~!>mzCPbWV5$EX|GgZ|3yz! z?1DnmpvfK$c` zOp$VuA_W9e*@V3}KvJ``p+pwCyd=(+g9Q_aoG3y<@Wc?M%V1(r1XkpN#02CfZ=Gevf6VlEQQfYCl*N;_W&Y;a)n@$ z>Gh}Ye&6c`QQSPM?k3l|yN`>bRnJYUPxGgqIIUeT)gka?W-oS|!}feB>*wwM+{o78 zvNQU$9`pX9@};K#;dcUuP?cjM7m?6%XY*}Gd@-W*KKLvwCBmTcm{ZU-hP4S z-U>^B(Ntx7l6dN_D#->%LE z9b3BXeb-o@MJkRn>gf~Tk9oJSuq_wWe;Ul)T{o|+F`f^$=!p-frUZe4_KOU~<%hS8X z`m(ipuEMa>-yIK@SIbtjQJsu$Zyt}H2`{dW)1-U7JKN4%vu00000 diff --git a/tests/repository_data/client/metadata/previous/targets.json.gz b/tests/repository_data/client/metadata/previous/targets.json.gz index 9e6ad7d2a323694978a84d59aab57ecc347ce781..874b7b776cd2fd24a0cc20229b4af25df0f9429c 100644 GIT binary patch literal 1215 zcmV;w1VH;AiwFRUq?1zu|E*P9QyN(ie)m^Uye3)C{gSsq&_!+vg5r|eI+s3x;(#!M zB;|ik1BPT%wN?AD)G(JmXS)0A{`#A5C#CXgI?i43vV>LnbLp>>Qt2E1OXWw{P9s{% zj_4?*^GtE=Qn1>y$Wlti5JD9--bTh<5I|KV!iJO_HBnjzT#G>JP$r9XEA4Qgofxb zJP7V6mqf*Y`5NLm)s7M>sHT{F}prGAZ#TFbbbcibRV7-$F8J!Rvu#=8kqeKKvWzsCE z0BB3zS?U>L^h`t*w2~3qK{zo1v3V6Wk0NLeV z4?+kUQzBkcZKxw(mL)@EI(phW{*lCT znAdLhb6=^vc=5Ao*zNnY`&DWe^>*p1Uuo9QN{!lZZye>Vdc9JA$l8_h3d4Jp=CiFdx<87tefL)&UP+d|U-C9!u!+GKgKf+@T2Qt3N>OXX>No&=1P zjS>!|m)2REk_?Au7K2qm0n@=6LInjEKzPlG0%EzNl5%RLBqEeQ9Ps9GlP?Z{*Zr*D z&puxD`)^B_!9LEJl)`yOjV53a(-Lot7Rd(3lH`!Ap&_y;Bcp^{CKR=XNzh&p3IQ)0 z9f?tMm9&zUC#H#Enk5rtK+Hr5Gbv(boFE?X5K?5!TD;>vs$`Xo!gB6{-Pi0nSX^P8 z6BiPfD)`8h4Tj+<)*B&%6p(13xBxUrr)cC@I&(HkPpk`yC1R{}3_OCmCL}Tr_=^-I0r4T4NfZICK?4$$w8v6{ za)Fx|jWsUBGK%5#r1a&(n<(R6EqgJR|Jpn+<6a^ISdHUmeb7xg#917}X0j;OZyOJ) zeSavGb<)9Wo7A32Vy))DQBX_sTDWZshM1eA3%m>Cbk`ZZqM>+uiNMf~y zqi~PmEzExIE0vdzZZ`4zeINIqTH~yBS-QHZwOjSlMdSVud?-4tR;~3lyR40;-}33? z%s!D?)@wAgtXt1|Cfl#q#}|0t$V3L+F2d(GSJ9=~IVXRPN^djD=CI z`n%OxV>+kR>qd7fY5i)@y#2Pk?cS`P=;n@u$85G6SDEm;;q8#@whu+EGnozUPe*c7 zo2uq;G|V3_nQ2`&Uf6SIVNm+T`8iMZ>(dujjkl9_ZPYavo!h2bGcL&OL$MiLcANR! z?5e83v8r^;)k|Z%xV&mAoSU!t%@ge|W{r6-6S-qsquW)Z`pvT%Wc10LM(jg{y_|iX zPvy!_+r4bm+;$qPkul8N<##5lHK!M%2RENjS4FF`AS5nDh4vmzecNq4RhEN?V&?A0 z+iC@dz3#BLoX#&Mv*n<^crIM8+1<6S<~Q?tEh|0`$M=ut&tUpDtvG7m?Jl>|dfx6_ zJrwzM3Yp$p6^vHopUHa`gRtG24$C{aN0ZleZGfakrctUkznO zIQd8@UIRit9j?)F65rBzpTfg=^l;w$EatGzr}4@#j2x< zv6#Af=9YjmYE`>Yf)1Wt zW-lqJWhtUSXl=y*#8wE&dUD7lbvTzXk)#1z6)(NyGH1ytH};t;7VOk#O71XH>zNT1 zMoeLa$+Bpen6pWrtqj;~aDx=n*vzwr!?;?s#YZt})xixDVJ=wnr~m|93gw!k zO=~^6I1SI#v`+IDS*haSxB`hR#RmyscCFAln8>6GTDO7Fp%%~~m{N8ko6}0h939Mk z_Edlbsl)(axon#vY*Nfn(Y+da?VerN~@U zPC~2^jxeYwhY4DOlb4I#*Wl$0rEj!sFfQNL-;cf_a?_q}eLbDIS%%;FZCj5I_ZzwY zsXf2Eyh8W%aQBM!*G+q?E&lv?d}VzhNN@=l&kexU`T6`Ry}tGNC;MR@?>xOTH2U18J=pS+Jv; j`U)dAkGoQkDWi1B(q->0k|R7keTIV?u^LGQV_^R6KR$p?F#&dt5ZoYviy-O;MT0nI z0h!w)=CJaPiIH849^LUUC&0RMpFc*fO7n|uwQwVwM3WV#BEtK!kvau~Pl z~6*Z6%)y+>1$b*MhDjzJ}YLOtMp%!2t!T;nz*olP-D%qx}%4{_pSae|`HO D%I2gl diff --git a/tests/repository_data/client/metadata/previous/timestamp.json b/tests/repository_data/client/metadata/previous/timestamp.json index 73cd3b4c18f1b2bcbb01645f57651a25410bc321..61dbbcae767f9658fee8c01e00322029b6131165 100644 GIT binary patch literal 924 zcmXw2-Krcn48A{4vCMT7Bukd9+~o~QH&-pC$hMT-r00k1wlsvido^+uoi2csQND`uF^N*ucuoEfiKq6E%C!;=qr3bSk z*z8zjR_jUWq%m=IuMyqGkf~T#Ll@MM${LxjG8x!;jKoHzHf0wxT9S2=20@JlaP&6Y(pj<<=#xFXt>|to zk!6-y%itI;>8ooS6HFnYJ=&iH=KW%rjvEQ_Ib9JZ{*oIPi_^FjfrOo5WNic7;N3X5}KTG#5i z7nNuhwd$5R`TlVFGxKtU()YCNVch<@e|_;iA|I}ge!JV_%aNST|9iQ<=61_@!5hF_ z9{}DR>-X1789e&|l(p3E^?gJ`{;!?@%rQv3nxpY7lbZAR{~v(e@p%9M literal 924 zcmXw2ORgL@4BWp{40;_Kq$qymoo^6iyh;!Rltg*P&ilYK31S$&d)WPKKn--0B3Z1e z{`PR%Zr6`be*fo7+_rb8KORn}Z~2_I&++v-GqSDGAPl!`x@m(IHb9_6 zbSl=R6zFw2TN%ACG({e3VqL2=1!kvG$=Wd1s>%)~y4DJcHpqp*lvE?ItQuJ_5-_!L zb+aCl_0~!@Efd>l#4(}Fg*av(9<^ZMmEXkZu@_Z^mX$J>pjy#|m1Qjv;DC{DtRM{VDD9=NM)#0D^Ug4$T0Ey=CrMyqB#t6Nw78j= zEKUW12#uSth4-Y?2ja{PQJiNi?l5|AO5bNI1C`jU;sUWglp+}lYqNJj)Hb7uwlPO~ zq^63Fv?!NZv(_zr^8MlTXZqzZW$bR*&A9z_|N0WUMLt{~<97GQm%}+*{P%Kw_3f4f z!W+Om9{}DR=l9o3X*~bYDEmJ7%kA=ffBWh7{PZ(=+Ae;(9R5GNpA&BvFD(1W)uuxS z?>>plDFs^tU3T!(#y~doo^FD4R7?3rBn RHM#v8UvAd}6h375`~O&Q_Kg4l diff --git a/tests/repository_data/keystore/delegation_key b/tests/repository_data/keystore/delegation_key index 75c1ccdb..e4fd71f8 100644 --- a/tests/repository_data/keystore/delegation_key +++ b/tests/repository_data/keystore/delegation_key @@ -1,30 +1,30 @@ -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,FF468C7E762281A6 +DEK-Info: DES-EDE3-CBC,8EB89B1037BC3FA7 -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 -----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/tests/repository_data/keystore/delegation_key.pub b/tests/repository_data/keystore/delegation_key.pub index 9ed2a92f..cd3e75f9 100644 --- a/tests/repository_data/keystore/delegation_key.pub +++ b/tests/repository_data/keystore/delegation_key.pub @@ -1,9 +1,9 @@ -----BEGIN PUBLIC KEY----- -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4Aaacry3Lrf+LxjlHoM7 -qkwM0K+Wm3G2dZh6SxrGEkm1/REOk51CPTFVqpVOUsw1tW0duAlxg/24cxXVX0xv -BMilTYDZ5tBk6FXZXhuN28IREz2yMo8a93nHH3fCRDz2/eViLBZO8KMVF6s2340V -tTNOFhm8x/6nfe3+M8PzEgoNPF693djhUw1OolEmQA4hb2v87L/86SFGBaA1w8De -M+2zGJmk5rckLQAZFvMErZ8828WhW8ABFkK4QaUJDrnI+o00ep4+1Qu8CvOIw+pT -lbYgv/+aXQOXQpkmKilpTCoynbQFOxIPmUmCBAnJXgYuHya8SUIeZLWxNvkChLMP -SwIDAQAB +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqKdTRVn3mLQFUf02Rpug +wVEU4yJtechILLb6nM7+urfwLe6f7EsNCDFhkiTP7vKuQywdLYrhwZKYZMDmaVnI +q4d/tBLvb/jGY/IPFVvWbAOWtwWG7apiAFrcp3Idq6EKGaVVLn7tyv74+nisssYJ +cVKodlkzpgX1Ibrdq73BUlAxhEQNDAUM5bzyJUW0BU4OSjUoFKCgc8BSkNcSLwXO +RpyqAwDpPWiL68N1Dch7R9uD6GE9aREY9SKoYsNCvUOraIcme4fJZ3NmxpN3SVnX +tepoiJo2iAtORtEI1yTCv/dOPap/iebveeCjn667HkMezJodSR8X3pMgMKMVyxhJ +gwIDAQAB -----END PUBLIC KEY----- \ No newline at end of file diff --git a/tests/repository_data/keystore/root_key b/tests/repository_data/keystore/root_key index 38b65b85..883165af 100644 --- a/tests/repository_data/keystore/root_key +++ b/tests/repository_data/keystore/root_key @@ -1,30 +1,30 @@ -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,D1A23F08038990E0 +DEK-Info: DES-EDE3-CBC,B90D8CBD38BD4DE2 -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 -----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/tests/repository_data/keystore/root_key.pub b/tests/repository_data/keystore/root_key.pub index 61ab286a..40ae3768 100644 --- a/tests/repository_data/keystore/root_key.pub +++ b/tests/repository_data/keystore/root_key.pub @@ -1,9 +1,9 @@ -----BEGIN PUBLIC KEY----- -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxqR34Ya+Nuh4+zljiPI7 -idGUwTs6ALm/mwBJJZRVmIQjVDKdK69fxmh5CxXud6lJTapuDutCFOvOKG1AaEHM -Zu5r/UiuEEUU2ZTtjtFaulJpoz6lYViM2qHy8o4HJ8f5VHvcITnAy4Qu3emKolvi -CrnMoiBZjGQAGEGt1u7S9u8P9zA4Jz0ziICdDnhKH8tLvWBmF4VHmAbLXXFj+Yny -R7iOeDEiS5PNJVyfEHQmds+LdBTI1w0aBoHORvrw36kFRD2yZF0w6BZgqrcM1OQU -xuJBWf3DTMRmBdldIIzGZQ7Lv08GB8xVy3472Q6nn8dTl0Gz3Y4ujMqbcglB4Auz -lwIDAQAB +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7J15ZaeDQPrhQsRj29wB +PhibH+Do59xsT2396L+uCg793gZlar5wZN2eHSh725cNQWyTAa9LwG+lXaKMukQ+ +8176CKR2J5sv3DezrGVu3x8V1qhyJyy79FlNZRVYTVqNaYzvJzxsVnFPpg7f8B7C +ffiqWJr9XkpqwRlCpxooXm4hplZ7uek5Ku21CzQ4OWg7hbuc+ZjCGzpXfm8NuosU +7TipnKGpEt0Agiph5g6TB2/scoeFar1CKMONIl80maxzAQk+xkWgiJ00+Z2qFCsx +ESfis/YkILS6RMFyZz7oa1WwMtUjYmrsRuz+jlFcbNuxZpIkaISiG9a2YdGcJ1Aj +3QIDAQAB -----END PUBLIC KEY----- \ No newline at end of file diff --git a/tests/repository_data/keystore/snapshot_key b/tests/repository_data/keystore/snapshot_key index 3364b4c2..266801ae 100644 --- a/tests/repository_data/keystore/snapshot_key +++ b/tests/repository_data/keystore/snapshot_key @@ -1,30 +1,30 @@ -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,CA9413D527FF4F37 +DEK-Info: DES-EDE3-CBC,9DA302AB20EFABC8 -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 -----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/tests/repository_data/keystore/snapshot_key.pub b/tests/repository_data/keystore/snapshot_key.pub index fc4ce86e..140ca251 100644 --- a/tests/repository_data/keystore/snapshot_key.pub +++ b/tests/repository_data/keystore/snapshot_key.pub @@ -1,9 +1,9 @@ -----BEGIN PUBLIC KEY----- -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhC3ksoCUEqNJZfvI3rgI -RuknTl3DQjO8H4wA98Y1ZfWSCGRCkD7z9wCtnRcP0r/DdRDozzIn0w5POYyZt+ql -aPBdigwWVZs4rB73U8Pjh/ZQ/QS2qngQlNmpkp6Fnh9FzmqQmIj0QYwZC6TPuB/2 -dVsnbyUDt+tLH4FCN688tOvV9fATO22rzT5XAeDCU046yD6fNtooCRVwd7mxV8Ug -npREULBq0cs82Cl581aM5znN1ydFr7cLMaxzvyAzJzAvdITOTdO7ZO171qm4OrGD -9W2ex+88ca3XYhjaEJGsoMXa00NPzrZPtFFUv6wSi9nqa5mpHmcEWAQABRRARlkp -mQIDAQAB +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9XqJohXw46tOKUiOMzPx +lDtrSlpy3WLH2zFSppN0eLIqByD4mk5nbyWKOzzGetQYgv9FzyER4AbmG40kD9bT +2jm3zxjoTnCoM+1Qt7khZm3LxcKBa7q1yrAlvSfNLauIC220kauVRn4Kehd+IqeS +/LhfOT6YyHUMH9SjZKM8XVHU1ehxTiA69eos4AosMK1Gf7jr042FzfiBTygqV1h5 +LXxO0IUYXiI4eCYTwzK4ChfQBmG3DGFGh2G8yrgqQZ5ERaBQPYG9rqQnfF8T8RUQ +o4n7yKpEKSWLOr6Uz9Y1pnHZG4YiKKbTe9EKGtrRbDMIfI+Mv5f3+n600nwZrN7K +OwIDAQAB -----END PUBLIC KEY----- \ No newline at end of file diff --git a/tests/repository_data/keystore/targets_key b/tests/repository_data/keystore/targets_key index 423015bc..a4f2c771 100644 --- a/tests/repository_data/keystore/targets_key +++ b/tests/repository_data/keystore/targets_key @@ -1,30 +1,30 @@ -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,112A90551702BF36 +DEK-Info: DES-EDE3-CBC,807D96406E906425 -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 -----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/tests/repository_data/keystore/targets_key.pub b/tests/repository_data/keystore/targets_key.pub index e13897d0..8080a88a 100644 --- a/tests/repository_data/keystore/targets_key.pub +++ b/tests/repository_data/keystore/targets_key.pub @@ -1,9 +1,9 @@ -----BEGIN PUBLIC KEY----- -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkbEPgkqMnOfprFY5XhCo -ppl6E89rfIzKv0AAZH6L6CruIzm2wgf3YRGl5Xle1+uyq9Wt0fcC32cZaoQPqpik -JWKYXdeuQjkUbPzON5wgV/MrjsidTC02296pmfHvGGlwUstjqwcbcCcAliw0V97G -IJ4JKnbelGmFFpUzzow8tp7uxxbM+ihLA1V2QdAJBDSIuma+A36zN0M23vvt6fBg -cDzJ+ij5Z3N0O2WAyQDONepRtHjKKdhAuzKRluLMwYO0sMjp+E88LMw1vUapxsEm -9jrYmY7aV6RFTe5OeZupH/0HyMwv7jua+aNzNxxD6/xYbh4Kp0jFke1zEBsoNrc8 -pwIDAQAB +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqF3xKdM9FySLLp0PiwIx +2O9CFikFBo4Xfm4Z0HW69lu2X5WQFx8/GL9kmo1QjZrOwYToYDe287nidbbLs/rT +lq3buN5wPMiD1GbVgGN/nknkkzv9KkJtrSF4RLbKrUnKo7/9C6IUmMt30wBk4GpJ +RZ+8wFfRhUE6859/f6Xl4XbtBJofbIGwV/OBdIzO5zIgB3uBktbbqBVjJb8Oj6Oi +YYskEIacP+TUrpa1iuC6nONj6ahI5NnEjt2B4/pLaUcEPm43kktJTabznkfNZXOa +2nMjngY8v8EbNLBpG6Y7MqZwwLZ4wnaTOe5Bp323YN9eVONXfU2gtT2MBoWExvFV +FwIDAQAB -----END PUBLIC KEY----- \ No newline at end of file diff --git a/tests/repository_data/keystore/timestamp_key b/tests/repository_data/keystore/timestamp_key index 614d4bfa..1222b6f4 100644 --- a/tests/repository_data/keystore/timestamp_key +++ b/tests/repository_data/keystore/timestamp_key @@ -1,30 +1,30 @@ -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,E950DB75AA748728 +DEK-Info: DES-EDE3-CBC,261BF7F755E46B73 -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 -----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/tests/repository_data/keystore/timestamp_key.pub b/tests/repository_data/keystore/timestamp_key.pub index 33d3a26c..7163fbef 100644 --- a/tests/repository_data/keystore/timestamp_key.pub +++ b/tests/repository_data/keystore/timestamp_key.pub @@ -1,9 +1,9 @@ -----BEGIN PUBLIC KEY----- -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0EhQ6twjA/9HywnQWNey -rthMpF2S3yeRQiU90TPWAAVsGYvKSgra/BjNTUdFZxf2twZONq/PW1CSQYya230i -16+4/6wTY47pSAoDfk71ISjFEdkZa7Cbvzv0CEv25sA+elaaCtRnmc6G7RuofwM/ -AnKqWdPfkJcdkjkmNGYVhNU7sF96hNSdG3liWG0rbByZVxPYMYru18gziGQOkp82 -Ex/6SWEkUzdjZHqvL7A3bEUJ2KzHoHvf3SdyRP1HbASphnWEvBqC5/3TnmsAHvWi -d4NRqKLJlsLnySGP5gSinjc53bN8CTJz+ThSaIFlt46RpNtkjm5ZU8YjmmqfbUSG -FwIDAQAB +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyw8QAC0PNyyf0AV3qzSp +DgT74sGKC/72HIO1EskP4VEkdfh67PROHCm0YJTYLch9zH+uHIsmyyuzNr6go2Nv +GPSRwYEP34LJlmqr699zkjSXw79T/t244keFiL8SFWTlWmQyTPDdn+N2v4acAmvW +xSFcjTl8cVIGyGuU2s/vHrBn0zoOJ7ZIGAFzzCGAm0j6VvGvkxy3mymE+8VjzrAV +9P1aOMdRVmlqCyPlGVW66Lvz7wkQKcp7rf0CEKkBGlYMtgTqiiagHJy0Sv6qAapw +LXzE6ZdM40E1J1rT9GUitd0K4LhpSjW1lfipSbNQDLiZTG9R2EhnDMl5suaIaFh0 +UQIDAQAB -----END PUBLIC KEY----- \ No newline at end of file diff --git a/tests/repository_data/repository/metadata.staged/root.json b/tests/repository_data/repository/metadata.staged/root.json index b1b34fa314f9ea032a9ac600bf4a5ff167642ce4..f4f0b55d5e6f7847fca8570cfa1fec44ca0228dd 100644 GIT binary patch literal 3756 zcmd5<+peoP5`8~kv9(__t!<32{gx{sB;-b}lTphC69@?q$PHTk@8e{jbJQA*X1eD* z^h5+jWxGzB9pGTx`+axGN({`1@4zr4Nus=sgViK^m2Tiyw0L=r-MY7${e zlOk#;U;;lxzM?`9pDGYw6POSyf_z8_fRso|r7|f-?|*ywJE=>Qy&TTw&H23f(_}vX zI;10b{*i(P3G^C6gq#P2AdV#@j2fnt5UBui29-jPNJc2oX2J|?GDdM2`W*XM_(J)J z5bgs21b~K5nL>e*9CKfo3<6*>0YYjB5RlL`kQo>fBc^;1a84mNl_7m@h=Ah&QJ`H= z%%lL+4>6Q5Y`O44>Btakml3;~-C=KmFnkvv6 zftbi33@L+p0y0AqQp}|kQc@`lZBl^>xS$OC2oUm2k=`L^Cc!#s1k+GxN2V}!un>_j zz?^^}REEz1qd_P*M0!sY_yYJy?-%L`iU29iK#{^K zoTDVR_#L#G({8WX9JiZO)_jh)_m2MEZSwVbkVWe|BA2nVh{vOP^4O)v&ZU?i^U7Qe z`>^iK^V|h$XrEhE2b~g}%4+3|>)KM6>1Kc9y}IhoP*a{P1d(oaQ}q|4 zKA#`9&WNp-{e_{ThZi>qS6PXgSvhhHE2M`4AlR$JxaC#*^U{d$E*-8PV_+{f>)1xB zz47j~gW6FzZJjK$WA&^ETC6Je=jj%AXQDNoY%E@!r)k(@9-A$uyEH>7t(?5;%vZy4 zK^8UN7-Vf8~SA713u%ZJ4Z-weiCq*cU!H z%?Dc==cpP~73IC7yPYjJ-tz2^Fj z+4_W{{J5o8m0;%zjdndn+ruKEU63=-KH18n!z3%!d<P^%&RozGYrp$wkU@Yk3$* zHa?JXyh}HmGU?jFpESHhkqaZfwn;j64@5*ZcGK?R0$b=KABu(Fot%)FB$t6FWSu6V zyIqfk&OtJAddCY>N{xbTLA-#pz`yYw;d`3LXF{H1MG)^!2Pk6XWJrJ&Bn1G=@XX0NW> zR`Uc7WO=i0$)hq))v4QH%R^l>bxHZe5aUrWTb_>Rb~QO#%M~HRTTSoD)bVp#grMDZ zl9qMcj4pfc9LHkcA5>s|Bj={b@6R?`cgZ#wA<#7jM&WU55nlq}pkb8H4=dvs#`#>j z)6Ov7dKRC-Zj^RLM_gWoEqW2yrHensR!>d$5@bboeBCfU#a8hYa=-6vaq#W>@w|Ne zaMOIX;ir;(db>ng2}arRsV9x6>1%8Lop5|b_4U&8`#^qJ6#k(=E~410%XcaIZ{ql2 ny8mNw#3xl=#3}y|rTJlo_%D&@;ZMNaR8huR`dPEzzWnx2-VHtB literal 3756 zcmd6qS+lB0635@~r#Nw5oepcGs^~XF+{ImwjuRa~6$%0(tJ2Zmy-Ux%9X%5hGu?9^ zdJJ4B%Bp{6{>V&z{_^&o2dBg-%1q|(Kfe9_%iG(}>izb9k&i&Ak$1_Mkkr*A_ZUNj zU_f1@>k=Sc0}wIC1(^AQ69hQc)R)hZuTjsVSW-yY``=#c#j-eGUkff*#%g8!Fkh{{ zUQ!C48&T;3M3623!BT_7bp(VOlhng5;ywo&cA4&~Wd%W!awwG+U)P0)T%Q0(x)68_ zQ{d^Y<`U_+9?=-le2=-FWC(I1kOq7RknmjJ)pX!+h;#sfBmf}-Jzqz_LB9K(z>u0L zT#c#efKw=>=PMOR0z%X->QBC>N#a3>1i>0`T&ZInNC)TwGnaYX;hvHpG$NT2=W^Z0 zQgT9x=VRTK3?mEyKmZWNl_^lUkrD=!{lJ4*_{ymsg+4`?Bcfy>A=J7=gVgmsU%6Il zp47OGA){&|;_K9bp65U&iE@}Hh4QD6${Rj@4kKUr)>Yo6j7t?#j4>5RnNJ9$Ncb98 z4i_8(M-x5(!WXWxNCjCFNFok(M;QhvV+3ewLnVs=$tb~07X(mGg@$04Gl&rs5c@=6 zN*UH%h?FyQs7diOR65Aj6(vMLgpsC6<|=!1@vb=e<;&YY6fZ9*<&%~tjPE}ck5oPp zSzfQj3z~QDn&d%V$fWowPn8`mO-JXJX_Xoak;fRdJi7TUi-0P*A zrn%OD4X#zDksx=KLhzROj{P`>I_yJC%xxZd`$E(+sAw6Z0WMMmfB1n z%5=~MgU7V4SXeqO$8PNVy-VBoy?Z9(6okEtgpJk7uXg5f<;i;3H5Nwan7o2x+1-DQ z*OTEF#p>fT?|par{L1GGpuYyI`)!HI-f7w8nY5ZH4CX_2Oajs0)a#rYleit%ozdv9 z+{VL2xb2R`nCkvLK5ORvqZBk6t(~;&mWA1yRkLv)8jdxX9+N|xx;{h)w)vgow$aWAL?&Ra67q<4vvsj9Cda+?yjfHxFaGl z95(&Kf=w#G`yGDYJ}_ZuL6d}wbp-ki-jgz%-dyh#b%?_Dm_+{zRuXWBae=TZK-3dJ z*9lcg%ZDn-Ll-!{PCUej04fx~^9A9$s?!)sB$+CZzvZE4q5o^JI-B^CU(JnmvquNN z8sh9UQ~@b3$vVQ_ML6RFQX4wo!-KzDnf;}C>9R(z%_3QPbC9*WV%fbm%`gGAHlOVu zhoW_hj)^nxh~QN3wuhW#9fmi29-iBWMSHPAx8$^l>^Qxow3nRqUK8II@h}97eSI+L zdR}(g=$MFYp16-qw`diU0qL1G<-C|xTirL-Gla5ct$i4>YiskQMsiF0F6?UWUQ*vs2^GK%s^@>uof+G!Oep$egEb8|gvTI=)58TO)r z&}C{DmoU~28@>9Dz%dXMu3FEWb%ASqf?<-p%zCC_CA3naj zXuituvy*(TR-9EQc)mu@77ad!zLw_SHI6S;Umtq@Nyzu6**_$taI%vuerrYljgIeb nPXCyWAeMRI#OZ$s&39*r|Dr@){sg9ySsq-I&zSx4<(FRp)5AQF diff --git a/tests/repository_data/repository/metadata.staged/snapshot.json b/tests/repository_data/repository/metadata.staged/snapshot.json index 017cb34e3f9804c3db056525204f5d1f78e395be..3d2aa1881dd6f26c198d6efb8656afb2e25e2e09 100644 GIT binary patch literal 1380 zcma)*!EPKk42JK1ip89pR1`&0$}MkD)IGH*3X-C{PE)Vp-4;!QynDIh1Sn7#FfcQR z(G2AfY>Rx9I-F6o zP7AZ4$X$fP-MA>M#28}jhQk0b%Ak~&OrcdBCM`&Av zE7rxdV0FU9RZtd2@si5jCK<)@)p|%{A8H^XxtDCKS-C^CCG0s7retra&RTj7CdTZ` zm;w|l$qI^*%6kqdL>5>;K++>`>F?rVwK$*>VqlNv(R~m>@bpk47+!~sl{<3N4lFZ9 zppf}Ub5b#_%0QHIr0N)ROHRJr9DYq+b|~XY%N54$x67x;xFT}9T{f#ov$j z&)9CYV0lv@ub)bJw_iU$f0W$m*E)yo>2$ih{ct`#e0y`)j(R@s=Y+I_V0wiYu{@7O4lWlTcD!cAvj> z|BoyfTwaj%_U@lo8J6+&iCus*N9+O8V&Cz<3Un z=I75}pZxjmuw5SRAMN_*b6mD}hhOdvhtK&tY`@2+2hYkD0b(p(Xd?FMpjvx#S-8}3 zfGw@FaCPXqU@otsKuj1Vc*>4;{&;+UJidSP!}0iaDIMGzNznn!9tBD* z9!+|ItV{-rYC3|bGeuA(jgTl!rq@Aiu=-dWldG_3^yRCU>0JN`FvW;TDUQ0B!>wS|+BAGf$Vi8y0=8UQ+$N?b(o&nfECR2!)U~EJ z09G6p02Rt=ow$KbU8_z~ETuykHVRlb@D^MxXC zU?%|~Mo#Z4g_(M0hize)$y7n<%c_@REd?`SpzbgRRZy(Aaa;m2L~AUibqPvtI$L&P zh1q7-b<}Wi;iWy>wkKz3OYu@(+3Q~y%aY|r-F5*s z@Jno;m&#*=?~sO<0Xh86IsEee>-#UievHDCwJ|BDeaskqQlxUu076J7Aq7%8qG9Ps zn1DG)31mZL?F|b1H~n@9DU=#Htu&xESrSUJI-moaM3l-~qg*s1U^0|dE|XGd!GLu> zs;ohP#pH4#C6S{p1+<0|Glgu)rRa=HO;M+b`_Wy;AW%v|shH2_${ zG3ZPhat=~x)T|>AfR~A~)0|Aq-neqWN6NyPtN^kIE)`0$l07GliChc?I)U*_sl3ld zN2#rFgasJHA!+HO6w*j93qEO-07@BA`jfJ@++uKL2bqKezAQX2ruvK1L3@O?}5nZ|nk0qz512{wMrOjSthg@no z#UPU^Dw8tg&^t>d5upWOQI{NfO$L23oWW?aQ5NrF^qi$dWq`{sU|W23D3}#$G{#8E zStKjpd64GquWyGROT>nZOTwtAI0cmjqA7`i3Ar?pg)y)!S(}m>BfG*Ylq;VjgRuGS zr|&)=R&BZ*PAdJ_xi}kVp@z%nyW46vX^hRjwPBn!JDudJuK)17&btn~>>E$L)B4%$ zVSYLA+xGLten*|@dbYc1Pj9;Q$2h5)x7Etf@#dtnO~?1=)8ppgY_h#dwf@y+cXjUL za$Y-I<5D*dv~rF1d7Ml-mEY{Q-h8O$Pft(N)@_B8_JTe=ye{vqWizd5<@L$bU$94wNLL5PDT$s9Cdcr{o87|+^=f8`f_kJ?>OkmI?nts zJlEZMBgA228b;V&OpBcDxWA4~d}NbbH@f%uvh3;6q`JPXHoRQSTMIR>ZTiDaqbc{7 zr`u!d590E8&S}ehdS5x`|9t53YimKHAzbTa_paOSPWCUeBIEAu`=h}RDdNLsU4~!& Y_<6H_=HK7?M?e1W2>;M1& delta 1112 zcmbu7OLF2j5XLKy$s(IMLZ+s&NwGj`y;@lfVDJkJ_<=ED(^5;u1N>pIjj=cEvP;#Z ze2MIHfgC5th-R)3l@@w-_xJnyueYDye*XCbS{=wl#30cL!t&gUi0E|o93UG-*`wqH$s~|MdC*pR1Vb)r zA&JZMDTtJuve{YVRR$*z9Asp}C1#caFsG7Ki4u<#b4~!>mzCPbWV5$EX|GgZ|3yz! z?1DnmpvfK$c` zOp$VuA_W9e*@V3}KvJ``p+pwCyd=(+g9Q_aoG3y<@Wc?M%V1(r1XkpN#02CfZ=Gevf6VlEQQfYCl*N;_W&Y;a)n@$ z>Gh}Ye&6c`QQSPM?k3l|yN`>bRnJYUPxGgqIIUeT)gka?W-oS|!}feB>*wwM+{o78 zvNQU$9`pX9@};K#;dcUuP?cjM7m?6%XY*}Gd@-W*KKLvwCBmTcm{ZU-hP4S z-U>^B(Ntx7l6dN_D#->%LE z9b3BXeb-o@MJkRn>gf~Tk9oJSuq_wWe;Ul)T{o|+F`f^$=!p-frUZe4_KOU~<%hS8X z`m(ipuEMa>-yIK@SIbtjQJsu$Zyt}H2`{dW)1-U7JKN4%vu00000 diff --git a/tests/repository_data/repository/metadata.staged/targets.json.gz b/tests/repository_data/repository/metadata.staged/targets.json.gz index 9e6ad7d2a323694978a84d59aab57ecc347ce781..874b7b776cd2fd24a0cc20229b4af25df0f9429c 100644 GIT binary patch literal 1215 zcmV;w1VH;AiwFRUq?1zu|E*P9QyN(ie)m^Uye3)C{gSsq&_!+vg5r|eI+s3x;(#!M zB;|ik1BPT%wN?AD)G(JmXS)0A{`#A5C#CXgI?i43vV>LnbLp>>Qt2E1OXWw{P9s{% zj_4?*^GtE=Qn1>y$Wlti5JD9--bTh<5I|KV!iJO_HBnjzT#G>JP$r9XEA4Qgofxb zJP7V6mqf*Y`5NLm)s7M>sHT{F}prGAZ#TFbbbcibRV7-$F8J!Rvu#=8kqeKKvWzsCE z0BB3zS?U>L^h`t*w2~3qK{zo1v3V6Wk0NLeV z4?+kUQzBkcZKxw(mL)@EI(phW{*lCT znAdLhb6=^vc=5Ao*zNnY`&DWe^>*p1Uuo9QN{!lZZye>Vdc9JA$l8_h3d4Jp=CiFdx<87tefL)&UP+d|U-C9!u!+GKgKf+@T2Qt3N>OXX>No&=1P zjS>!|m)2REk_?Au7K2qm0n@=6LInjEKzPlG0%EzNl5%RLBqEeQ9Ps9GlP?Z{*Zr*D z&puxD`)^B_!9LEJl)`yOjV53a(-Lot7Rd(3lH`!Ap&_y;Bcp^{CKR=XNzh&p3IQ)0 z9f?tMm9&zUC#H#Enk5rtK+Hr5Gbv(boFE?X5K?5!TD;>vs$`Xo!gB6{-Pi0nSX^P8 z6BiPfD)`8h4Tj+<)*B&%6p(13xBxUrr)cC@I&(HkPpk`yC1R{}3_OCmCL}Tr_=^-I0r4T4NfZICK?4$$w8v6{ za)Fx|jWsUBGK%5#r1a&(n<(R6EqgJR|Jpn+<6a^ISdHUmeb7xg#917}X0j;OZyOJ) zeSavGb<)9Wo7A32Vy))DQBX_sTDWZshM1eA3%m>Cbk`ZZqM>+uiNMf~y zqi~PmEzExIE0vdzZZ`4zeINIqTH~yBS-QHZwOjSlMdSVud?-4tR;~3lyR40;-}33? z%s!D?)@wAgtXt1|Cfl#q#}|0t$V3L+F2d(GSJ9=~IVXRPN^djD=CI z`n%OxV>+kR>qd7fY5i)@y#2Pk?cS`P=;n@u$85G6SDEm;;q8#@whu+EGnozUPe*c7 zo2uq;G|V3_nQ2`&Uf6SIVNm+T`8iMZ>(dujjkl9_ZPYavo!h2bGcL&OL$MiLcANR! z?5e83v8r^;)k|Z%xV&mAoSU!t%@ge|W{r6-6S-qsquW)Z`pvT%Wc10LM(jg{y_|iX zPvy!_+r4bm+;$qPkul8N<##5lHK!M%2RENjS4FF`AS5nDh4vmzecNq4RhEN?V&?A0 z+iC@dz3#BLoX#&Mv*n<^crIM8+1<6S<~Q?tEh|0`$M=ut&tUpDtvG7m?Jl>|dfx6_ zJrwzM3Yp$p6^vHopUHa`gRtG24$C{aN0ZleZGfakrctUkznO zIQd8@UIRit9j?)F65rBzpTfg=^l;w$EatGzr}4@#j2x< zv6#Af=9YjmYE`>Yf)1Wt zW-lqJWhtUSXl=y*#8wE&dUD7lbvTzXk)#1z6)(NyGH1ytH};t;7VOk#O71XH>zNT1 zMoeLa$+Bpen6pWrtqj;~aDx=n*vzwr!?;?s#YZt})xixDVJ=wnr~m|93gw!k zO=~^6I1SI#v`+IDS*haSxB`hR#RmyscCFAln8>6GTDO7Fp%%~~m{N8ko6}0h939Mk z_Edlbsl)(axon#vY*Nfn(Y+da?VerN~@U zPC~2^jxeYwhY4DOlb4I#*Wl$0rEj!sFfQNL-;cf_a?_q}eLbDIS%%;FZCj5I_ZzwY zsXf2Eyh8W%aQBM!*G+q?E&lv?d}VzhNN@=l&kexU`T6`Ry}tGNC;MR@?>xOTH2U18J=pS+Jv; j`U)dAkGoQkDWi1B(q->0k|R7keTIV?u^LGQV_^R6KR$p?F#&dt5ZoYviy-O;MT0nI z0h!w)=CJaPiIH849^LUUC&0RMpFc*fO7n|uwQwVwM3WV#BEtK!kvau~Pl z~6*Z6%)y+>1$b*MhDjzJ}YLOtMp%!2t!T;nz*olP-D%qx}%4{_pSae|`HO D%I2gl diff --git a/tests/repository_data/repository/metadata.staged/timestamp.json b/tests/repository_data/repository/metadata.staged/timestamp.json index 73cd3b4c18f1b2bcbb01645f57651a25410bc321..61dbbcae767f9658fee8c01e00322029b6131165 100644 GIT binary patch literal 924 zcmXw2-Krcn48A{4vCMT7Bukd9+~o~QH&-pC$hMT-r00k1wlsvido^+uoi2csQND`uF^N*ucuoEfiKq6E%C!;=qr3bSk z*z8zjR_jUWq%m=IuMyqGkf~T#Ll@MM${LxjG8x!;jKoHzHf0wxT9S2=20@JlaP&6Y(pj<<=#xFXt>|to zk!6-y%itI;>8ooS6HFnYJ=&iH=KW%rjvEQ_Ib9JZ{*oIPi_^FjfrOo5WNic7;N3X5}KTG#5i z7nNuhwd$5R`TlVFGxKtU()YCNVch<@e|_;iA|I}ge!JV_%aNST|9iQ<=61_@!5hF_ z9{}DR>-X1789e&|l(p3E^?gJ`{;!?@%rQv3nxpY7lbZAR{~v(e@p%9M literal 924 zcmXw2ORgL@4BWp{40;_Kq$qymoo^6iyh;!Rltg*P&ilYK31S$&d)WPKKn--0B3Z1e z{`PR%Zr6`be*fo7+_rb8KORn}Z~2_I&++v-GqSDGAPl!`x@m(IHb9_6 zbSl=R6zFw2TN%ACG({e3VqL2=1!kvG$=Wd1s>%)~y4DJcHpqp*lvE?ItQuJ_5-_!L zb+aCl_0~!@Efd>l#4(}Fg*av(9<^ZMmEXkZu@_Z^mX$J>pjy#|m1Qjv;DC{DtRM{VDD9=NM)#0D^Ug4$T0Ey=CrMyqB#t6Nw78j= zEKUW12#uSth4-Y?2ja{PQJiNi?l5|AO5bNI1C`jU;sUWglp+}lYqNJj)Hb7uwlPO~ zq^63Fv?!NZv(_zr^8MlTXZqzZW$bR*&A9z_|N0WUMLt{~<97GQm%}+*{P%Kw_3f4f z!W+Om9{}DR=l9o3X*~bYDEmJ7%kA=ffBWh7{PZ(=+Ae;(9R5GNpA&BvFD(1W)uuxS z?>>plDFs^tU3T!(#y~doo^FD4R7?3rBn RHM#v8UvAd}6h375`~O&Q_Kg4l diff --git a/tests/repository_data/repository/metadata/root.json b/tests/repository_data/repository/metadata/root.json index b1b34fa314f9ea032a9ac600bf4a5ff167642ce4..f4f0b55d5e6f7847fca8570cfa1fec44ca0228dd 100644 GIT binary patch literal 3756 zcmd5<+peoP5`8~kv9(__t!<32{gx{sB;-b}lTphC69@?q$PHTk@8e{jbJQA*X1eD* z^h5+jWxGzB9pGTx`+axGN({`1@4zr4Nus=sgViK^m2Tiyw0L=r-MY7${e zlOk#;U;;lxzM?`9pDGYw6POSyf_z8_fRso|r7|f-?|*ywJE=>Qy&TTw&H23f(_}vX zI;10b{*i(P3G^C6gq#P2AdV#@j2fnt5UBui29-jPNJc2oX2J|?GDdM2`W*XM_(J)J z5bgs21b~K5nL>e*9CKfo3<6*>0YYjB5RlL`kQo>fBc^;1a84mNl_7m@h=Ah&QJ`H= z%%lL+4>6Q5Y`O44>Btakml3;~-C=KmFnkvv6 zftbi33@L+p0y0AqQp}|kQc@`lZBl^>xS$OC2oUm2k=`L^Cc!#s1k+GxN2V}!un>_j zz?^^}REEz1qd_P*M0!sY_yYJy?-%L`iU29iK#{^K zoTDVR_#L#G({8WX9JiZO)_jh)_m2MEZSwVbkVWe|BA2nVh{vOP^4O)v&ZU?i^U7Qe z`>^iK^V|h$XrEhE2b~g}%4+3|>)KM6>1Kc9y}IhoP*a{P1d(oaQ}q|4 zKA#`9&WNp-{e_{ThZi>qS6PXgSvhhHE2M`4AlR$JxaC#*^U{d$E*-8PV_+{f>)1xB zz47j~gW6FzZJjK$WA&^ETC6Je=jj%AXQDNoY%E@!r)k(@9-A$uyEH>7t(?5;%vZy4 zK^8UN7-Vf8~SA713u%ZJ4Z-weiCq*cU!H z%?Dc==cpP~73IC7yPYjJ-tz2^Fj z+4_W{{J5o8m0;%zjdndn+ruKEU63=-KH18n!z3%!d<P^%&RozGYrp$wkU@Yk3$* zHa?JXyh}HmGU?jFpESHhkqaZfwn;j64@5*ZcGK?R0$b=KABu(Fot%)FB$t6FWSu6V zyIqfk&OtJAddCY>N{xbTLA-#pz`yYw;d`3LXF{H1MG)^!2Pk6XWJrJ&Bn1G=@XX0NW> zR`Uc7WO=i0$)hq))v4QH%R^l>bxHZe5aUrWTb_>Rb~QO#%M~HRTTSoD)bVp#grMDZ zl9qMcj4pfc9LHkcA5>s|Bj={b@6R?`cgZ#wA<#7jM&WU55nlq}pkb8H4=dvs#`#>j z)6Ov7dKRC-Zj^RLM_gWoEqW2yrHensR!>d$5@bboeBCfU#a8hYa=-6vaq#W>@w|Ne zaMOIX;ir;(db>ng2}arRsV9x6>1%8Lop5|b_4U&8`#^qJ6#k(=E~410%XcaIZ{ql2 ny8mNw#3xl=#3}y|rTJlo_%D&@;ZMNaR8huR`dPEzzWnx2-VHtB literal 3756 zcmd6qS+lB0635@~r#Nw5oepcGs^~XF+{ImwjuRa~6$%0(tJ2Zmy-Ux%9X%5hGu?9^ zdJJ4B%Bp{6{>V&z{_^&o2dBg-%1q|(Kfe9_%iG(}>izb9k&i&Ak$1_Mkkr*A_ZUNj zU_f1@>k=Sc0}wIC1(^AQ69hQc)R)hZuTjsVSW-yY``=#c#j-eGUkff*#%g8!Fkh{{ zUQ!C48&T;3M3623!BT_7bp(VOlhng5;ywo&cA4&~Wd%W!awwG+U)P0)T%Q0(x)68_ zQ{d^Y<`U_+9?=-le2=-FWC(I1kOq7RknmjJ)pX!+h;#sfBmf}-Jzqz_LB9K(z>u0L zT#c#efKw=>=PMOR0z%X->QBC>N#a3>1i>0`T&ZInNC)TwGnaYX;hvHpG$NT2=W^Z0 zQgT9x=VRTK3?mEyKmZWNl_^lUkrD=!{lJ4*_{ymsg+4`?Bcfy>A=J7=gVgmsU%6Il zp47OGA){&|;_K9bp65U&iE@}Hh4QD6${Rj@4kKUr)>Yo6j7t?#j4>5RnNJ9$Ncb98 z4i_8(M-x5(!WXWxNCjCFNFok(M;QhvV+3ewLnVs=$tb~07X(mGg@$04Gl&rs5c@=6 zN*UH%h?FyQs7diOR65Aj6(vMLgpsC6<|=!1@vb=e<;&YY6fZ9*<&%~tjPE}ck5oPp zSzfQj3z~QDn&d%V$fWowPn8`mO-JXJX_Xoak;fRdJi7TUi-0P*A zrn%OD4X#zDksx=KLhzROj{P`>I_yJC%xxZd`$E(+sAw6Z0WMMmfB1n z%5=~MgU7V4SXeqO$8PNVy-VBoy?Z9(6okEtgpJk7uXg5f<;i;3H5Nwan7o2x+1-DQ z*OTEF#p>fT?|par{L1GGpuYyI`)!HI-f7w8nY5ZH4CX_2Oajs0)a#rYleit%ozdv9 z+{VL2xb2R`nCkvLK5ORvqZBk6t(~;&mWA1yRkLv)8jdxX9+N|xx;{h)w)vgow$aWAL?&Ra67q<4vvsj9Cda+?yjfHxFaGl z95(&Kf=w#G`yGDYJ}_ZuL6d}wbp-ki-jgz%-dyh#b%?_Dm_+{zRuXWBae=TZK-3dJ z*9lcg%ZDn-Ll-!{PCUej04fx~^9A9$s?!)sB$+CZzvZE4q5o^JI-B^CU(JnmvquNN z8sh9UQ~@b3$vVQ_ML6RFQX4wo!-KzDnf;}C>9R(z%_3QPbC9*WV%fbm%`gGAHlOVu zhoW_hj)^nxh~QN3wuhW#9fmi29-iBWMSHPAx8$^l>^Qxow3nRqUK8II@h}97eSI+L zdR}(g=$MFYp16-qw`diU0qL1G<-C|xTirL-Gla5ct$i4>YiskQMsiF0F6?UWUQ*vs2^GK%s^@>uof+G!Oep$egEb8|gvTI=)58TO)r z&}C{DmoU~28@>9Dz%dXMu3FEWb%ASqf?<-p%zCC_CA3naj zXuituvy*(TR-9EQc)mu@77ad!zLw_SHI6S;Umtq@Nyzu6**_$taI%vuerrYljgIeb nPXCyWAeMRI#OZ$s&39*r|Dr@){sg9ySsq-I&zSx4<(FRp)5AQF diff --git a/tests/repository_data/repository/metadata/snapshot.json b/tests/repository_data/repository/metadata/snapshot.json index 017cb34e3f9804c3db056525204f5d1f78e395be..3d2aa1881dd6f26c198d6efb8656afb2e25e2e09 100644 GIT binary patch literal 1380 zcma)*!EPKk42JK1ip89pR1`&0$}MkD)IGH*3X-C{PE)Vp-4;!QynDIh1Sn7#FfcQR z(G2AfY>Rx9I-F6o zP7AZ4$X$fP-MA>M#28}jhQk0b%Ak~&OrcdBCM`&Av zE7rxdV0FU9RZtd2@si5jCK<)@)p|%{A8H^XxtDCKS-C^CCG0s7retra&RTj7CdTZ` zm;w|l$qI^*%6kqdL>5>;K++>`>F?rVwK$*>VqlNv(R~m>@bpk47+!~sl{<3N4lFZ9 zppf}Ub5b#_%0QHIr0N)ROHRJr9DYq+b|~XY%N54$x67x;xFT}9T{f#ov$j z&)9CYV0lv@ub)bJw_iU$f0W$m*E)yo>2$ih{ct`#e0y`)j(R@s=Y+I_V0wiYu{@7O4lWlTcD!cAvj> z|BoyfTwaj%_U@lo8J6+&iCus*N9+O8V&Cz<3Un z=I75}pZxjmuw5SRAMN_*b6mD}hhOdvhtK&tY`@2+2hYkD0b(p(Xd?FMpjvx#S-8}3 zfGw@FaCPXqU@otsKuj1Vc*>4;{&;+UJidSP!}0iaDIMGzNznn!9tBD* z9!+|ItV{-rYC3|bGeuA(jgTl!rq@Aiu=-dWldG_3^yRCU>0JN`FvW;TDUQ0B!>wS|+BAGf$Vi8y0=8UQ+$N?b(o&nfECR2!)U~EJ z09G6p02Rt=ow$KbU8_z~ETuykHVRlb@D^MxXC zU?%|~Mo#Z4g_(M0hize)$y7n<%c_@REd?`SpzbgRRZy(Aaa;m2L~AUibqPvtI$L&P zh1q7-b<}Wi;iWy>wkKz3OYu@(+3Q~y%aY|r-F5*s z@Jno;m&#*=?~sO<0Xh86IsEee>-#UievHDCwJ|BDeaskqQlxUu076J7Aq7%8qG9Ps zn1DG)31mZL?F|b1H~n@9DU=#Htu&xESrSUJI-moaM3l-~qg*s1U^0|dE|XGd!GLu> zs;ohP#pH4#C6S{p1+<0|Glgu)rRa=HO;M+b`_Wy;AW%v|shH2_${ zG3ZPhat=~x)T|>AfR~A~)0|Aq-neqWN6NyPtN^kIE)`0$l07GliChc?I)U*_sl3ld zN2#rFgasJHA!+HO6w*j93qEO-07@BA`jfJ@++uKL2bqKezAQX2ruvK1L3@O?}5nZ|nk0qz512{wMrOjSthg@no z#UPU^Dw8tg&^t>d5upWOQI{NfO$L23oWW?aQ5NrF^qi$dWq`{sU|W23D3}#$G{#8E zStKjpd64GquWyGROT>nZOTwtAI0cmjqA7`i3Ar?pg)y)!S(}m>BfG*Ylq;VjgRuGS zr|&)=R&BZ*PAdJ_xi}kVp@z%nyW46vX^hRjwPBn!JDudJuK)17&btn~>>E$L)B4%$ zVSYLA+xGLten*|@dbYc1Pj9;Q$2h5)x7Etf@#dtnO~?1=)8ppgY_h#dwf@y+cXjUL za$Y-I<5D*dv~rF1d7Ml-mEY{Q-h8O$Pft(N)@_B8_JTe=ye{vqWizd5<@L$bU$94wNLL5PDT$s9Cdcr{o87|+^=f8`f_kJ?>OkmI?nts zJlEZMBgA228b;V&OpBcDxWA4~d}NbbH@f%uvh3;6q`JPXHoRQSTMIR>ZTiDaqbc{7 zr`u!d590E8&S}ehdS5x`|9t53YimKHAzbTa_paOSPWCUeBIEAu`=h}RDdNLsU4~!& Y_<6H_=HK7?M?e1W2>;M1& delta 1112 zcmbu7OLF2j5XLKy$s(IMLZ+s&NwGj`y;@lfVDJkJ_<=ED(^5;u1N>pIjj=cEvP;#Z ze2MIHfgC5th-R)3l@@w-_xJnyueYDye*XCbS{=wl#30cL!t&gUi0E|o93UG-*`wqH$s~|MdC*pR1Vb)r zA&JZMDTtJuve{YVRR$*z9Asp}C1#caFsG7Ki4u<#b4~!>mzCPbWV5$EX|GgZ|3yz! z?1DnmpvfK$c` zOp$VuA_W9e*@V3}KvJ``p+pwCyd=(+g9Q_aoG3y<@Wc?M%V1(r1XkpN#02CfZ=Gevf6VlEQQfYCl*N;_W&Y;a)n@$ z>Gh}Ye&6c`QQSPM?k3l|yN`>bRnJYUPxGgqIIUeT)gka?W-oS|!}feB>*wwM+{o78 zvNQU$9`pX9@};K#;dcUuP?cjM7m?6%XY*}Gd@-W*KKLvwCBmTcm{ZU-hP4S z-U>^B(Ntx7l6dN_D#->%LE z9b3BXeb-o@MJkRn>gf~Tk9oJSuq_wWe;Ul)T{o|+F`f^$=!p-frUZe4_KOU~<%hS8X z`m(ipuEMa>-yIK@SIbtjQJsu$Zyt}H2`{dW)1-U7JKN4%vu00000 diff --git a/tests/repository_data/repository/metadata/targets.json.gz b/tests/repository_data/repository/metadata/targets.json.gz index 9e6ad7d2a323694978a84d59aab57ecc347ce781..874b7b776cd2fd24a0cc20229b4af25df0f9429c 100644 GIT binary patch literal 1215 zcmV;w1VH;AiwFRUq?1zu|E*P9QyN(ie)m^Uye3)C{gSsq&_!+vg5r|eI+s3x;(#!M zB;|ik1BPT%wN?AD)G(JmXS)0A{`#A5C#CXgI?i43vV>LnbLp>>Qt2E1OXWw{P9s{% zj_4?*^GtE=Qn1>y$Wlti5JD9--bTh<5I|KV!iJO_HBnjzT#G>JP$r9XEA4Qgofxb zJP7V6mqf*Y`5NLm)s7M>sHT{F}prGAZ#TFbbbcibRV7-$F8J!Rvu#=8kqeKKvWzsCE z0BB3zS?U>L^h`t*w2~3qK{zo1v3V6Wk0NLeV z4?+kUQzBkcZKxw(mL)@EI(phW{*lCT znAdLhb6=^vc=5Ao*zNnY`&DWe^>*p1Uuo9QN{!lZZye>Vdc9JA$l8_h3d4Jp=CiFdx<87tefL)&UP+d|U-C9!u!+GKgKf+@T2Qt3N>OXX>No&=1P zjS>!|m)2REk_?Au7K2qm0n@=6LInjEKzPlG0%EzNl5%RLBqEeQ9Ps9GlP?Z{*Zr*D z&puxD`)^B_!9LEJl)`yOjV53a(-Lot7Rd(3lH`!Ap&_y;Bcp^{CKR=XNzh&p3IQ)0 z9f?tMm9&zUC#H#Enk5rtK+Hr5Gbv(boFE?X5K?5!TD;>vs$`Xo!gB6{-Pi0nSX^P8 z6BiPfD)`8h4Tj+<)*B&%6p(13xBxUrr)cC@I&(HkPpk`yC1R{}3_OCmCL}Tr_=^-I0r4T4NfZICK?4$$w8v6{ za)Fx|jWsUBGK%5#r1a&(n<(R6EqgJR|Jpn+<6a^ISdHUmeb7xg#917}X0j;OZyOJ) zeSavGb<)9Wo7A32Vy))DQBX_sTDWZshM1eA3%m>Cbk`ZZqM>+uiNMf~y zqi~PmEzExIE0vdzZZ`4zeINIqTH~yBS-QHZwOjSlMdSVud?-4tR;~3lyR40;-}33? z%s!D?)@wAgtXt1|Cfl#q#}|0t$V3L+F2d(GSJ9=~IVXRPN^djD=CI z`n%OxV>+kR>qd7fY5i)@y#2Pk?cS`P=;n@u$85G6SDEm;;q8#@whu+EGnozUPe*c7 zo2uq;G|V3_nQ2`&Uf6SIVNm+T`8iMZ>(dujjkl9_ZPYavo!h2bGcL&OL$MiLcANR! z?5e83v8r^;)k|Z%xV&mAoSU!t%@ge|W{r6-6S-qsquW)Z`pvT%Wc10LM(jg{y_|iX zPvy!_+r4bm+;$qPkul8N<##5lHK!M%2RENjS4FF`AS5nDh4vmzecNq4RhEN?V&?A0 z+iC@dz3#BLoX#&Mv*n<^crIM8+1<6S<~Q?tEh|0`$M=ut&tUpDtvG7m?Jl>|dfx6_ zJrwzM3Yp$p6^vHopUHa`gRtG24$C{aN0ZleZGfakrctUkznO zIQd8@UIRit9j?)F65rBzpTfg=^l;w$EatGzr}4@#j2x< zv6#Af=9YjmYE`>Yf)1Wt zW-lqJWhtUSXl=y*#8wE&dUD7lbvTzXk)#1z6)(NyGH1ytH};t;7VOk#O71XH>zNT1 zMoeLa$+Bpen6pWrtqj;~aDx=n*vzwr!?;?s#YZt})xixDVJ=wnr~m|93gw!k zO=~^6I1SI#v`+IDS*haSxB`hR#RmyscCFAln8>6GTDO7Fp%%~~m{N8ko6}0h939Mk z_Edlbsl)(axon#vY*Nfn(Y+da?VerN~@U zPC~2^jxeYwhY4DOlb4I#*Wl$0rEj!sFfQNL-;cf_a?_q}eLbDIS%%;FZCj5I_ZzwY zsXf2Eyh8W%aQBM!*G+q?E&lv?d}VzhNN@=l&kexU`T6`Ry}tGNC;MR@?>xOTH2U18J=pS+Jv; j`U)dAkGoQkDWi1B(q->0k|R7keTIV?u^LGQV_^R6KR$p?F#&dt5ZoYviy-O;MT0nI z0h!w)=CJaPiIH849^LUUC&0RMpFc*fO7n|uwQwVwM3WV#BEtK!kvau~Pl z~6*Z6%)y+>1$b*MhDjzJ}YLOtMp%!2t!T;nz*olP-D%qx}%4{_pSae|`HO D%I2gl diff --git a/tests/repository_data/repository/metadata/timestamp.json b/tests/repository_data/repository/metadata/timestamp.json index 73cd3b4c18f1b2bcbb01645f57651a25410bc321..61dbbcae767f9658fee8c01e00322029b6131165 100644 GIT binary patch literal 924 zcmXw2-Krcn48A{4vCMT7Bukd9+~o~QH&-pC$hMT-r00k1wlsvido^+uoi2csQND`uF^N*ucuoEfiKq6E%C!;=qr3bSk z*z8zjR_jUWq%m=IuMyqGkf~T#Ll@MM${LxjG8x!;jKoHzHf0wxT9S2=20@JlaP&6Y(pj<<=#xFXt>|to zk!6-y%itI;>8ooS6HFnYJ=&iH=KW%rjvEQ_Ib9JZ{*oIPi_^FjfrOo5WNic7;N3X5}KTG#5i z7nNuhwd$5R`TlVFGxKtU()YCNVch<@e|_;iA|I}ge!JV_%aNST|9iQ<=61_@!5hF_ z9{}DR>-X1789e&|l(p3E^?gJ`{;!?@%rQv3nxpY7lbZAR{~v(e@p%9M literal 924 zcmXw2ORgL@4BWp{40;_Kq$qymoo^6iyh;!Rltg*P&ilYK31S$&d)WPKKn--0B3Z1e z{`PR%Zr6`be*fo7+_rb8KORn}Z~2_I&++v-GqSDGAPl!`x@m(IHb9_6 zbSl=R6zFw2TN%ACG({e3VqL2=1!kvG$=Wd1s>%)~y4DJcHpqp*lvE?ItQuJ_5-_!L zb+aCl_0~!@Efd>l#4(}Fg*av(9<^ZMmEXkZu@_Z^mX$J>pjy#|m1Qjv;DC{DtRM{VDD9=NM)#0D^Ug4$T0Ey=CrMyqB#t6Nw78j= zEKUW12#uSth4-Y?2ja{PQJiNi?l5|AO5bNI1C`jU;sUWglp+}lYqNJj)Hb7uwlPO~ zq^63Fv?!NZv(_zr^8MlTXZqzZW$bR*&A9z_|N0WUMLt{~<97GQm%}+*{P%Kw_3f4f z!W+Om9{}DR=l9o3X*~bYDEmJ7%kA=ffBWh7{PZ(=+Ae;(9R5GNpA&BvFD(1W)uuxS z?>>plDFs^tU3T!(#y~doo^FD4R7?3rBn RHM#v8UvAd}6h375`~O&Q_Kg4l diff --git a/tests/test_repository_tool.py b/tests/test_repository_tool.py index b4fcc7da..17db845e 100755 --- a/tests/test_repository_tool.py +++ b/tests/test_repository_tool.py @@ -878,7 +878,8 @@ def test_delegations(self): threshold = 1 self.targets_object.delegate(rolename, public_keys, list_of_targets, - threshold, restricted_paths=None, + threshold, backtrack=True, + restricted_paths=None, path_hash_prefixes=None) # Test that a valid Targets() object is returned by delegations(). @@ -1012,8 +1013,9 @@ def test_delegate(self): path_hash_prefixes = ['e3a3', '8fae', 'd543'] self.targets_object.delegate(rolename, public_keys, list_of_targets, - threshold, restricted_paths, - path_hash_prefixes) + threshold, backtrack=True, + restricted_paths=restricted_paths, + path_hash_prefixes=path_hash_prefixes) self.assertEqual(self.targets_object.get_delegated_rolenames(), ['targets/tuf']) diff --git a/tests/test_updater.py b/tests/test_updater.py index 26694ea6..663e2cb0 100755 --- a/tests/test_updater.py +++ b/tests/test_updater.py @@ -843,7 +843,73 @@ def test_6_target(self): # Test: invalid target path. self.assertRaises(tuf.UnknownTargetError, self.repository_updater.target, self.random_path()) + + # Test updater.target() backtracking behavior (enabled by default.) + targets_directory = os.path.join(self.repository_directory, 'targets') + foo_directory = os.path.join(targets_directory, 'foo') + os.makedirs(foo_directory) + foo_package = os.path.join(foo_directory, 'foo1.1.tar.gz') + with open(foo_package, 'wb') as file_object: + file_object.write(b'new release') + + # Modify delegations on the remote repository to test backtracking behavior. + repository = repo_tool.load_repository(self.repository_directory) + + + repository.targets.delegate('role2', [self.role_keys['targets']['public']], + [], restricted_paths=[foo_directory]) + + repository.targets.delegate('role3', [self.role_keys['targets']['public']], + [foo_package], restricted_paths=[foo_directory]) + repository.targets.load_signing_key(self.role_keys['targets']['private']) + repository.targets('role2').load_signing_key(self.role_keys['targets']['private']) + repository.targets('role3').load_signing_key(self.role_keys['targets']['private']) + repository.snapshot.load_signing_key(self.role_keys['snapshot']['private']) + repository.timestamp.load_signing_key(self.role_keys['timestamp']['private']) + repository.write() + + # Move the staged metadata to the "live" metadata. + shutil.rmtree(os.path.join(self.repository_directory, 'metadata')) + shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'), + os.path.join(self.repository_directory, 'metadata')) + + # updater.target() should find 'foo1.1.tar.gz' by backtracking to + # 'targets/role3'. 'targets/role2' allows backtracking. + self.repository_updater.refresh() + self.repository_updater.target('foo/foo1.1.tar.gz') + + + # Test when 'targets/role2' does *not* allow backtracking. If + # 'foo/foo1.1.tar.gz' is not provided by the authoritative 'target/role2', + # updater.target() should return a 'tuf.UnknownTargetError' exception. + repository = repo_tool.load_repository(self.repository_directory) + + repository.targets.revoke('role2') + repository.targets.revoke('role3') + + # Ensure we delegate in trusted order (i.e., 'role2' has higher priority.) + repository.targets.delegate('role2', [self.role_keys['targets']['public']], + [], backtrack=False, restricted_paths=[foo_directory]) + repository.targets.delegate('role3', [self.role_keys['targets']['public']], + [foo_package], restricted_paths=[foo_directory]) + + repository.targets('role2').load_signing_key(self.role_keys['targets']['private']) + repository.targets('role3').load_signing_key(self.role_keys['targets']['private']) + repository.targets.load_signing_key(self.role_keys['targets']['private']) + repository.snapshot.load_signing_key(self.role_keys['snapshot']['private']) + repository.timestamp.load_signing_key(self.role_keys['timestamp']['private']) + repository.write() + + # Move the staged metadata to the "live" metadata. + shutil.rmtree(os.path.join(self.repository_directory, 'metadata')) + shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'), + os.path.join(self.repository_directory, 'metadata')) + + # Verify that 'tuf.UnknownTargetError' is raised by updater.target(). + self.repository_updater.refresh() + self.assertRaises(tuf.UnknownTargetError, self.repository_updater.target, + 'foo/foo1.1.tar.gz') diff --git a/tuf/client/updater.py b/tuf/client/updater.py index 6d57ba9b..e3ff4640 100755 --- a/tuf/client/updater.py +++ b/tuf/client/updater.py @@ -2300,15 +2300,28 @@ def _preorder_depth_first_walk(self, target_filepath): if target is None: - # Push children in reverse order of appearance onto the stack. + child_roles_to_visit = [] # NOTE: This may be a slow operation if there are many delegated roles. - for child_role in reversed(child_roles): + for child_role in child_roles: child_role_name = self._visit_child_role(child_role, target_filepath) - if child_role_name is None: + if not child_role['backtrack'] and child_role_name is not None: + logger.debug('Adding child role '+repr(child_role_name)) + logger.debug('Not backtracking to other roles.') + role_names = [] + child_roles_to_visit.append(child_role_name) + break + + elif child_role_name is None: logger.debug('Skipping child role '+repr(child_role_name)) + else: logger.debug('Adding child role '+repr(child_role_name)) - role_names.append(child_role_name) + child_roles_to_visit.append(child_role_name) + + # Push 'child_roles_to_visit' in reverse order of appearance onto + # 'role_names'. Roles are popped from the end of the 'role_names' list. + child_roles_to_visit.reverse() + role_names.extend(child_roles_to_visit) else: logger.debug('Found target in current role '+repr(role_name)) @@ -2350,13 +2363,15 @@ def _get_target_from_targets_role(self, role_name, targets, target_filepath): target = None # Does the current role name have our target? - logger.debug('Asking role '+repr(role_name)+' about target '+\ + logger.debug('Asking role ' + repr(role_name) + ' about target '+\ repr(target_filepath)) + for filepath, fileinfo in six.iteritems(targets): if filepath == target_filepath: - logger.debug('Found target '+target_filepath+' in role '+role_name) + logger.debug('Found target ' + target_filepath + ' in role ' + role_name) target = {'filepath': filepath, 'fileinfo': fileinfo} break + else: logger.debug('No target '+target_filepath+' in role '+role_name) @@ -2434,7 +2449,7 @@ def _visit_child_role(self, child_role, target_filepath): # The 'paths' or 'path_hash_prefixes' fields should not be missing, # so we raise a format error here in case they are both missing. raise tuf.FormatError(repr(child_role_name)+' has neither ' \ - '"paths" nor "path_hash_prefixes"!') + '"paths" nor "path_hash_prefixes".') if child_role_is_relevant: logger.debug('Child role '+repr(child_role_name)+' has target '+ diff --git a/tuf/formats.py b/tuf/formats.py index b7b3df59..f62899c0 100755 --- a/tuf/formats.py +++ b/tuf/formats.py @@ -369,6 +369,7 @@ name = SCHEMA.Optional(ROLENAME_SCHEMA), keyids = KEYIDS_SCHEMA, threshold = THRESHOLD_SCHEMA, + backtrack = SCHEMA.Optional(BOOLEAN_SCHEMA), paths = SCHEMA.Optional(RELPATHS_SCHEMA), path_hash_prefixes = SCHEMA.Optional(PATH_HASH_PREFIXES_SCHEMA)) diff --git a/tuf/repository_tool.py b/tuf/repository_tool.py index 1d3ddf92..c6466cb1 100755 --- a/tuf/repository_tool.py +++ b/tuf/repository_tool.py @@ -1920,9 +1920,8 @@ def get_delegated_rolenames(self): return tuf.roledb.get_delegated_rolenames(self.rolename) - - def delegate(self, rolename, public_keys, list_of_targets, - threshold=1, restricted_paths=None, path_hash_prefixes=None): + def delegate(self, rolename, public_keys, list_of_targets, threshold=1, + backtrack=True, restricted_paths=None, path_hash_prefixes=None): """ Create a new delegation, where 'rolename' is a child delegation of this @@ -1953,6 +1952,17 @@ def delegate(self, rolename, public_keys, list_of_targets, threshold: The threshold number of keys of 'rolename'. + + backtrack: + Boolean that indicates whether this role allows the updater client + to continue searching for targets (target files it is trusted to list + but has not yet specified) in other delegations. If 'backtrack' is + False and 'updater.target()' does not find 'example_target.tar.gz' in + this role, a 'tuf.UnknownTargetError' exception should be raised. If + 'backtrack' is True (default), and 'target/other_role' is also trusted + with 'example_target.tar.gz' and has listed it, updater.target() + should backtrack and return the target file specified by + 'target/other_role'. restricted_paths: A list of restricted directory or file paths of 'rolename'. Any target @@ -1986,17 +1996,21 @@ def delegate(self, rolename, public_keys, list_of_targets, tuf.formats.ANYKEYLIST_SCHEMA.check_match(public_keys) tuf.formats.RELPATHS_SCHEMA.check_match(list_of_targets) tuf.formats.THRESHOLD_SCHEMA.check_match(threshold) + tuf.formats.BOOLEAN_SCHEMA.check_match(backtrack) + if restricted_paths is not None: tuf.formats.RELPATHS_SCHEMA.check_match(restricted_paths) + if path_hash_prefixes is not None: tuf.formats.PATH_HASH_PREFIXES_SCHEMA.check_match(path_hash_prefixes) - + + # Check if 'rolename' is not already a delegation. 'tuf.roledb' expects the # full rolename. - full_rolename = self._rolename+'/'+rolename + full_rolename = self._rolename + '/' + rolename if tuf.roledb.role_exists(full_rolename): - raise tuf.Error(repr(full_rolename)+' already delegated.') + raise tuf.Error(repr(full_rolename) + ' already delegated.') # Keep track of the valid keyids (added to the new Targets object) and their # keydicts (added to this Targets delegations). @@ -2068,9 +2082,12 @@ def delegate(self, rolename, public_keys, list_of_targets, roleinfo = {'name': full_rolename, 'keyids': roleinfo['keyids'], 'threshold': roleinfo['threshold'], + 'backtrack': backtrack, 'paths': roleinfo['paths']} + if restricted_paths is not None: roleinfo['paths'] = relative_restricted_paths + if path_hash_prefixes is not None: roleinfo['path_hash_prefixes'] = path_hash_prefixes # A role in a delegations must list either 'path_hash_prefixes'