From acdb3559180d30585f18dfeac271f6bc6d48b665 Mon Sep 17 00:00:00 2001 From: Kamil Jarosz Date: Tue, 3 Sep 2024 12:53:58 +0200 Subject: [PATCH] tests: Add avm2/sandbox_type_remote test Verifies the sandbox type of SWFs loaded through network. --- .../swfs/avm2/sandbox_type_remote/Test.as | 24 ++++++++++++++++++ .../avm2/sandbox_type_remote/TestNetwork.as | 11 ++++++++ .../avm2/sandbox_type_remote/TestNoNetwork.as | 11 ++++++++ .../localhost/test-network.swf | Bin 0 -> 755 bytes .../localhost/test-no-network.swf | Bin 0 -> 761 bytes .../swfs/avm2/sandbox_type_remote/output.txt | 3 +++ .../swfs/avm2/sandbox_type_remote/test.swf | Bin 0 -> 1095 bytes .../swfs/avm2/sandbox_type_remote/test.toml | 1 + 8 files changed, 50 insertions(+) create mode 100644 tests/tests/swfs/avm2/sandbox_type_remote/Test.as create mode 100644 tests/tests/swfs/avm2/sandbox_type_remote/TestNetwork.as create mode 100644 tests/tests/swfs/avm2/sandbox_type_remote/TestNoNetwork.as create mode 100644 tests/tests/swfs/avm2/sandbox_type_remote/localhost/test-network.swf create mode 100644 tests/tests/swfs/avm2/sandbox_type_remote/localhost/test-no-network.swf create mode 100644 tests/tests/swfs/avm2/sandbox_type_remote/output.txt create mode 100644 tests/tests/swfs/avm2/sandbox_type_remote/test.swf create mode 100644 tests/tests/swfs/avm2/sandbox_type_remote/test.toml diff --git a/tests/tests/swfs/avm2/sandbox_type_remote/Test.as b/tests/tests/swfs/avm2/sandbox_type_remote/Test.as new file mode 100644 index 000000000..bf7b922e1 --- /dev/null +++ b/tests/tests/swfs/avm2/sandbox_type_remote/Test.as @@ -0,0 +1,24 @@ +package { + import flash.display.MovieClip; + import flash.display.Loader; + import flash.system.Security; + import flash.net.URLRequest; + + // Compile with network enabled + public class Test extends MovieClip { + public function Test() { + trace("Current sandbox type: " + Security.sandboxType); + + var test:Test = this; + test.loadSwf("http://localhost:8000/test-network.swf", function():void { + test.loadSwf("http://localhost:8000/test-no-network.swf", function():void {}); + }); + } + + private function loadSwf(url:String, callback:Function):void { + var loader:Loader = new Loader(); + loader.contentLoaderInfo.addEventListener("complete", callback); + loader.load(new URLRequest(url)); + } + } +} diff --git a/tests/tests/swfs/avm2/sandbox_type_remote/TestNetwork.as b/tests/tests/swfs/avm2/sandbox_type_remote/TestNetwork.as new file mode 100644 index 000000000..5b17803cf --- /dev/null +++ b/tests/tests/swfs/avm2/sandbox_type_remote/TestNetwork.as @@ -0,0 +1,11 @@ +package { + import flash.display.Sprite; + import flash.system.Security; + + // Compile with network enabled as localhost/test-network.swf + public class TestNetwork extends Sprite { + public function TestNetwork() { + trace("[Network] Current sandbox type: " + Security.sandboxType); + } + } +} diff --git a/tests/tests/swfs/avm2/sandbox_type_remote/TestNoNetwork.as b/tests/tests/swfs/avm2/sandbox_type_remote/TestNoNetwork.as new file mode 100644 index 000000000..fd2ee5b23 --- /dev/null +++ b/tests/tests/swfs/avm2/sandbox_type_remote/TestNoNetwork.as @@ -0,0 +1,11 @@ +package { + import flash.display.Sprite; + import flash.system.Security; + + // Compile with network disabled as localhost/test-no-network.swf + public class TestNoNetwork extends Sprite { + public function TestNoNetwork() { + trace("[No network] Current sandbox type: " + Security.sandboxType); + } + } +} diff --git a/tests/tests/swfs/avm2/sandbox_type_remote/localhost/test-network.swf b/tests/tests/swfs/avm2/sandbox_type_remote/localhost/test-network.swf new file mode 100644 index 0000000000000000000000000000000000000000..c52164511517d643ee596da76f27133c2a24d05d GIT binary patch literal 755 zcmV@$4#qq<9m=DD?F4n$?G^frd38k@4u_>-wdDFerCh7k z6t$vMDn(!vgR#TNsOSVw3eDJ{MFZWpJZ8C$92t_X8?wDZVdiS+H>O_b+p(pgE7Ya~ z>aaj5m&#yd=ylWe2ZS|==h>D{B0FVN4EnBqHYDe?Xxb#`HXy(ga0`#OgS&Sh2{9bY9rCt)Nf+>vP(!$%e#-1KrRu;!I=V zoEXV;pAzQ&S9DE_BsOt+A?eX3bvkd_vF8mG-+(aMY*SCJZp#(5vNKIL0vk&7@(Y!i zAyC{VTFr!8$0x;C`|bAIlh-XYS%VI^HCmZJd;=YDS65f>(>#Pkm_p|4M-{pRp^FEf zFTTL)XZn-|?3l8l>z|?T8+i_)h_HxeP$`n+mlnYd1**Ecy8x9)kYGO1sr+H)r^yGQ z??X$-0db73JCfPhqjfpirh4dGY`h$IKq(jpj1HD&q*LJJ7krh4^~zLWSb=AgvDo&& zg^DNLk5p%CFV5kp7K8|c-tlMVG(v-w2nWfOx_;y^3aK*doKBJ4t@wcpKZNB_|6!-o zb34rK=ur2LK~2lCqBidIsqOKe8}Q|4JNawU-FUfLmJ&F}<)mDC6X#aZlEeuTFG^fe z;;GNF{rE3`DNR(EN9Z!C;q8RRnViXgJ;eCwWeR8<2a?)E1)@liCYqwENv5P~Ni(Tx lDKn*NX)~>A2{RFY-l0eF=nJ6W!61{p+ZfLw(SO*xT$?eKd`SQR literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/sandbox_type_remote/localhost/test-no-network.swf b/tests/tests/swfs/avm2/sandbox_type_remote/localhost/test-no-network.swf new file mode 100644 index 0000000000000000000000000000000000000000..50a884bd7f9f357a3b83dfc8b40bc2bafceba5fc GIT binary patch literal 761 zcmVTEIkMjJOPE_QK4V z(P$cSX>Xyfv`u?E;K{^);6L!mzu=?Kz8HRkFZwut!8|Q&h(36e+w^|t`@VB-&*=yW z-w|5*gwQrd&9!ZW(7Wspj8NUvjoNARNE!_++pocCKi_A}t;zCmI4lk;MaS#OrE0Y* zD`mM{E&!w8k8MUq1>4`rHzI>3^)=6Qnd#V4Xh^zF!1nX`nX9hdn7V;yMV7iIQ;QC$ z&3w63EP;`()eOfQ5Y`~BYnd7e?c`Cx?>pN0kX+D$VG+Mym*>P#!%Sw;#(_(;K9!Cv zI+70N@`yZTgj{`IXJd9t0~AFPsiV3g#h<)T=LTKN^!wDi&eL`bHY6S-bOKwCDvgA5 zVkpx*N|^Is(KRiUSj6rHq(>Xn?!0J6o;Of*1Hx#dO^QfJg>EvH4<(DBaEmyP=zM1ir0XHYSeZKW6CoD99)+gkvO#E&tLXmsaI%aQD< zu__$~o(Iz*`NY<{&PZZom)4|2n`(h)vhi{>3`KwJGdftBkEyNEU_&-dW zdUraVp3`AYM}slw=+rQ6Go0#9pIR>OIzC@|{AlZ%^mn{eDT^_j<8opywT*KtXi4M* zk&la9LgcV0z;RiOr$u2^6f&Z)23><*pd@S#aqBp{v5B)eEX0zrs6&{;LK8y_^9bWa zlAkEgpm#h@rtbaXFU5%h`xsp&RJ0+cgO+U^PoEP3p6 z&Ue1^otZNyNd6t6sqYY)!>Co9M+kjY{sSYl5n6U*uhrI0`mPr>z`D2C<2-2S`fxa` z4OeS^c&M+et*z-sU9Z=xfT%{N9;YW&FS@nZj0svSGD9cej_+xLkRJF0es6Jc!fKgU zq`@F`V@k`^naldjqI>kUe@XO zHXqUu3i<=jij~HR*FceGhKzFmf0Hg@BE_ZN;eZ~pCiC_mcVf;fSKI;Rtl43Kwz{m< zjr!fOT;bf%#m>KQ5)%&`ZWB!v2J;{9RzKP5be`<)wa|GUCg7!~RrpidK-=Wv;^MQk z1fc}Ha^dKwRhSZlzWn>^@4tb+AJdOm#L*AazX3)>VzYp10#ub_E2qN&uCIja** z-?1{(^S#r)KZq7qWDbF)$@aUxN!^|w@y2_GVdx@M_57;G_|OlJYSGYEU7uQ=p`8$X z3x>i&YO>1qAPix4w1|4vfq$a$(||R!WQUo9(BY@qcvNc9X~bDSGXXsU%w{wv zb3l*B!t~?4hkNXc0r02BB+#%d$fx7NLFgRAnKpz+wBF&N;~gg31J4wfVs?N3(BJ3& zzQt_EbA)TZ$J{^){78CtZ8i0gf9$Yr*9j842cI*O=i}-v5K1{*lW?*+lj??%QgDULl1i>JQ+Z_$ zSKdMumB^};P;pWvSS4vy&Z=ZeRi;$}p*b}%uaZ|)a#JO*smhxwxuqr-ROPm+EUL=e zs2<8VaR+Pfz;_wT`IL$zENvlK3@lc#+`@=pl0X=z z($cwcUyL%&W|hCB(G(a&BH5eOWurT7PaEACd&cPI?R>m^if)ddo(y>k(4@*& N7km>o?jMmW)X%i^E%X2Y literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/sandbox_type_remote/test.toml b/tests/tests/swfs/avm2/sandbox_type_remote/test.toml new file mode 100644 index 000000000..568cadba5 --- /dev/null +++ b/tests/tests/swfs/avm2/sandbox_type_remote/test.toml @@ -0,0 +1 @@ +num_ticks = 2