From a971a0f39e9454da5f787cf33e8d0609eb1d86e6 Mon Sep 17 00:00:00 2001 From: Tomasz Iwanek Date: Wed, 17 Aug 2016 10:33:53 +0200 Subject: [PATCH 01/16] Remove TODOs These TODOs won't be fixed or are already fixed. Change-Id: I78138e9120b1720986dddb44ab16d55e96432b0e --- src/wgt/step/configuration/step_parse.cc | 27 ++++++++++++++--------- src/wgt/step/configuration/step_parse.h | 1 + src/wgt/step/encryption/step_encrypt_resources.cc | 3 +-- src/wgt/step/pkgmgr/step_generate_xml.cc | 1 - 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/wgt/step/configuration/step_parse.cc b/src/wgt/step/configuration/step_parse.cc index 77f63a2..5b9fc7a 100644 --- a/src/wgt/step/configuration/step_parse.cc +++ b/src/wgt/step/configuration/step_parse.cc @@ -354,8 +354,6 @@ bool StepParse::FillServiceApplicationInfo(manifest_x* manifest) { application->icon = g_list_append(application->icon, icon); } - // TODO(t.iwanek): what about description, how is it different from name? - for (auto& category : service_info.categories()) { application->category = g_list_append(application->category, strdup(category.c_str())); @@ -560,6 +558,7 @@ bool StepParse::FillExtraManifestInfo(manifest_x* manifest) { } bool StepParse::FillManifestX(manifest_x* manifest) { + // Fill data for main application if (!FillIconPaths(manifest)) return false; if (!FillMainApplicationInfo(manifest)) @@ -576,18 +575,26 @@ bool StepParse::FillManifestX(manifest_x* manifest) { return false; if (!FillMetadata(manifest)) return false; - // TODO(t.iwanek): fix adding ui application element - // for now adding application service is added here because rest of code - // assumes that there is one application at manifest->application - // so this must execute last. Don't move it above any item - if (!FillServiceApplicationInfo(manifest)) - return false; - if (!FillWidgetApplicationInfo(manifest)) - return false; if (!FillBackgroundCategoryInfo(manifest)) return false; + + // Fill data for other applications + if (!FillAdditionalApplications(manifest)) + return false; + + // Fill extra data, other than manifest_x structure if (!FillExtraManifestInfo(manifest)) return false; + + return true; +} + + +bool StepParse::FillAdditionalApplications(manifest_x* manifest) { + if (!FillServiceApplicationInfo(manifest)) + return false; + if (!FillWidgetApplicationInfo(manifest)) + return false; return true; } diff --git a/src/wgt/step/configuration/step_parse.h b/src/wgt/step/configuration/step_parse.h index 69015fc..0effc8f 100644 --- a/src/wgt/step/configuration/step_parse.h +++ b/src/wgt/step/configuration/step_parse.h @@ -70,6 +70,7 @@ class StepParse : public common_installer::Step { bool FillImeInfo(); bool FillAppWidget(); bool FillBackgroundCategoryInfo(manifest_x* manifest); + bool FillAdditionalApplications(manifest_x* manifest); bool FillManifestX(manifest_x* manifest); std::unique_ptr parser_; diff --git a/src/wgt/step/encryption/step_encrypt_resources.cc b/src/wgt/step/encryption/step_encrypt_resources.cc index f8d5640..ad5485f 100644 --- a/src/wgt/step/encryption/step_encrypt_resources.cc +++ b/src/wgt/step/encryption/step_encrypt_resources.cc @@ -92,7 +92,7 @@ bool StepEncryptResources::Encrypt(const bf::path &src) { if (error_code) return false; if (is_sym) - continue; // TODO(p.sikorski) is it enough? + continue; // it is regular file (not dir, not symlink) if (ToBeEncrypted(current)) { @@ -134,7 +134,6 @@ bool StepEncryptResources::EncryptFile(const bf::path &src) { unsigned char* encrypted_data = nullptr; size_t enc_data_len = 0; - // TODO(p.sikorski) check if it is Preloaded int ret; if (context_->request_mode.get() == common_installer::RequestMode::GLOBAL) ret = wae_encrypt_global_web_application( diff --git a/src/wgt/step/pkgmgr/step_generate_xml.cc b/src/wgt/step/pkgmgr/step_generate_xml.cc index 879c7fd..16b27a0 100644 --- a/src/wgt/step/pkgmgr/step_generate_xml.cc +++ b/src/wgt/step/pkgmgr/step_generate_xml.cc @@ -324,7 +324,6 @@ common_installer::Step::Status StepGenerateXml::precheck() { LOG(ERROR) << "No application in package"; return Step::Status::INVALID_VALUE; } - // TODO(p.sikorski) check context_->uid.get() return Step::Status::OK; } -- 2.7.4 From 18927bf3b074235761c7366b18876ac913e9f22c Mon Sep 17 00:00:00 2001 From: Tomasz Iwanek Date: Fri, 19 Aug 2016 12:46:58 +0200 Subject: [PATCH 02/16] StepWgtRecoverSignature To verify, run test: app_fw$ /usr/bin/wgt-backend-ut/smoke-test --gtest_filter=SmokeTest.RecoveryMode_ForUpdate Requires: - https://review.tizen.org/gerrit/84596 - https://review.tizen.org/gerrit/84598 Change-Id: I1046976f841a14c6b68d428e9604b29318b6bf80 --- src/hybrid/hybrid_installer.cc | 4 +++- src/wgt/CMakeLists.txt | 1 + .../step/security/step_wgt_recover_signature.cc | 23 ++++++++++++++++++ src/wgt/step/security/step_wgt_recover_signature.h | 27 ++++++++++++++++++++++ src/wgt/wgt_installer.cc | 4 +++- 5 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 src/wgt/step/security/step_wgt_recover_signature.cc create mode 100644 src/wgt/step/security/step_wgt_recover_signature.h diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index 8d3060f..9099883 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -66,6 +66,7 @@ #include #include #include +#include #include "hybrid/hybrid_backend_data.h" #include "hybrid/step/configuration/step_merge_tpk_config.h" @@ -261,13 +262,14 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep( ci::configuration::StepParseManifest::ManifestLocation::RECOVERY, ci::configuration::StepParseManifest::StoreLocation::NORMAL); - AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); + AddStep(); + AddStep(); AddStep(); break; case ci::RequestType::Clear: diff --git a/src/wgt/CMakeLists.txt b/src/wgt/CMakeLists.txt index 2e70267..fece9b1 100755 --- a/src/wgt/CMakeLists.txt +++ b/src/wgt/CMakeLists.txt @@ -19,6 +19,7 @@ SET(SRCS step/security/step_check_wgt_ime_privilege.cc step/security/step_direct_manifest_check_signature.cc step/security/step_check_extension_privileges.cc + step/security/step_wgt_recover_signature.cc wgt_app_query_interface.cc wgt_installer.cc extension_config_parser.cc diff --git a/src/wgt/step/security/step_wgt_recover_signature.cc b/src/wgt/step/security/step_wgt_recover_signature.cc new file mode 100644 index 0000000..d18d172 --- /dev/null +++ b/src/wgt/step/security/step_wgt_recover_signature.cc @@ -0,0 +1,23 @@ +// Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved +// Use of this source code is governed by an apache 2.0 license that can be +// found in the LICENSE file. + +#include "wgt/step/security/step_wgt_recover_signature.h" + +namespace bf = boost::filesystem; + +namespace { + +const char kResWgt[] = "res/wgt"; + +} // namespace + +namespace wgt { +namespace security { + +bf::path StepWgtRecoverSignature::GetSignatureRoot() { + return context_->pkg_path.get() / kResWgt; +} + +} // namespace security +} // namespace wgt diff --git a/src/wgt/step/security/step_wgt_recover_signature.h b/src/wgt/step/security/step_wgt_recover_signature.h new file mode 100644 index 0000000..66545d7 --- /dev/null +++ b/src/wgt/step/security/step_wgt_recover_signature.h @@ -0,0 +1,27 @@ +// Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved +// Use of this source code is governed by an apache 2.0 license that can be +// found in the LICENSE file. + +#ifndef WGT_STEP_SECURITY_STEP_WGT_RECOVER_SIGNATURE_H_ +#define WGT_STEP_SECURITY_STEP_WGT_RECOVER_SIGNATURE_H_ + +#include + +#include + +namespace wgt { +namespace security { + +class StepWgtRecoverSignature + : public common_installer::security::StepRecoverSignature { + public: + using StepRecoverSignature::StepRecoverSignature; + + private: + boost::filesystem::path GetSignatureRoot() override; +}; + +} // namespace security +} // namespace wgt + +#endif // WGT_STEP_SECURITY_STEP_WGT_RECOVER_SIGNATURE_H_ diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index 68d6775..ea96cf2 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -90,6 +90,7 @@ #include "wgt/step/security/step_check_wgt_ime_privilege.h" #include "wgt/step/security/step_direct_manifest_check_signature.h" #include "wgt/step/security/step_check_extension_privileges.h" +#include "wgt/step/security/step_wgt_recover_signature.h" namespace ci = common_installer; @@ -283,13 +284,14 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep( ci::configuration::StepParseManifest::ManifestLocation::RECOVERY, ci::configuration::StepParseManifest::StoreLocation::NORMAL); - AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); + AddStep(); + AddStep(); AddStep(); break; } -- 2.7.4 From 0a8d924a174720c1c77f9a47aedf251fe4e3b7df Mon Sep 17 00:00:00 2001 From: Tomasz Iwanek Date: Fri, 19 Aug 2016 13:09:03 +0200 Subject: [PATCH 03/16] Fix mount install smoke tests Repacking zips. It seems that tzip is not working properly if zip package doesn't have empty entries per each directory in package. New zips have entries for all directories in widgets. To verify, run: app_fw$ /usr/bin/wgt-backend-ut/smoke-test --gtest_filter=SmokeTest.MountInstallationMode app_fw$ /usr/bin/wgt-backend-ut/smoke-test --gtest_filter=SmokeTest.MountUpdateMode Change-Id: Icbe007ccf5524d2a2326f4dbe5c05466d174e5c2 --- .../test_samples/smoke/MountInstallationMode.wgt | Bin 37645 -> 38615 bytes .../test_samples/smoke/MountUpdateMode.wgt | Bin 37842 -> 38848 bytes .../test_samples/smoke/MountUpdateMode_2.wgt | Bin 37846 -> 38850 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/unit_tests/test_samples/smoke/MountInstallationMode.wgt b/src/unit_tests/test_samples/smoke/MountInstallationMode.wgt index ba9d1ea66cbb39e6afd55a9c133df1057918dbd7..56b7ce5f14b537bd5f9fcabec8a2da2a557cf4e6 100644 GIT binary patch delta 24843 zcmaI6V~j3N@bCGIZQHi3GxnUZ&e*nRp1~R0w$IqMZQHiJzyHl{c9XriFRIi1=9@~V zy7H;2jxGURsR9Km$%28S0|3y_00&PrY3v>9{zqs4Kn)cDKnLIh3|(C;?41~#EzRu= zU0j_^89i)m)Kp;rU_lTq8vkRi9&i8<@KZ1V;D0S$np&}$GMIiZHDRbziOFUUUddv# z>c+j77ZcE6W-OU&dn-uS3NKgW*=-B+n{;caK(#DhYhQhW^GMv#wv9%$Tf@=$&hK{? ztBiXj=<|>7{1L(k+P_NJAtWA1Q=onXp}B&7246KqA{%1jPxYS%Ekmgv#J6jo%9CLI zQ<417o9sE8l#EU!X-8j3#0ZhJb_JJQDagTjj7JKe(ebRTy2bKgIe zKteqMsCyo|f4eGb9k~~y;wzaQ`MHl%m`S^+sv_4AL@vQ!?{jqbviO3NwAUz!j@XM+ ze6};=f?t+*O%YhpA(_p6EqUw(*J(G4#VFSviWH1p67FTYmGYVo6c4q39KlUAG$y~_ zD^D$t_Te7)U+`EKpL&$q?S|Ps(sF;kfx@iDS?tYgoDk`oF^8j9lMq6>o=!f`e*y-bIS9x3KR?KXeOmLf2IR+6?_DympJ%DOZ0K84|4p{$c_YTzrw2zptU*+J{8n{sFEp4?KDl&lMqdbr>JXq-Y8IYvUs9!tp3B{UW#M>Vj|FrL?ToNDt=5&xro`h zx`$COTWzM#sqa;Q(;DGMy2Y_a2vuZhF!k-z#*8JvG+dPo+903gR15zvJsA8Fc6>HH zAdO@Zudv=cDv1U^)s=Ym8Q4qSJ3NpW5cDe#z8Idh(3HkY+v8NwQ6ATA%9oB>d;n7PWyX9q%%YLskA2$D5;|=hHHYV@ zyeusIa!X9UNF1li6ld^#aP6zG*o)*0s(^3^uAoQ=3z{=G+HYPk4U~oE2l_a6iLa!s zy)Yx1L_i7;qTxK|`%?VM1WoQoZc8lP&e3F{VST2F0_8fBmcp7_($fN*AlGBlvCMhW zD#>nyPodc}m=7ACgUUIx0?z+Zlba3~&(I+axGREA__5BF)X!u#Xtd3UDQJ17YYRCSFEj+5%2%mwoL< z?J?7963r~J{QTQ1Ad<#ge1DxJim7fGtnCvsiQfR0uquz?F?kr5yr|V-mcs;u4o(Lz z{&}2Np7+lp02w1D)?V0C*fKCe zCI!`spuuZ60iD;bf3f-xFE@x!<}H@zg!{W61rvMXc6BSTQ1ZdMlS5Eugl%0<#?Sj5 zxWsoIisyxwpHK2SSR$+svzVmov*yNOi`E)t5xwlqgLe-J{!J!Uiu^k=J!{LB{3;T5s;82@@T z-}v0)6z!VF#gv{=#eIiJV7e2&0p~{dr^$roN3(>IzYH^jB#pc`k5GwEUYtbuuU`}U z#9$L)fR%##20HZQM(gFG8#X0VdoINq5M#|M6K(xPtI7tLengkz+>>^@|1j?N=0h#8 z=}?-?U}>KACTwZe17|DjMjMm`i3sN<`-?wwt3?H%JFpR!@z#u5{T?GHwx@)_s)T_a_0{>%(*sk?nTw{= z<}w6(D1g>@em(-N7=CQ>iadQZP!<(ap@FZiZ<)t8N0@ugZ}q1LY6lJ3vRRNsLKb!y zkW-tB-%e+@rkqcqkK`|luisXjz?yu)XLE=rb0NeVF6^0zlkSJ5_m$kA8Nbizrhl(Q zpUM$0+^!mLYrd+Fm#csJygMVlhdnw_^N0 zkp5q$3h_Xb7Ip91h6MotuKzRG|Cq|y-pUW6Jp7?tf9)|499BsH~v?HXQ``|CJIib$cF@ z0ssW}{zJe2q%8k)iqXN&{Qsn~s0G8Xw(+e$;@~j(Ku^^GpPVmyOeUHnm#+mT|I2m3 z!MQvsB(sQg|DWA4J2eG5stgJ(+e#AhxQpCLR?9MQt~>W@`r&(^V@v1erLMAJ<-4kD z<=q!}uui2x-*QAX76$-)KD#Y5*8ZSy*pYq`^~R?|@#O&cY6Jkc5d{)}I*lR#F^_Gb zl6vLpdCv-PM*RmM?hPx>V$jkv)10jXSlvOsIlnkwCo`0>#i?_GMrzyLy&;{hIyG|T z6$8>Mt0hj7HL_>cBCgdBIy^U+i%y5}S>I)oE;+g;)MN{I34AU_mN$#8 zxOYwzb_2zG^sSe(S@3h!#?*SJ+{YAV)`G?+JI>AeR>rW*3cv)&=B5aK!;sK6fjJv8Epy> zIJ{p{K2iVZqz(ai<6O3v0J_FL$fn$#75})`yNOU}gC~f3ZW0z$>IgfS7Dyeeps4ZW z(iFhVoABgF{wnmMWzgF*p`hFDGnkSR$)Gou!$ZK^^qwKE{{ixYk&^eF5Ap>6zue}t2>E4DVG@fG`Dfhvf@eFXOYC2-Rh*PD$M754hCjR>wjt_J zP{SQ-+;I_X^0NQl|-^grYITbmI09vV4k?Ge@p&G!ahY@BIk;kshnDJXqyZ(K3#$ zrSDQ61)5d|{SZ|ASB**A;bLLuumrHB=uFC(JknZaDb6ud-_!PXOQcJjOC7pNUX98J zk5?v11vy+c+m5Ldz|+8#{m%N@>DTGfY_IJ4?8E$}qSt85fS%}%=8BHa)o#^x*)rLl z$W{uo{Nj%%&D7(h3cG$tl!{6_y(zc0BOg+6)t?c~LJdiZO9H#iPPaM05W5ueYIq1cp=kAJcw(vH$^Kp80Mtq4cCglZm!Kj)ml zxxntU>xsbBuPp(N1`Z%tn&WxR(5%mc_=R#uRqF7sD5)mas+F>QFY@%_m(x zWzTJ08F$4<{kap`i}TEO?jx}b`-q;*H~T)l#ze82(ip{T>K-1dZLOVnje^k*XK>fnu`U5iz=6gyv}u1%Yhc8%^6yJn2dFb(4!8>?%~YBM561ZObBxKsO4cL2`aQtc2au+)XFq9&hFA zTE?m9W3F_5tBDio$$b?{&U-bfbbdDIN3Qr42HVd|IjxVyK&OF^0(X~JP^VD+aQ!h?wE|kLB}1*7`T)&TQyytt=|}=BzLajSxAXN1_f&*^Ijlv- z%b1H8U`4dGZ>{0dx0?1E%^Fh6>duvJ@*ziDb_<Hyf80 zH;=jJ;{D@a_ijad;Iv;(_Pg-An+8E03)=?MM{UcEg!B&73~Mf;*pVcGpUW#&1`XCv zxL1J7o7#P!_w^Mfo1Wz+s*a;+@8@kpysSVwusbLDSF)=Y!CJu)?$E~mp93o!UkYF6 zXM6%gA>a8usWyeibcHM%X=g3JlliW~0P77z_1NJN(;?%?VDJrQ9&S-Dbjd$&O22ll6CQC<>2Zh_h=dD7zr)7{&Qk}N`A#!$uQEl zn4i<~W~<}G>ejp81Y0;y%6L>hx9;! zlUiVYfOXJQNv3XHpx@D{N$-(m3_a55S-Bl++D7mrA#4;p)tM+ep)D-&o ze`E!wK4bkXK5s}^f?BYaB~n?xaZnMId1QH&$n_8TG+M@MX**-;B~%RG;94_NpDM4pVZw9%dPv>PoeFI_X; z_fZUn?q@S@*?xHy4)GUnF_q3ZS$gY5HWfukb`^`(9BtR{c6Ya)_veRjg|cTb4|-2M zlU{Qkc5}&n`Z!;t;-t1G4fgo%z}wlB7oXhRx~D>Scd4S`l0$6D`XZNw3Tj1TH(?YO!`PmRpCY|p;U$5;J3#v-Y)+Ed?L2UypAkcR};Cngw zM`OwVGQX4M zE7l%Q9`+lq*ab5YnA!ueA3Q(=EN81hwNI#nx(D`=votx z{r0#C za*gVSuBKy)){T0Za+<@<>S=f>HcKxHf2*WxANO(=qzOhPiem6_@ zoO0*Yv)$E2`B;Wq`d=TgtuCF%+U*b?f3gQS8oExFSzA`%N&eGo4l~@*0wYl}^)>+Y zRX$TzScN*(*Rf=Qan$xCVg<(akafQttNEz2tdgPF$)PWA{}0dR-P2n{Y2QIDks%q| ztucX+2bV-@FRB$E_}ee*$3wp#$xK4x>bS#FU|}q2d@A`LOv0n}I`g=Qi!>;#=bW%z0E5 zn!CgweJVw9X-RPw?p5QEQm!*gu6`dC$HeRjRsiBZ0J0N0&>sf!(%V3Rm&kt`0f0RM zAU*^7eX-#Iwrv|)nq4*&0eUwH?9lL#CSOdHpaH!hysMhtpu?;a?2y%x(J?n9b3fx8 zK>5IrpH!9@``VbFG-x(HgOB;u-)zk6suXu|@T)wlORLZ}&d@eCPB!3y$R@|3m!Dx! z)BErJib1?UewGEc5Rf22IdgwS7v3(k{Z)y~lBL++BjbCWkb_`m!e-A=KcrVb)eKK? zVPz~Ji?g%H3GvB)#>e_B`=_V7A2;4k8=?M4C960wZ z-i;d2#0{l$76w*Uu+5gtJUk$jl$3q1uiSac<+olyC-{4gUpWzHXJ`A>)zg>j>+6aJ zkOqs`J8+{7TIcRC=UAx`{)f!0oaz|J$eK`n^@qE=i~9!$M~5c|P!907_X%l$=;&w` zko2@P15R*E@SwF@;eC+f-QE9Af>>B9MA2fTEH_99NI`XTEM`LN?CcP^Pa&KFUxyDT ziYvhJ@$onc#UPx>pOWhL4oHj>ZJx%arlI1Z;xF#-!6RKUMh+B1lEAPq=-q<@W9|9V zQ|bl;(EzetWReQ8U6NVme*MB7k6#C`ET8t^ob{hLLwly6(c4dF3+BwPXK2PoP6d8e zPWRKH*Vk|y92~v|kh}K#1wFD#J^ta92@Al*$w^RH7G&+>;M!W|(y}sY|85M}2ef)j zW>(gImrM^M2n3|_o`dvgX2M4wIm)yN3F3!`2QU#45n^(3@D&zV!RMEtzCMt!D-#ga z+OSe_aR`TT^t8I|9{I8zj4}`AD(WP)*{7>OnAn)2B5+~#aN*0)z>m+j2cp0s=pP^+ z89ei1;m4>GOP<*VH~4}6HHqKkpM%`+6A|Olz@fpxG~pK{c>kOnJ#^52Bjt+^Z*QK` zyY}EO9RQ3IGm^CB95KdyL2NP(6H`+FlZ$g#SC;_*7M2K#rC+$;>vNq&&;=9C5<)_`;J{R5>7BJ-{LgQY zm^%aKJ3B&eNUKo>S!wA27VL+P_H9vz&~d}oRgK$2X&RH<_X^a1_K>v4R=}mjMX{u$ zoOnetOq~Bl%Xt3ZX@l##SyTld>nUZuwrh!huY0xG- zM``tFGvN227zm2~V>~1L5toz%?og4}&;a-N`25@(b?%_2cg=B|T=i@ZfzhBqK|ukc z#?i!$8orV)r%v9hjnvrE!UhrA!n~{uj+e>MF?24k{)?Zw+0YK{3HU1p4AU!qa+>t0`Eas#19J#TYCb|P{jbBCbwl(RhMK7+r>liBqlzbZK7{nJyOD~;iXbcLr)&89**LotJbis}bFFvmz<%5?wUj_o5a zD-QQp8o4Dn_y{6x%}z;OofN)53iH42oF-R{yM`wJ(BEk=U94}pJFs?ic=+1X=&B3>4qkS%y~?MOuB5$ z(m@$9RvVQx2|nN4xENYq1_pWa8Q>=E2~@@D7qa+mb7~C;dXtZq_%S~k zsyPAjS{faV%oxfqGHXQN8OcP_u(ijc<5%fG(DEn6wgeX^Z*FjL(2?9Q9~Mu&-~Ukg zVkn{HF_WOGtEtRjVxh75AHiB!S(#XInL)g=Le%_8>liRkt}K;IV`c#%&Cdh#5j!PF z^m_Kc2G&MfX2atu1DKuFg9jqM#SM{#C{5(FG!;yC>7D%p}Hi zMMc4g6UQ7BFJ=Erp789ItGTR$)Um-gRtA& z-doUKBP{g;62Kh={5C4{OK1YgU=Y1WL?T`kP}>$#B_k4q50$cBc2L3G%LrXJFB#RW zI}BLo)kt|M;E^$9r4=yf--nKlgv%KtG$_o!+OD+|%6d^!LJ2s6d|QRzWqly-LCE^K zn*seO6&CmZS5_8AJ^2PjqXDX`mR$1Vy_0a*)k)8kNdhNL4E~Gw7eHqjeBHF9G}#Fc zs3X~^Q(97lb%kRsQ+jz`Z&uP+k)4r#t}I(>T4dV}dE)?Pkvl%MHQn`+^~3k$_5FamU0GI^1>?K4vT_1KCXO7z&bgX< zz`Oao8gBm}D?G~hR1sYOOPeqHz2*lGNJ~$v>~AKWKz{)X3aAW81fv_Q*_CM+g+__U z4W6=1Ezpt3{shIM&z^L@b%sL3pT)<6hBT+G{t9Y;z7k3??qMlojJaLgqwS7PUVexS7s2DfpKl1 zaikFoZRE&FvqJ7S-|S0fJD>gs2}%<1Ur~_4m#m9jjcGT7-9sKA66>>&X{DB( z6LVTZC=}#N@I^*Qnhz5Y3lAHNGu+8D#nsJK0D%{XX3&%JdL%VhZ@S}0j2gZfO+EJQ z`{6W575Qi3=dpt-n%t7W$pw-$wQ3U=WIEGTMW*qntjq7?&2uShe4O+TL~m2hl|tkMdu8Q^`U?H}o31e@TP&+)t@Z~? zsdO(!({up(6XXjA*$jpC`r$)Buv-gykV?(%h8bzX21l&glJ!+QA*YcKI6& zicqJ~;_g{K(?xyAwCAy2BpAD_riKaeBsjOGqH0RW>(N5tVC3OyG99bj{?PTIjU{Nf zAogUt;?N-_a1TBjbk@d>l?gnFlLlX62{OTX_mY0)m1F4m2orN6VL*J z)-*{Tk(L~edUy;dG`sWj-%~E(sTTLq3Ry4>IFHy;dPt)AQCHLAiBIgAM3mkl@#Vk% zi!M12`bY-L4f~{hJXwlhuF57Fu`ur-VmpE=#V5?-CXzY~&B|@G`lLmm7_!UKQ2m%$ z&ldD7$Ua)HqsVc`621Z+-!*di$`iI{{iuA3jzQ74s;C0*f{r!DYeo>f87Q*B{ z3fZ2*_y;8tgMo>GCSRpgA-YRgGuR2;8A?uo5`p||Ro0hs28vE6JVeEW?qIb4snK|k zaw%^K5;ZFSG0m~4sM7eU{e(B|hA{K*^Fl=y=Xe0@_A7n^e;9$YUY$(?|FJX_`q{DL zj@%aG%$pW)mIsrr=u^tXb7kJtJ-*P8QHyb`9JxcLdn71ecV|Vetl1zxomaFZHSKSr z*aDG@B>i9oO@C`I6GUkV#xJTMHCPG?rzJ;iM}y&E@8q2m*xgFZE{R(bYn}v6-;wa2 z_fVKMr9?*bnb?eUEFa({9@am+hfSXxp5Gxf6sh&VIciH74h;Q-x5G)c!7q|R;G{CV;{O4D9NDADf>}_2v2!LY((`u zgIiHxkGh(gf|NOH4>mUT>s;~RZ87(fUaQ00(ztJ%I3%_lk^HbrG4?ZDeEw+s_|T&0 z?rFw4FK?y-G6GH9K+1A5uIM7w34i&V69U;w52YgJ%hn5@O=clwnyfIt`J4DWmPvzD z_49#5XRZcp9&_(~hwh>7y@wzJEG2+aA*&212K?UAVA8zp|Ilgn5uUzB+F@lZn=F2V zc0UCD507{S22~p zt1!qq#Ab%LLOh=C?2eH&*RJLu{Jj#V6h-wamuT?3MdJH5Q!A0!M-a)lii8|-W=SWo z-$?utx)^q1@dX_U$RTyo!!I80tdNDP428#Z7AMHJApL$Tr(ZpSAL&z_k&!VgWppU* zx?X%8o$2MpqM#;tmaqX=80@S$;utUD5o0+Xh8#&rnbwFqvLLRTVCRE*Q&vNtFDL%j z2r9XU_t5{Gr}%I(+3I&?fNRNS{dE#BlMry-0b(c-Fs?ghyN56cIoGGgEz!sF9)1ya zpNEc>dit(`UPRqPEV0o|n;%>6+W77BciIT~B$&Da@?=mdWnICRZ2gTB;d$lCR_h%F?uh#nL~@&|cOHjNj%0=xl>3_TV_ou2~&=yP|H{J@p=wCIoOu!=?}-o-fG@KO)sDh zENR|}CzDM!C?`wquf-mg_vydpa@7Uq@OzM$_Pz@fKvue8nA@&k2ZIzL9IfLvHqwIk zm+0e6m!USWdGt-49`L)67v2fD?jnrP3lACqj4*Vm#ZsV97#0^QkrzDjuF>Pi8X*CmZWsc9>esIYyU zr7KH5y@Hs2^sfUjr1?D;kfTu1?Uu>iFqa{d%==%QLlbbPTsQcIAIpd;$_TZAGEYr` z%oL&`G8G7@U~Eq!6qLU}B+G0V+Y)5#x)XTaI)4q|>D}pK9&5AlQdpX^BAtu$NE8M$ zz+o}8TR)V@SB!@0Faef;2lGm&RGN8z;kg;jYI~!qYaIs>;)vgPu61W-O2wPKwfGf+ zU^1_-Dof3G_@uWaXOz`!S)$EGO4iu(WRA6Q4aAv;SS+tj{8iZ4Z71w46^xLkbeVHO zn-~@?;E9D~lQxE~6{xZE9P|VQ9**_2-{whRRWW{dlFE@;ITQ&46aBBS9Xa7yCZ=LZ z5o~@-A#hHVY&qW))xRS~bbTv|1&z4=fY28OWP!(9$yRe4c=dyoSJXhY3aOVeC3NVi z8=Z~_KL1xu^A*NR;hD6Sf0%48N7avdnH>(#v?kQ4Iy(Rs=jTyniZDdTf*%Lvry{UV zlI;lc4V1M8M)3%N^0*)95R%ysuXh5Chd@7t2ez*aVrH|+{%a_Er)*j=axu0*1l-w{ z=Y{c;7wYRMWlJp(3X=Qenuk|Zs7*l(YKOY$<>vXeAcXWaWw$9n(OSLu>WH?z_AKp0M`gRL zw9=t~FJFp+rO7kbMSJ}Q{x~2kYR@HlA>z;^=&kI$O(*_s@l(w_Q;-l}>DV{nQC{gf&;+W(*WOU5x z!hc}{9}@V7Mx5BvEVDrRoLDer4oBrj#%P@PKBI$O|HEV#HLSz|JI_idEa%OS&-Ro@ zd_;&(RBcJT2z%je2(b}r4jZ@lSkX^$p`MERA0#+%6W~U3%LXvBS-)AOKS85uKhhT> z?`ZXx+5at*C)5l^9o0~ItW32;x(f=8V$-(Eo5^<83xIN%b!0HTC{;F_VxsnT$t66T zO+DqRD2p6QOoW~V2g|Ois!IN^6*3#I2a%`(maL{mcW~zcO*Rr+F*ymrQ!oW%_EzZw zg{BPD!vd2%87^=}4v67)dUWAWk*pEmPE`&XVE5q^5&8Rx-V%aJrs{Hx?CNt%-n5o` zVUD6_EZoKnC1n@)o5V90YD-_RB|C3f2&Fy9ed1Q^dhAQX`nWa4!YO)jRx}P>|H*!jk;Q$-8i7_nVmMJ6`ap?n2 zfT(P?42!W7Nv7;5)_MCWtT_anbdVkdq1}9{LY^N6H_qC$h~ zge+Rbi+BqX&O{{Fjc1`4$C^T?eW%jg8!+dgA-9d<4JQcaz{Ep5{p>Y!uGfB`U#+{v znW5VirkpY-C#6~g*Hv-uNBCPAu&{t#4g>e6U)yMp2Uy-^QjTR+o5^$jSLaGP6Z4fv znjMI#+QtU3x1C+t6Xk8LSqwFWk+7vx1%0W0(gS=g9%sdI>c?`(Ev_COQV5@&|9$6) zNwM8%z9L_NO|ijK3K@&Izh{NBBv<}B?n8j?z;bRd(3vZD^r%NERzsc#E*$|xrxdKz zLxdeYWWQGBy%ICX`RP+_=Y1l=Ra(5bxtWP)EV(!uDOdiyZ*m~6cy~=9)aw#)Wf!HW zV=iWwlgtvAA-0DPSYvg2*p25 z_-{&$8eL7y!a&8NHpjP0;Y$fj&nK4TXqEYIvY20gR4j_ z2y%+;=VoKynTPg9$#UVu>J z+iLb6$Y8fr4kz7*k1ppuHvej#9+=NV5X3qjyC6)_+q{C6#xkta}F`^ zP^D+Z+bN;5r0^^A%BdW9G3;T`s%!D#NPZNdi!}&WY5bBtIY!3*y3Y1K@=H@YI&~?m zJAWoZo$WvRkr`d8n1pSfHwL28ML>9B;KV{63y(Q^%r*9WB~Md^?R<*z?(B%3xC4bx z+-(X5@goNoX+L4vLou7&Z57!pwE9(v1hgaDU4jEtYI zP@8^vN(+mpt=BeS=x0BY$!nRd@^-nCeCR!=&^Ix4A^g))thz7Bu}Y6>l^Dc`Kn6<} z4jP%_*5#8p`ng+C^rM3&FNP%`&cS$&vdg0&J2oHGxK6WHd#_X#S^ZzBfYOp^q-Y;< zHUWW-s1<513_Nho!|WxrNVQRc28J3~QENwwp$p`SCKM10@2*NZ-4-i^a_5`F5C=ci z!#u$6GgL59sHvz}C`gqogZZ~e*D0yv_uP;>R~RdJ{^k`{KJF$Pa}>|0BHwy_5Gz!@ z6Y8EvYyt8m*w!Ak5B4M974%VN|6Wz?Jh`iBT(AhP90AlSw`Z|@J<}V1?ou4cwJGd$ z)<5+#c67?i7ty(~@yIAIGtG3BVO$*;m1nf>-CC-d0RSeLbu4N zYEvtXFv-$)o>Z4FQW6({z})&(&ZMa9bipfA9-@=`eCR*QqLCv!+=9Fy#va}P`3ZR1 zFq=#hX#sAz;dQ;ASF~3lkJRFRZ5wKL^3Uq|y_qtwc$`syAxQ^;XzA$4vO&HmyG$fD zI&XJ9s&zht!f`Sb@p&)XAO zOJkJGZq(}$edHQ{$VRl>r`!-TxHvg2l_*kWCT@&2u3B~!_}ngM*KqjTd59vwkPmQV zI^3=bVg=t%1384`nvZC?>6sE)pjO@)GO_3feECc?KG^lnf*}i zNLeRH=j!td6DQju;;5o$x|*y?LdM%jleBJ> z*hd3x9PW?yF{_*-(Db>@43u8d1@b9_RE50BPCOd67m4v49`WaZtE83(0$76Uxxrqp z?qZ+*{(en`0eRnZszA@5Sy809@nkyJ4`8n$aURb0qmJ%Z4b~uRa_$_EE_*?U8M$3FExWwEd4})K#i4 z$(glNapU%p7&PoU0cgv+d^qDfdUl>z43ksJ` zZvp4-)81ja4rr}0Jn&Z%JteesZB0#2fqk&TB=^WUiOOT-oZSIl00&5OE2~%AwZ>sbJ_{^sa|>yNZqlDm(K$2$`?oaLTQ^@M*_hV z*SVLuxx?mwfPmQSa<2(11S8gsBUQgP_+jTosrSmU>`a;ubGmGO-s$$ubevF?KMuv; z;$86;5L#EVXFrsGBrA4atxf~bklh$DVV%f+jsib`o;h5xz#vUJX2ap9j1M% z;0IsBRhxA@Xcc78-q2v@L61@AuUeR`vOnR}aDxK!YP#dIXlwHSCWc4)FV`BLhTk1K<%cD2I&K8d zudkOGVWB8{Y3h4TJrAO}8h=v;(Ey^ptjFe74U+YJpO(BX&d=|o>KdqG=ZX^ey)Mhu zv>WSPXBrRO(;IZ0?uDnh9{l&w@nCq34W>gZ$No7CRy-n6aItfKmjP>;wMTfD>^a4G zyX(mZP-Hk8y|cz;;h4}z*xhEja>rxB%>Y@{c+D$T&*}QywPlQHGH4Df*ZD6NX5EL0~5abhisDUV; zsH!Tuy5pKRL(sSVL?zR6vND31`~2LhTvR%#ds|QO@2_8JAV}zmV5afHcWlSRakOzW zcd|}N#oV`x`x;yHDMWXftcmy&O!Fj_`3vmqvy$cKDY`4e3#Dzse15jo)WfAuiaKvCgXGmz#_Qe;M)=qpsRFlF` z^sndSLn&s{)^vwS-oEo~sj+`Fza-xQnFC#Z5{diYs=y4$3bWa;^#jSOybA#Q`tUGR zcVrw{81xFL5yn1_FxYBH2;_RVZ$~wm#&NzdZe2I{TpbkGbSBqKL(~!Zu*Xm*)OudF z#X=U3^J!Jf_I;(Q^Dj}SY#u7x2-P+{@ORNWau=Jn(hw zY~T3tYG5Yiq%SRPZFxUmzGdHdc0Xhzu-99Z{{dEIzerO{=HsaJ8-Yb&P(Y^kPNUQz zqLE7}>rWIfdbp$}=U;}!B|ZU=7ke#d9Sz)|{QI&%WJ4;Zmfm!s&PA=jCLd1=o9BZp+`pd6IM2(%TNz6H1DMjcV>At${LC=B)5$z7t+x$}s%VmkYH)gL;&N%<-nv!2`)SU?J{lFN7ID}9)wAiZO-|ZSB+Qx z(1s5Z-YrE90T*#AvSL}tp$T4Z?jox*Br(Tj%;O_u$0omU-!qnEICS(*mW=xDf`Beo z*H!FsRGH2JSa#8MGTmm1$QSbW01evAL1bBX5{>giWcdJ!QYPin(R-@{;;ACjYxwU2-_LwVcmC zk^G*qD&cH@e0F;Sh_q!mm~uH5)qxaqD~U&&7M_1n8p~atyPF;rCP43LK|7E&*YiLo zrhAb@c^?eg-k?WGn?QFLrBWcNX7bNfKK3bKtLbx2=|`EVd1nJj$bQ>(-bq-i?2D76 zYIWDyV?k8nUSi2$m=Nz5C}~JahN?Bo@XBJOvJMajeTgXDkl zsLd14%_sW8QR|&|rgc{t#I#Ele36}&mORWrycQj3;=4Zh%4@zj&xInHq~tK_|5Va| zr@_=pKr$J1q{ukSRe5HL57EkDG^x59_=d|y(I8x2rRdn@f86xsVlwJlEcA{kVfsUy zKx84{T3k`so^u-J$O}zPwt6E~&u}v&Qc~@6ZHL&g2>H^)r>)%iS z;Z`31^bRvR15rRUoXlUE$IFJ9^@m%uhe7@_c(f;v7T1gAxqoUEl~-^?H~*y@dI}A5 zcmi^gQn=YW8CX72X5?O&JZ6z*R*gBaJy^fgAW>tIa?Onz6h|#Q#5^NQyIjjja-3IP z#&boh!ui;-=%TMbF2I{c_tV@UyirALPfckOC2mrN)HPe>+D+ojLY2}`>J2DN93^A< zi0YmrL~T|!Q7&C~2DRnIlu>a3jIt|{$?jWleqM{a{UMhf-L-Z zs9u@YcWATcsL_co$d|~FPEgzQ8%g0jQ?tZs=}*0mEq$S}FwWOa*Dv>}tJ0TgonPLH z;$Zzm`4Ip*S^0r_&vDb}N_l{0OAv-CLQv z6N!C?4;#CLmY2dk=%JOaO0+sVKdW-tqCm6kGo4B*M^;gItBh7qAdOpRf>0j!mM%{N z0Az=F{Ci~|iW3Hprul9f@A?hmJ(#8;=y}i}X*<>9TFQFN`;%3@x5d0}c9E-gzF@wl z&bwTWfDliQOR|}#FEuv#;th3$i{Rskxy7^tfAR(c#yx9CeX!um=o+H&D;b>?w#jaJ z`}0T*`%ATxPw z$gqx@45ZoH?m*xnK!xFoTTc#kW;WhMGm8-30D8jYsVlrb#7h$9dtbMWY)66sv^1wJ z4Fl2yQ#;4u<^NTa*Ay=Ujux8H1{#l=d>Kh7vc+mN={qf>PCWSyC8@ue$a@zBdC$=(rG3sKYBu{UJ5cC}nTX@4F>QykQzH0uDsX3)zKQZvp^ zi+PI-Da9~*qlLw!CJj1{X%$Yr=)Hv=YM4arMySV>s;H`&Yr3c)s4bh7J@f*)YWJXB z38v;gahlkJ73Q}S2V5#o9Kxq)X=aNtfYu*sgc)I#@SK-G4~x^boSd9k`m!l``8T371720b(@`aiS}NqGWHlMgs{9`N`MEy_6~naAiCH_RV->-;)3oam!CN zd;6QYzil+9mzSU9`lCqFNbo{R83^^HSNZY&R`TcsA+;z*is>&$Hea?B}lkp47MQPhVn`;+iGJdA0 z@CHMb8H^;iJkL-}bW#2H!Vp^73UfanC;Pm?m5Y^CI;!}yckH-lYiso{ zK_QcOkoZSOGu@r6&4KZFaAnZ*cFN!`6DodO&ouzxfS!pN!|i6KXt!l0%9kG| zJhs1NfgH?T|aX;CGmots{qkv`!JsM|Y!W3W?(^d!u)FL2;7P}psGmBe+wSj#bv z0{}6a24u3GH~=@N)<8JuA<)^!>HR(rwM1g&>=S$s{+A6Q8;`bPn zm%b=9-li2d_p$d3sdDN7kG)Qm?fiZpFC_lsX;9*%A;%MwG}J>^jl8k%ek3+h z2o&%CD;$5e@`j`QTrgdl>$l#G&KkW2%`ETMjCyGWtotef01$4uZ!Frupfg;uWd}Ehuc-vcQGvl*5P`bA0o+?}lE0q%d zx8ZtQZ~?sq{J-3ZlN}Dlu8u}qk#N{*t%gUWi{V=yGoA#B1GFR{^zghw1|K1)> zLhb#z;=p@%18Iz$kBrTSY=AY{rq58HQxSha2;O-KF zgy62h-8EPs$Y2A(?UL`?yPNgBce=W(|CsaCynRkr{d(%{2PiA#7wYzK;j5@KPC%8} zkysT^e#^MQbkDrB^{kUh5Kd!Q)lcoZ3#2phHEpO5=0nWc7ty5khg}(w{0!&z#p;a# zRb>!B;GyzfIZVUuwsE93i>th#REm__C!8{`9fr&y+j8k*Ds}n2Eyt*bGQYpLloPM> z*IpnV4sR&F$=i1*aZdTHwW*rD{&Gvg-DMCOG`fAd3DbhV9?0L7zESr!4&Ox*jb%Jq z&tzn$+H#nAL9xi-ifDv8I@X_2HFpgDC}9{#nZ9g)1l@|bV$gj89}?f0h2y(j$>6AL zJPHOBfW_cgIKSg?aday>7CW;0M=V#gNwVO`;1_#y?DAh8uK|p9@{zN~Y{Vx5vxA?S zT8kwgbix{Tu?m&29?)xSbZdo%SYcvt0=svjz6U=Ou5!TKNK?sWX+5DzUzo9(|9A&f zT2J0 zDw%x@@edW|I)c05Fm*q`%pN_uKfgZ$&d>J3>J@fNoXZ=Wcm|Aw)bnzv1#B>}koH2p zEgTzY40#Bjbi&q}-m)wSoil9&l}LVIgr$5<+Z*4AA7L*+H2#AQfyp{H&jaoo9k$M* zS2;KrkddzL>g-%U+ZILlJYG6?@$>U*_@J6%r``u2KWs>cDw76Qo<~n&4S`Vxpwl8t z*&0b&L{=r18@#6C=#)x?!a~pMf#or{l6*dWrWTY*MHNitOH(VPw*4KH#GZrKU`_5U z@PMonZeZn}r2b9ZgymUfaYGw!GK$&~DlV-r%uH?wx_%UXqM$`{tKA8&Wq7z*j(gMQ zDLgoY-a#|fx7q7(X;Ddhpg$LocEuAoZjYBQdM?%duF)sTvRRa22N~vMDTOh5c(JP^ zxD`$z3?J=c#bd9YfyoEKxcUcCPo`R`+8K-%zT(jIe-m zuurO7QQ9(%=1`Dzu=&B-o&Hkw50B=;yyy#%d79;hs2!)}(p

+^sCI5?mGr(k2zM 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⪼@U0PrE;vjUZ6>Vbok? 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 OMJ-Dx56B4nv-dykQ*E38 diff --git a/src/unit_tests/test_samples/smoke/MountUpdateMode.wgt b/src/unit_tests/test_samples/smoke/MountUpdateMode.wgt index 872ae62c20a9586343e64b0ca5c14af33d89c0cb..cdf556ddecef80bee935e80fc47e673a38c0b289 100644 GIT binary patch delta 24848 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 delta 23837 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 <9h}jaYuk9SvfIz;z(7w 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 delta 23837 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 bhIib5S}k1-9MGSW_~?Zg%{6aI{d4p`rL}gc -- 2.7.4 From ffed2fb48a6b6e2a030bd2bc352f8a632af5ac0e Mon Sep 17 00:00:00 2001 From: Bartlomiej Kunikowski Date: Wed, 24 Aug 2016 14:59:02 +0200 Subject: [PATCH 04/16] Implement long-polling setting - check privilege Requires: - https://review.tizen.org/gerrit/#/c/85303/ Change-Id: I9e856727bf240d6d407cea03976024ee18f643d0 --- src/wgt/step/security/step_check_settings_level.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/wgt/step/security/step_check_settings_level.cc b/src/wgt/step/security/step_check_settings_level.cc index 270eb04..87f7702 100644 --- a/src/wgt/step/security/step_check_settings_level.cc +++ b/src/wgt/step/security/step_check_settings_level.cc @@ -25,6 +25,17 @@ bool ValidateSettingsForLevel(common_installer::PrivilegeLevel level, } LOG(INFO) << "Setting: 'background-vibration' allowed"; } + + if (settings.long_polling()) { + common_installer::PrivilegeLevel required_level = + common_installer::PrivilegeLevel::PARTNER; + if (!common_installer::SatifiesPrivilegeLevel(required_level, level)) { + LOG(ERROR) << "long-polling requires visibility level: " + << common_installer::PrivilegeLevelToString(required_level); + return false; + } + LOG(INFO) << "Setting: 'long-polling' allowed"; + } return true; } -- 2.7.4 From 2f85b1a3cb78e3b26ea98bfe30d90b221b302a0e Mon Sep 17 00:00:00 2001 From: Tomasz Iwanek Date: Tue, 23 Aug 2016 11:51:27 +0200 Subject: [PATCH 05/16] Modify getting icon list Installer (now) provides xml:lang localization of icon items in platform manifest. This information is generated from folder based localization of wgt package. From now: - icon list returned by handler contains only valid tag related positions, this will prevent parser from modifing constant data, - client will need to pass icon list from handler to utility function (together with base path) to get localized custom and default icon list that can be used in runtime or for platform manifest tag assignment, - installer generates list of localized icons and for each available locale icon element in manifest_x is created. Submit together: - https://review.tizen.org/gerrit/85076 - https://review.tizen.org/gerrit/85078 Change-Id: I8797bfa57f185d679dd5b6cbea4278658bedd7a2 --- CMakeLists.txt | 1 + data/CMakeLists.txt | 1 + data/default.png | Bin 0 -> 57662 bytes packaging/wgt-backend.spec | 1 + src/wgt/step/configuration/step_parse.cc | 43 ++++++++++++++------ src/wgt/step/filesystem/step_wgt_patch_icons.cc | 51 ++++++++++++++++++------ src/wgt/step/pkgmgr/step_generate_xml.cc | 15 +++---- 7 files changed, 79 insertions(+), 33 deletions(-) create mode 100644 data/CMakeLists.txt create mode 100644 data/default.png diff --git a/CMakeLists.txt b/CMakeLists.txt index 20eafb2..f39937d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,4 +52,5 @@ PKG_CHECK_MODULES(TPK_INSTALLER_DEPS REQUIRED tpk-installer) FIND_PACKAGE(Boost REQUIRED COMPONENTS system filesystem regex program_options) FIND_PACKAGE(GTest REQUIRED) +ADD_SUBDIRECTORY(data) ADD_SUBDIRECTORY(src) diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt new file mode 100644 index 0000000..ea0766f --- /dev/null +++ b/data/CMakeLists.txt @@ -0,0 +1 @@ +INSTALL(FILES "default.png" DESTINATION "${SHAREDIR}/wgt-backend/") diff --git a/data/default.png b/data/default.png new file mode 100644 index 0000000000000000000000000000000000000000..9765b1bda7e5bddf0925555ab204b887a873bf24 GIT binary patch literal 57662 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 kZ}gYfNaCF}xV$|1>H6z0+kD #include #include +#include #include #include #include #include #include -#include +#include #include @@ -154,17 +155,34 @@ bool StepParse::FillIconPaths(manifest_x* manifest) { return false; } auto icons_info = - GetManifestDataForKey( - app_keys::kIconsKey); - if (icons_info.get()) { - for (auto& application_icon : icons_info->icons()) { - icon_x* icon = reinterpret_cast (calloc(1, sizeof(icon_x))); - bf::path icon_path = context_->root_application_path.get() - / app_info->package() / "res" / "wgt" / application_icon.path(); - icon->text = strdup(icon_path.c_str()); + GetManifestDataForKey( + app_keys::kIconsKey); + if (!icons_info) { + icons_info.reset(new wgt::parse::ApplicationIconsInfo()); + } + wgt::parse::LocalizedApplicationIconsInfo localized_list = + wgt::parse::GetLocalizedIconList(*icons_info, + context_->unpacked_dir_path.get()); + // We need to generate icon for each locale and icons are already set into + // lookup order. There isn't said that all icons should be received from + // one tag position so we iterate utils we run out of icons creating + // any icon element that are possible for given locale. + std::set found_locales; + for (auto& application_icon : localized_list) { + const std::string& locale = application_icon.locale(); + if (found_locales.find(locale) != found_locales.end()) + continue; + found_locales.insert(locale); + + icon_x* icon = reinterpret_cast(calloc(1, sizeof(icon_x))); + bf::path icon_path = context_->root_application_path.get() + / app_info->package() / "res" / "wgt" / application_icon.path(); + icon->text = strdup(icon_path.c_str()); + if (!locale.empty()) + icon->lang = strdup(locale.c_str()); + else icon->lang = strdup(DEFAULT_LOCALE); - manifest->icon = g_list_append(manifest->icon, icon); - } + manifest->icon = g_list_append(manifest->icon, icon); } return true; } @@ -300,8 +318,7 @@ bool StepParse::FillMainApplicationInfo(manifest_x* manifest) { application->autorestart = strdup("false"); application->launch_mode = strdup(app_info->launch_mode().c_str()); - if (manifest->icon) { - icon_x* icon = reinterpret_cast(manifest->icon->data); + for (auto& icon : GListRange(manifest->icon)) { icon_x* app_icon = reinterpret_cast(calloc(1, sizeof(icon_x))); app_icon->text = strdup(icon->text); app_icon->lang = strdup(icon->lang); diff --git a/src/wgt/step/filesystem/step_wgt_patch_icons.cc b/src/wgt/step/filesystem/step_wgt_patch_icons.cc index 5bcb229..2a995b2 100644 --- a/src/wgt/step/filesystem/step_wgt_patch_icons.cc +++ b/src/wgt/step/filesystem/step_wgt_patch_icons.cc @@ -13,6 +13,12 @@ namespace bf = boost::filesystem; namespace bs = boost::system; namespace ci = common_installer; +namespace { + +const char kDefaultIconPath[] = "/usr/share/wgt-backend/default.png"; + +} // namespace + namespace wgt { namespace filesystem { @@ -25,24 +31,43 @@ common_installer::Step::Status StepWgtPatchIcons::process() { if (strcmp(app->type, "webapp") != 0) continue; if (app->icon) { - icon_x* icon = reinterpret_cast(app->icon->data); - bf::path icon_text(icon->text); - bf::path icon_path = common_icon_location / app->appid; - if (icon_text.has_extension()) - icon_path += icon_text.extension(); - else - icon_path += ".png"; + // edit icon->text and copy icons to common location + for (auto& icon : GListRange(app->icon)) { + bf::path icon_text(icon->text); + bf::path icon_path = common_icon_location / app->appid; + if (strcmp(icon->lang, DEFAULT_LOCALE)) { + icon_path += "."; + icon_path += icon->lang; + } + if (icon_text.has_extension()) + icon_path += icon_text.extension(); + else + icon_path += ".png"; - bf::copy_file(icon->text, icon_path, - bf::copy_option::overwrite_if_exists, error); + bf::copy_file(icon->text, icon_path, + bf::copy_option::overwrite_if_exists, error); + if (error) { + LOG(ERROR) << "Failed to move icon from " << icon->text << " to " + << icon_path; + return Status::ICON_ERROR; + } + if (icon->text) + free(const_cast(icon->text)); + icon->text = strdup(icon_path.c_str()); + } + } else { + // create default icon if there is no icon at all + bf::path icon_path = common_icon_location / app->appid; + icon_path += ".png"; + bf::copy_file(kDefaultIconPath, icon_path, error); if (error) { - LOG(ERROR) << "Failed to move icon from " << icon->text << " to " - << icon_path; + LOG(ERROR) << "Failed to create default icon for web application"; return Status::ICON_ERROR; } - if (icon->text) - free(const_cast(icon->text)); + icon_x* icon = reinterpret_cast(calloc(1, sizeof(icon_x))); icon->text = strdup(icon_path.c_str()); + icon->lang = strdup(DEFAULT_LOCALE); + app->icon = g_list_append(app->icon, icon); } } return Status::OK; diff --git a/src/wgt/step/pkgmgr/step_generate_xml.cc b/src/wgt/step/pkgmgr/step_generate_xml.cc index 16b27a0..8094412 100644 --- a/src/wgt/step/pkgmgr/step_generate_xml.cc +++ b/src/wgt/step/pkgmgr/step_generate_xml.cc @@ -209,13 +209,14 @@ common_installer::Step::Status StepGenerateXml::GenerateApplicationCommonXml( } } - if (app->icon) { - icon_x* iconx = reinterpret_cast(app->icon->data); - xmlTextWriterWriteFormatElement( - writer, BAD_CAST "icon", "%s", BAD_CAST iconx->text); - } else { - // Default icon setting is role of the platform - LOG(DEBUG) << "Icon was not found in application"; + for (auto& icon : GListRange(app->icon)) { + xmlTextWriterStartElement(writer, BAD_CAST "icon"); + if (icon->lang && strcmp(DEFAULT_LOCALE, icon->lang) != 0) { + xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", + BAD_CAST icon->lang); + } + xmlTextWriterWriteString(writer, BAD_CAST icon->text); + xmlTextWriterEndElement(writer); } for (image_x* image : GListRange(app->image)) { -- 2.7.4 From 8e4378497ce80451d613ac4f627452ed29dc21b1 Mon Sep 17 00:00:00 2001 From: Tomasz Iwanek Date: Wed, 17 Aug 2016 10:06:08 +0200 Subject: [PATCH 06/16] Add StepChangeOwner for HybridInstaller Complementary changes to: https://review.tizen.org/gerrit/#/c/84185/ To verify, install hybrid package and check that files of installed package have owner's ownership. Change-Id: I8a644be5567acd1a6ce800225cb9050043c32f76 --- src/hybrid/hybrid_installer.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index 9099883..00bfcb3 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -132,6 +133,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); break; case ci::RequestType::Update: @@ -178,6 +180,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); + AddStep(); AddStep(); break; case ci::RequestType::Uninstall: @@ -254,6 +257,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); + AddStep(); AddStep(); break; case ci::RequestType::Recovery: @@ -318,6 +322,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); break; case ci::RequestType::MountUpdate: @@ -363,6 +368,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); + AddStep(); AddStep(); break; case ci::RequestType::ManifestDirectInstall: @@ -388,6 +394,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); break; case ci::RequestType::ManifestDirectUpdate: @@ -417,6 +424,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); + AddStep(); AddStep(); break; case ci::RequestType::EnablePkg: -- 2.7.4 From 0019e1abf93a2d5b1ed056c63a299f3e34db45de Mon Sep 17 00:00:00 2001 From: Bartlomiej Kunikowski Date: Tue, 30 Aug 2016 13:26:04 +0200 Subject: [PATCH 07/16] Force uninstall for external storage packages Now errors from StepAcquireExternalStorage are ignored in uninstall mode by using StepOptionalAcquireExternalStorage instead of old step. Requires: - https://review.tizen.org/gerrit/#/c/86078/ Change-Id: I07efa35829566b928208b6312180a24f6e1c66a4 --- src/hybrid/hybrid_installer.cc | 3 ++- src/wgt/wgt_installer.cc | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index 00bfcb3..ea2cc76 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -194,7 +195,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) ci::Plugin::ActionType::Uninstall); AddStep(); AddStep(); - AddStep(true); + AddStep(); AddStep(); AddStep(); AddStep(); diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index ea96cf2..b728742 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -192,7 +193,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::configuration::StepParseManifest::StoreLocation::NORMAL); AddStep(); AddStep(); - AddStep(true); + AddStep(); AddStep( ci::Plugin::ActionType::Uninstall); AddStep(); -- 2.7.4 From a1af58e5c609671447bbc3d455a3004bc4442c61 Mon Sep 17 00:00:00 2001 From: JongHeon Choi Date: Thu, 28 Jul 2016 15:19:06 +0900 Subject: [PATCH 08/16] File encryption method reading whole files into a dynamic stack buffer Related changes: [crosswalk-tizen] https://github.com/crosswalk-project/crosswalk-tizen/pull/135 https://review.tizen.org/gerrit/#/c/83459/ Change-Id: I87d41c578e161622035e65e324b3d9590e2c266e --- src/wgt/step/encryption/step_encrypt_resources.cc | 225 ++++++++++++++-------- 1 file changed, 146 insertions(+), 79 deletions(-) diff --git a/src/wgt/step/encryption/step_encrypt_resources.cc b/src/wgt/step/encryption/step_encrypt_resources.cc index ad5485f..4d5fb91 100644 --- a/src/wgt/step/encryption/step_encrypt_resources.cc +++ b/src/wgt/step/encryption/step_encrypt_resources.cc @@ -10,8 +10,10 @@ #include #include +#include #include +#include #include #include @@ -21,8 +23,51 @@ namespace { +const std::size_t kEncryptionChunkMaxSize = 8_kB; // bytes const std::set encryptSet { ".html", ".htm", ".css", ".js"}; +FILE* OpenFile(const std::string& path, const std::string& mode) { + FILE* result = nullptr; + + do { + result = fopen(path.c_str(), mode.c_str()); + } while ((nullptr == result)); + + return result; +} + +std::size_t ReadBytes(unsigned char* buffer, std::size_t count, FILE* stream) { + std::size_t result = std::fread(buffer, + 1, + count, + stream); + if (result != count) { + if (0 != std::ferror(stream)) { + LOG(ERROR) << "Error while reading data"; + } + } + + return result; +} + +void WriteBytes(unsigned char* buffer, std::size_t count, FILE* stream) { + // original file is treated as destination! + std::size_t bytes_written = 0; + std::size_t bytes_to_write = 0; + do { + bytes_to_write = count - bytes_written; + bytes_written = std::fwrite(buffer + bytes_written, + sizeof(unsigned char), + count - bytes_written, + stream); + if ((bytes_written != bytes_to_write)) { + LOG(ERROR) << "Error while writing data"; + free(buffer); + fclose(stream); + } + } while ((bytes_written != bytes_to_write)); +} + } // namespace @@ -105,102 +150,124 @@ bool StepEncryptResources::Encrypt(const bf::path &src) { } bool StepEncryptResources::EncryptFile(const bf::path &src) { - FILE *input = fopen(src.string().c_str(), "rb"); - if (!input) { - LOG(ERROR) << "Cannot open file for encryption: " << src; + bf::path encFile(src.string() + ".enc"); + struct stat info; + memset(&info, 0, sizeof(info)); + if (stat(src.string().c_str(), &info) != 0) { + LOG(ERROR) << "Could not access file " << src.string(); return false; } - - // read size - fseek(input , 0 , SEEK_END); - size_t length = ftell(input); - - // don't encrypt empty files because libwebappenc doesn't support it - if (length == 0) { - fclose(input); + const std::size_t fileSize = info.st_size; + if (0 == fileSize) { + LOG(ERROR) << src.string().c_str() << " size is 0, so encryption is skiped"; return true; } - rewind(input); - - char *input_buffer = new char[length]; - if (length != fread(input_buffer, sizeof(char), length, input)) { - LOG(ERROR) << "Read error, file: " << src; - fclose(input); - delete []input_buffer; + FILE *input = OpenFile(src.string().c_str(), "rb"); + if (input == nullptr) { + LOG(ERROR) << "Cannot open file for encryption: " << src.string(); return false; } - fclose(input); - unsigned char* encrypted_data = nullptr; - size_t enc_data_len = 0; - int ret; - if (context_->request_mode.get() == common_installer::RequestMode::GLOBAL) - ret = wae_encrypt_global_web_application( - context_->pkgid.get().c_str(), - context_->is_preload_request.get() ? - true : false, - reinterpret_cast(input_buffer), - length, - &encrypted_data, - &enc_data_len); - else - ret = wae_encrypt_web_application( - context_->uid.get(), - context_->pkgid.get().c_str(), - reinterpret_cast(input_buffer), - length, - &encrypted_data, - &enc_data_len); - delete []input_buffer; - if (WAE_ERROR_NONE != ret) { - switch (ret) { - case WAE_ERROR_INVALID_PARAMETER: - LOG(ERROR) << "Error during encrypting: WAE_ERROR_INVALID_PARAMETER"; - break; - case WAE_ERROR_PERMISSION_DENIED: - LOG(ERROR) << "Error during encrypting: WAE_ERROR_PERMISSION_DENIED"; - break; - case WAE_ERROR_NO_KEY: - LOG(ERROR) << "Error during encrypting: WAE_ERROR_NO_KEY"; - break; - case WAE_ERROR_KEY_MANAGER: - LOG(ERROR) << "Error during encrypting: WAE_ERROR_KEY_MANAGER"; - break; - case WAE_ERROR_CRYPTO: - LOG(ERROR) << "Error during encrypting: WAE_ERROR_CRYPTO"; - break; - case WAE_ERROR_UNKNOWN: - LOG(ERROR) << "Error during encrypting: WAE_ERROR_UNKNOWN"; - break; - default: - LOG(ERROR) << "Error during encrypting: UNKNOWN"; - break; - } + FILE *output = OpenFile(encFile.string().c_str(), "wb"); + if (output == nullptr) { + LOG(ERROR) << "Cannot create encrypted file: " << encFile.string(); return false; } - // original file is treated as destination! - FILE *output = fopen(src.string().c_str(), "wb"); - if (!output) { - LOG(ERROR) << "Cannot create encrypted file: " << src; - free(encrypted_data); + std::size_t chunkSize = (fileSize > kEncryptionChunkMaxSize + ? kEncryptionChunkMaxSize : fileSize); + + std::unique_ptr inChunk(new unsigned char[chunkSize]); + std::size_t bytesRead = 0; + + do { + bytesRead = ReadBytes(inChunk.get(), chunkSize, input); + if (0 != bytesRead) { + unsigned char* encrypted_data = nullptr; + size_t encrypted_size = 0; + // TODO(p.sikorski) check if it is Preloaded + int ret; + if (context_->request_mode.get() == common_installer::RequestMode::GLOBAL) { + ret = wae_encrypt_global_web_application( + context_->pkgid.get().c_str(), + context_->is_preload_request.get() ? + true : false, + inChunk.get(), + (size_t)bytesRead, + &encrypted_data, + &encrypted_size); + } else { + ret = wae_encrypt_web_application( + context_->uid.get(), + context_->pkgid.get().c_str(), + inChunk.get(), + (size_t)bytesRead, + &encrypted_data, + &encrypted_size); + } + + if (WAE_ERROR_NONE != ret) { + LOG(ERROR) << "Error during encrypting:"; + switch (ret) { + case WAE_ERROR_INVALID_PARAMETER: + LOG(ERROR) << "WAE_ERROR_INVALID_PARAMETER"; + break; + case WAE_ERROR_PERMISSION_DENIED: + LOG(ERROR) << "WAE_ERROR_PERMISSION_DENIED"; + break; + case WAE_ERROR_NO_KEY: + LOG(ERROR) << "WAE_ERROR_NO_KEY"; + break; + case WAE_ERROR_KEY_MANAGER: + LOG(ERROR) << "WAE_ERROR_KEY_MANAGER"; + break; + case WAE_ERROR_CRYPTO: + LOG(ERROR) << "WAE_ERROR_CRYPTO"; + break; + case WAE_ERROR_UNKNOWN: + LOG(ERROR) << "WAE_ERROR_UNKNOWN"; + break; + default: + LOG(ERROR) << "UNKNOWN"; + break; + } + fclose(output); + fclose(input); + return false; + } + + if (encrypted_size <= 0) { + LOG(ERROR) << "Encryption Failed using TrustZone"; + fclose(output); + fclose(input); + return false; + } + + std::stringstream toString; + toString << encrypted_size; + + WriteBytes((unsigned char*)toString.str().c_str(), sizeof(int), output); + WriteBytes((unsigned char*)encrypted_data, encrypted_size, output); + free(encrypted_data); + } + inChunk.reset(new unsigned char[chunkSize]); + + } while (!std::feof(input)); + + fclose(output); + fclose(input); + + LOG(DEBUG) << "File encrypted successfully"; + if (0 != unlink(src.string().c_str())) { return false; } - if (enc_data_len != fwrite(reinterpret_cast(encrypted_data), - sizeof(char), - enc_data_len, - output)) { - LOG(ERROR) << "Write error, file: " << src; - free(encrypted_data); - fclose(output); + LOG(DEBUG) << "Rename encrypted file"; + if (0 != std::rename(encFile.c_str(), src.string().c_str())) { return false; } - - fclose(output); - free(encrypted_data); return true; } -- 2.7.4 From 3b44494fae615048b82f7dac6905cc9aa23e2bfb Mon Sep 17 00:00:00 2001 From: JongHeon Choi Date: Wed, 31 Aug 2016 13:44:22 +0900 Subject: [PATCH 09/16] Revert "Force uninstall for external storage packages" This reverts commit 0019e1abf93a2d5b1ed056c63a299f3e34db45de. Change-Id: Ieafc64859bb0648aed01a21d71836d66ac5ad1a6 --- src/hybrid/hybrid_installer.cc | 3 +-- src/wgt/wgt_installer.cc | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index ea2cc76..00bfcb3 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -195,7 +194,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) ci::Plugin::ActionType::Uninstall); AddStep(); AddStep(); - AddStep(); + AddStep(true); AddStep(); AddStep(); AddStep(); diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index b728742..ea96cf2 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include @@ -193,7 +192,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::configuration::StepParseManifest::StoreLocation::NORMAL); AddStep(); AddStep(); - AddStep(); + AddStep(true); AddStep( ci::Plugin::ActionType::Uninstall); AddStep(); -- 2.7.4 From 14bc5b8d0c1b3c944f4ae011fe293052b780388a Mon Sep 17 00:00:00 2001 From: JongHeon Choi Date: Wed, 31 Aug 2016 13:45:30 +0900 Subject: [PATCH 10/16] Revert "Revert "Force uninstall for external storage packages"" This reverts commit 3b44494fae615048b82f7dac6905cc9aa23e2bfb. Change-Id: I113e8f2ec6a37a630dd052513d7a88dc6712c407 --- src/hybrid/hybrid_installer.cc | 3 ++- src/wgt/wgt_installer.cc | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index 00bfcb3..ea2cc76 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -194,7 +195,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) ci::Plugin::ActionType::Uninstall); AddStep(); AddStep(); - AddStep(true); + AddStep(); AddStep(); AddStep(); AddStep(); diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index ea96cf2..b728742 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -192,7 +193,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::configuration::StepParseManifest::StoreLocation::NORMAL); AddStep(); AddStep(); - AddStep(true); + AddStep(); AddStep( ci::Plugin::ActionType::Uninstall); AddStep(); -- 2.7.4 From 406e43b5ea1834f8048751ee1fb0b7c796bcd07f Mon Sep 17 00:00:00 2001 From: Tomasz Iwanek Date: Tue, 30 Aug 2016 16:17:57 +0200 Subject: [PATCH 11/16] Smoke test for delta recovery To verify, run new smoke test. Requires: - https://review.tizen.org/gerrit/#/c/86119/ Change-Id: I612a4cf568646787463e05dc874f77af7f5c55e5 --- src/unit_tests/smoke_test.cc | 20 ++++++++++++++++++++ .../test_samples/smoke/RecoveryMode_ForDelta.delta | Bin 0 -> 5719 bytes .../test_samples/smoke/RecoveryMode_ForDelta.wgt | Bin 0 -> 38921 bytes .../test_samples/smoke/RecoveryMode_ForDelta_2.wgt | Bin 0 -> 38919 bytes 4 files changed, 20 insertions(+) create mode 100755 src/unit_tests/test_samples/smoke/RecoveryMode_ForDelta.delta create mode 100644 src/unit_tests/test_samples/smoke/RecoveryMode_ForDelta.wgt create mode 100644 src/unit_tests/test_samples/smoke/RecoveryMode_ForDelta_2.wgt diff --git a/src/unit_tests/smoke_test.cc b/src/unit_tests/smoke_test.cc index c56ebbd..75c0fa3 100644 --- a/src/unit_tests/smoke_test.cc +++ b/src/unit_tests/smoke_test.cc @@ -598,6 +598,26 @@ TEST_F(SmokeTest, RecoveryMode_ForUpdate) { ASSERT_TRUE(ValidateFileContentInPackage(pkgid, "res/wgt/VERSION", "1\n")); } +TEST_F(SmokeTest, RecoveryMode_ForDelta) { + bf::path path_old = kSmokePackagesDirectory / "RecoveryMode_ForDelta.wgt"; + bf::path path_new = kSmokePackagesDirectory / "RecoveryMode_ForDelta.delta"; + RemoveAllRecoveryFiles(); + ASSERT_EQ(Install(path_old, PackageType::WGT), ci::AppInstaller::Result::OK); + Subprocess backend_crash("/usr/bin/wgt-backend-ut/smoke-test-helper"); + backend_crash.Run("-i", path_new.string(), "-u", kTestUserIdStr.c_str()); + ASSERT_NE(backend_crash.Wait(), 0); + + std::string pkgid = "smokeapp30"; + std::string appid = "smokeapp30.RecoveryModeForDelta"; + bf::path recovery_file = FindRecoveryFile(); + ASSERT_FALSE(recovery_file.empty()); + ASSERT_EQ(Recover(recovery_file, PackageType::WGT), + ci::AppInstaller::Result::OK); + ValidatePackage(pkgid, {appid}); + + ASSERT_TRUE(ValidateFileContentInPackage(pkgid, "res/wgt/VERSION", "1\n")); +} + TEST_F(SmokeTest, InstallationMode_GoodSignature) { bf::path path = kSmokePackagesDirectory / "InstallationMode_GoodSignature.wgt"; // NOLINT ASSERT_EQ(Install(path, PackageType::WGT), ci::AppInstaller::Result::OK); diff --git a/src/unit_tests/test_samples/smoke/RecoveryMode_ForDelta.delta b/src/unit_tests/test_samples/smoke/RecoveryMode_ForDelta.delta new file mode 100755 index 0000000000000000000000000000000000000000..7da64e4222c8129a640067f6c27acb95546b5561 GIT binary patch literal 5719 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 literal 0 HcmV?d00001 diff --git a/src/unit_tests/test_samples/smoke/RecoveryMode_ForDelta_2.wgt b/src/unit_tests/test_samples/smoke/RecoveryMode_ForDelta_2.wgt new file mode 100644 index 0000000000000000000000000000000000000000..080dada683a6ad304ed1e0d6c6f78a41cbe5f08c GIT binary patch literal 38919 zcmaI5Q;;uA@GSTn+qP|6XY4s++qP}nwr!rVZQHhWzyE#M8@sV_AF8AKC8Hy&t2(n= zK^g=U8UTO<0PsR9B;xD5Wq<(y!2bjU02iPts;DF>FQ=jm1pv`3VpKEC8dh_0hXDYA zo`C=W|9fDDR`?GB^*;zmfNBW7q^c^cED00 zWoNnE;9A`H)F0Va_Ey$)_FgFZEiJY`eR|>aWJGpf@%PAn{QCg`j5vHT5))LigX<%L z0^LDYgBzrc-0u9_AC$Md_sUbgo_uJ_;~*diqCA?kYJr#Nt)5`Ldvw14Y^E+TZ$a4I z^U!Xw$V2VD2L(cWyL;l#415I&PQBgn{ek?#zN(s}`2A(!4d+Mk&{MW~s=fYt)j1gK z`W~D|aIb=(>lCw52A{`KIuz(>F_%3(ehi{d8Tq@~yKo=*bR+M!`=^^w)7LkSKMND# zrZ5;~FLghhJwwYx8n(s~|K$wdUw$7*jn9fRF#YKq>uhpjT6~Y}EDs7)#Y6TG!HUvP z0AiH?L01jUhC2_0drA9PjL_i`2TRTW-*Y3p4+`F3jt2+pbmRErC_j+C_J$w3F zvsenBSWz1{%aSu}h>^%$4MNa%64$WTQFwwelb`fkpa6c2pTfSvS>x7JNi-K_Foc3} zn2oVFov94VY^*bG0@-{rXSP5cs1C?as1|iogJeX75$4ik9;({7>Q-zW-iX)R9Ak;9St~ak16Gx>4=4=b|M9~VWb21@DnSjaOE1HVOXN*IJKxxOE-NdH^gwY08_s%s0oEeum< zOZ8-^Lz!YCCo8;#u7swVq1DZus%0P=d5Mc_`M~%x!Jyb+rMuQed_j!$lo9|{2(jRe z4GYZ|>3DtkfN!#k#|V8}X}{&IlJGJI!dT5 z5LTOfj~MbY9EYR3`Eq$oy_ER~8%JOs`>uBDtZ|6>&&2e4fcV7icb(sO`Ss%E2H>eG zW9ZS?HlFmRkBR>Q6#tRd_Iw4_pfWg!wt}O2Mh{V{1nLi)Lxckb`=AanzZR&jWOK># zUxRIrObvD*?Z1Y={uHU6Jbi^!^Ft=tc0> zymYNKSp7(o4=bl ze*X2Nq0IXf28QSxBeM=RFOrf@ih_qXHjUG15{}?VC5P_XVH*C)G}_8OQqs~R)Yj0` zhP%J&mVpC!nv`*60XBERn;8X+DKWw+UDdmtDwzHJoj{H)T&6M|l*V4+t!}^!R$P1j zH<8YP!@^}XJF;k*L_NHb5YD_&rSy3aWj&2D47!yUoiG7P>biBvJq@DE;e&@ap<|() z?wx0?8x3v;oumiPpzbaj3lQQG4jVyl<#DArExq{l>5=~L`0dPw^B)T}A%aiKF~y+Z zOXgJO)4ABihL`ewQv# zd=M_D`lM9`=J4g6CJ#~y{)~AE*0ZpCRPnA-J)pQxI4tLjl6RSz1mj<=En3FF%xQ;3 z$ZZ+wF4vhH9Jru|Ot1@7jGR8;3|?xIxF-8nF`mww z@pGHHFB^DqorX?U zRw3?!9zCNBa+u%aC{paW#2j>}BzuajN#+Hun^tutvsn6$?Y1+d#Wk@EB&J@_xulP3 zWnXr8V8ZQK%y70-ab^94))8Eb*aMF{o64zrX=uZ^2wI{I!X{}Uk?+Yf$uc-8UAmQj zcXiaHhsQ<6KFkoMfA!_x0wNEI60(=eFU$dEo&<%3&VsDh#JplnvS#2w)TJM`z1H^9 zPr7$DG&l^IU*eXplD6k8D6oZua60hh@J=>=_#1bp z=!%QxZ!E}0X=@9Ua*;u1gNl)H^(DeumTQ~6#93W9ePP}k*Xj&9mO*{28$9fW30yDO ze!O+kzF1maNtV@II9D(gg$K{wO*ZIJZ=K(P!wC1HF~|Uqwkf~63 z+rO|@Sb;U{48Bv31xJP}hJVeY=K4Hfcg-s(qes1R+0-j)erU!ZhjAqnMvM1kWRhrx zQFvmU_vh)78`OJ|7vR^5`al*H_;Y@JAZ_(-22xUe2qCiM;{oc=okczc;9 z+UuX0_pQCi>-jlyx5;_2TKZC^mK0Z2C6LVEs)xOsx1EZ|Sh^2A*MqS5b`Sap+x?QW zTmAd;eZUpF8?vJME3B>goSBawfBQ|5f7*u+sEeS6D|%>1`umyIaL-Vx=i|e14-+Ra zUBlBhsJWjO=VpEzJHOnN^-S{QoE0 zY~q>h1_=>EUcaD+bR{lI8m-MD8eJ+jItuL_9Z+G}=*Wg=R~jM3AS8^{z9{h@sK>N;1HTsfj6^m+*uBvp(@2@e_$_B z|6MiqW0_nz0BfcgoMgee@>vr~LN%*dpimj)8`tokg$GH0CF?61YtN>zxJ7OsGMpn5 zH`7NPHO>+h@R!m7oFs?%t*}lqUjUv^B@rv%EyN%4dd|r;)fg7e)agE{j+A%(df|Tj zr)`>_36!I^hr6FFpW*%wtN){fh1~c>(*9!<6chk}`yW=FoEV&(J*-XW|C{~a^stYT zo_r7^qTg;=`w$09B9Iihw2aKs+g?^)elr;Tj%Ts6)8gAUokH?{GZgRE^J`hJF2lYN zkZ+2$wsIuh0#n#&jtJSFXu2zu8#)->zT~1VPqHCYO`Uj6tGX?EUX*D61*UrIfU3Ep zIvWHc&!|uD${!0D7v2=hd!5sG(`f@1@m&AJ-F$Z+^d&S>lucavmCI*SU?=ehPUk>{ zmn*R=1Mz^&`tKd1wKJe~$dWl_6vq%7;ek;l#K~1c2~BsQD3$9_DWW4Q6Av?G*3R+9 zt6&ylole|Zu>(!FJKV%7`#1eKM$Ru)F=6)^LelNq4Zr&fUMstpnpxIHVZN6xEplah zqLS?M$b4S>{r!9X9(f4tG6Z@>%|O&PqGhfx;}QS> z|Nj42A6$UNe?>!YZ)^5{OYD*c6tBwWkKU-g{nR5ZMH6gFf%FN9aI#E+28iq*mqmN0 zisaC&V&a2J+Y?qwGE`(KBx;t`WW)()nbYjHmHB^p-!qRtgI(KNx33M=O{+gOJ*yu+ zeuoAJhRJMlxX}wpj{$^3IV~C8VWlE~ z!+vt|#}jmWKJeggw(hNbeGTn??+z5$e%-1`D@dYINH8xFKl?p+BoK6nSxqt^7@R*6 z-qDpb5=Q`>2@abp08Mj0cuU^ys(<|3{bU%V{xeu3ClM1eWuz@s8@LumQ1nDfSt?-m zU2tl&U=4D~BIx}EpWk)w1w=uCXvho0{xRTvX5RqY{}6Fap|rS}0JjTv$U2l)hJSVv z^-#lH)diQiu08<@i)5U z-WejODD%02*4%=K;Df^-1d?EvuFajSsJp$ms@Br9ZrS(@88zs%oBset*qDjXPqMf; zyN%mS5yq&6YdOaJ?KwLRKZNU;c;p>rXYYxt&++Y>Oi!)L(6a7j8dXxN9@HSct9H4{ z*bm`2$!+GYyO$}+Z0P7wv5MTTUIuLK*otwYR^&9gqI{+YWyYWG1iDfKggbsh?3Oy# zgO6}fmlpGb&$8noFMm{|scfcBukRu%G+;)?g z_>A0JK3zUk`$HjFq|Uzr5frsOhj~sflX+V@AA`{4mr5UaoLJr#q>XLsru1j|xH>By z@zyR?%%n-veAu8ormb2+Sc z9MUGw0#gsV8|!D@X3BCra~gAw3YLrCV$cJ6W4cs{3m2>ev>(C3a`IGi z>OhH{{Xs<{gO>&Ji6dc^&gSb%M&olS&~fmy(9LC(=|w*iT_sm53~%rQ(a zLT}tfrI1=<*+ApAF+e@dgi8`zG71laC-tA_`^83;TN>Pf48{`uRqSPKRg9HSy}|O2 zism}iIzrpp?zMKx5nFst8;x~J!YZ8ntBO^Vwe85RvPYU13x@_Lmzl@X!&9)^KY2U9 z8Qn`?9y zU5hPbEeDgnue+uMX}->Xxha2ATs-mC3y-mfHxG0UEvFt?2OL~?B7ine9x+Dh+#XsVvq@BIHb^kp_zc%ll z6PgtlWmvRZogS{7|Lmh&-(Pp*g^?OLPp*LDwrl=nMNXwns3a*g@g5&w@_t9a;Mah* zD3!?mi-ioQ$R*9KK&p4dqt-T2Pu(5cD5hla9-nj47<4Kic7lbg;9Ke@Tt#!5u6fbH zEABgb!g&Z9vE~!$3nLrzh=I#T;6Xn}9n(!qz1g<<+B5s_A)3y>?R?fX$2Y&qKH>5` zw%Q3RTX&<_x~dq#wra_Wt>fmy_WsV};o=CUNctS=QTMrb%5&b`c0Q$F59^y)l-TC9 z$qv`;ZZ7rJJ1?(c`>a-SFF;H&jPtbnkR}3)96{d1>Z8X+>h?8!26je`uiaYwtaAWE z9Qqc;_36GdsdE7Sm2LT@&gEh0*|O)B&x2QYMds_MLZ(4%-26W8aw+S@Z9MnR@BYYf zF~qCle3&bX#;4N9bEnOmq8hzD8U34IQy;_6XOQn_CFS))d^DByLabNOZi+8ccD&4n3>u`-J^~{oIsOVcUDR%hg+L+5f7bo9R2w4oB_uuZ8I>0Y@jwR$9-q zN0-TjFLjhgaKc*l1`WcbM&=ITkuucw@ zW?PIW0&mjhwi-{UL+96n?qM{mQ2ZOb&doKli~Bi}m(+XD-kqKv@~3j_vV|?0j)n{_ zE7v1f+^Jr_v9Jx2torgo57OU0GpLcSHYl;u>Gwg1?~2*-q8jAs{;p+nwBwFvAxjXB z$LxodIQ1v36{Sr1ZZFQa+k5wIJ}qb}Oe$(cVTDDxZ{N;AD_V0DK2;6H z2pC7YwkL(1`@yJJe@O?@0%<7tu8+Zelum6!M~y;-XBPYeu1E9Oo7s z1KvswNja0u0QgD(q9dw56!?{wz8p7!{|+1ga}+>$?&tf>f&|?1hh0ahnSd<-7t#gzf~z{rO6z~t4e21(ddHgB$PX$jqG!N|o0L{3iL z|Mte2uUK*C=?MG4_9r*;{QUf&wsz)fV`D>JA6$P4a~Ec;N#nu|>H;Gz(*KB&nOzkP z5m6nYzwu~qZ|UIh@c8KT5W*hz?jbQ95EB!_1eB4UuFnpN4jQz6CwKsKvbXo&iXQ`G zl^{lhnCTV)4k4&vp2<{zm6a7N?>Us6@B8TSRDN}0Vj`YQJ_sx7x3u=73molKldHL< zWw@lcC@?%6a_{iaNOR%rjIs$%IDljik*G>!k7$l@K(A=m{mi+Nmi~`bw?{{Q*BF37fHr34p=b zsi&t$9{>$a0KqgMINaBv{wpWx-Y`wjH$ zf`W2L@#yHJ)Cb${SE2QDlJ6_&&pAy;8=bF`dvbiZs1~0FLg{sVb7LA9u@VF{NG)jW z6Rt1|4SvyJjUj-5bjgM;&(t?(xAfn(fnx9Vo$hV%y}&KU=%ghj1DG%$yE=D-?ZYMv z+Sk2sv; zCe3XvAFQmcaRGh-(m&++hAS3EMqTKpO$Ld`$jFY4jeCcqag6BCUyFr|g!h5NdQG-~ zCUagQU*(njD@=jVX>kWcD#%oOn=CYYzE zmzTci3wvGN8@9WYnio4Tv?e(+GBO|)wiZt0h}8@kRnk69gyyz37O=23#uY_SoGiMo z;R{*SKfIK!2DT{Ae`0X}k{U2iWH}&DKencHkrT8+rGSxXXlvv+#E5-#5n82~|al1tgcK}ES;$?Dgi2e*2^$s%gcamtX2-i58lq^c* zvt+YK$jH8sgY)#HWeg7=otWOT(xNcIl89{~A;)0p>$VE2s>HAZ(dcBt;p!Z*Zffeh z!@)D2+^kt$qJ4#)FL4W?KnG_qoPPFztN0u^U8hDOLMVM+2C(Q;a;6&84*iwR7eA7# zBWRKp&M1?awQ+Razx7_`dXy`LG94WyDNNkViRub>#;2UczpOJqC3+TngX_mfM{h07 zE{b5FVAdzp)Pb$7>?c%+#4AQz-C~De0Rl{aUK3L4HIa#vVGGQRN+4yWpb)oS0IrfA z%2)#e=6|ivtN=mpvN2-6X2-*Ir+(ZPhR36`2C_?xYBBeQQc+YaopGqRHCkZQyvcEG zAtfnWn;dL3M7NAbCDR`dzZ5=b3P|~kM98WtO0(z~C@lWR(B_tw#+DqWU~kM|bvo%? zgJvn!W#Z|KOhCj1`5@jRXLw1TFa9_6F%~(n*opu~C)JR_$RAMyL;-SR84Y#$*!q_G zm2r2qn7Eee4Ca4R88xP2M&t> zT)x%3P#Fy!-SpIO(X4*>U0&ZEaGxQD>LC%}o(y&enejC&k!UE0);%%_CtA}6Tq!dO zhzFUxQF=(u%+nB6J3j^4^k2ANgJ(1O6`ytEZW!}r zX(>7282o(=c8~dyuoo`-_kI@mvrJIbzp}hMoO0?Nf=UfoTP3CR*K0TNsHdBjA&Uq` zk`VL{;U9q33h0JOX<3RRj+S_{R#|B=#x<6eRN2)dEUhI_Ds)f_Ak$`=g%YdPIY;C zHk8lu>gp*Fi6~+uEBjjBA@|nbT9|{w?1*TiGkH`#3{9SxkGfwRYFcVVe^bds+Dm9) zKy_#m2+dI4o>bEqBvNEv$h1vbp_W+A7cd5G&Xn7o69hc&94-zdxEXcrcTnfcwLq#- zFH<>Vq@|^$;eYqO6%7r|21x=i-vcIL1rAX76>FTi6Ka!5#DG)57w_zxd2Po9_=dnQ zJ~T~d8LRq-1ta-6%H;l%^~ij=KU!Fyd zTYGNxtyxc25QM%_eV|d4Arp1f=xM85-Ve{*YgQ+Z-X{@KvR`F!u{)M`T@VC&?doyTkT<(}G% ztNz{*7XtH(fJwE6ts`T4Vi*MYYsh70Xu3Cp9|jI42z!L1N2-gf3m+V}ABui&>f5oz ze51*(FClWoRt)9%kI$#$5Ji;E;_p)zMGUD0o})83aazq{qQEy$O`NvmyuO(9n(+ws zVv((!{z~hU&`^-DD8*3+NjQ(G-PX-6E`>mn+r~SRb6%nCUTl%FG0hMZuxL z@Z*@$-VL>Wt{zW#+S#{W?_o-1R1hc%ZjsgBOB(JWjW?I1W$z1Mm^znKs z1Ea$3$mOwvDQKiH?sTW>$UZf2A2tSf&f1ol0W_JN3Ri3yJke?IigxvlZTRFE9epx! zP==n(M_a>KVfe|$Bv}@oniPg|WL#iw_xHaNF6F8f_0|YoGzqwf+*Wu@rutP?(cnr* z>Yaj@+$Qqjy$MDYUjTk0f#!sM);yUigELcR5sqA3uoto!MV8^Q%V`{2>%4%c@df{gsYj7^%(+5|U;RpwzZp`I64kOm#HI^WLuW2lFEcCqV`1$#{ zt+*^oBMD`28w2l5rPo1Ns ziYrmwXEfsXBMfR?A&DM!HZC&*!`tr)2cr__amzcG>u)F(Sz6;fr3Dn5nwpv!Tn^7~ z`o^zrkK3K1;ag#T<66$z++Ec~JPz;QHN%scNQaS!t%+CpyuW78E;WO>Tn#o4LYB(@1aZkNc+K^pAMQFKrWYEF5>sIt;V2!H}I*|>Mc0)fUwI< zUp`gx4))%gt)OE=z~x9G_61Yz$vT zuBU{;-$f8;18gf(R4xHWdv4dziepcG2=+mNU4pE3jYBwO!93|>hoPN74Nlu0TJaH4ID8xy9)FDC0J=S6(95ITVJiQrvbWv10(bgONw!DtE zKt?p!5F(|Q`^f)-tK?`Z#qw`;fJ^CC<4tlFKH#Pc$UrP$LVMh1A8rVIzF&n?te@#4 z;xhap9~C3*>_ZK;n6j5pZ1W#=L0qFt^N)A%j3MG_2xS%c>5xR~hMWz_#ydOQ&F=Mk z?Hy+P8#xM)dYE)3V|=24U{de{cVWo99o_lW*W>SY`#l-DM~;u1X8|Tf`0PxZx}a*9Q^;Lut4ECv&qQ>4CjRW-#w&{#IxMP8$st z8%5?E=nd>oz7|^BA6$V#xz+O1XXx%pV3m}%bPHn#P`?jB5Ek~GfsVt3ciN`*!kveWvmXAi4^P6Jaopk-eXhVODZ^7Xk@lMu|e6%9vXEBDCqok_@OIyGhF zar#Pm6Rl{W0YpahkaC+0MG3D$X-W$*?r)VN+zqkCk49h23eh5BlN#dzzdk#Up6RsN~s{WC3SwZk&vb@K1Wx z_sc4?G8{p$L5?B;^Tm5&GUF~j==EEkzbs|;ra15d6D@^OkjMr=-LC9Z4pN>g)8~{5 zQ`<(hp)N<9UGtIDzAq%@{YsJSxCw#=q3LA4^yD*rhNB7sOc1gtKQ6uj9uvE^_}__v z4Gq+x5+$@S%_@|!w&N!;d zqlS}`Am>0qa%yU7QvQ4Bm`l(FOHu+!QBk2eymyBr8I7x&ngZi0oQ5)eul9yOQPjl% zkv<(MbV3Y><#c><=1mo^swhW)~6){z7dFMJ7>pK0$Qxz9Vf}&$~23(lrw7 zV1$scjsHvJkq5D@$KRF{i$_p;fn73L@QO47!}-G`ro7@PW8E_{)XIDF#JM~zFawl+ zsVraomB%lu~0;8g=TFdItJS@x&iBW%jOjwNKC3{L~%L1s= zBRr8QF-+_8AVB$8MjdX1pK=Y?t59pF&DIq1bF*T}`FWCtGgWA5I*CFszfV{-xBN!? z*n|wu!g^wkzkw+14xOXE5NNR#=y{ki=rnZ9h-CvAvyL?==9DTT6>{#M1X9{+8xdh8 z5KrBeZ}9S!TelB5?IJ!5Lb?4?2ERB8X`yM=&KbylRY*HnwY0O#Lxu#^3SBZ!5c1;3 zpN&jun8-#liZg*s|4E~I&}Ym?LF^dA8A%k(g-QT>{@rh7->CmYz20z*H$}BAN+Z>!tmtsbrmHK8f-ajb>`(KR9OP+pKQD<_J&{3db8&Zwb^XFCS8S2 zwZ>5h9glo?V1}_ERScf+#zVDdy3il&&XYNQ(j^zEBh3euj6@~puhxZ!9y?;aQRcoD z(a-(uSMKC~Ccsu$y1c!eO`tEmJRYr3{Ca4yC#?E#NyXRg5prP_CTn0UVHM~0H+_~t za;l*5aO6xF;hb-czDyo0K-LexQTR)x@_XkH>1Q?!b{UecRk9g|dzSd$M>BFvEg=&f z1((V^&l;Hzc}4-DI9t2ae?NpU2mF2hYsnugb_?phK{0dy_<5MBv?AUUC#N?P((ZM=Y#V7OusuGBi1P-g{74PVe~4qNX$66enSwo8}gL7jld> z!3nl#S|HUKmjWjnts6RdXOJx#+aDV4o)?Zz`IF>Qy>ylN+C?xGp6ynz!Aw>Q#R%d9 z*jU4K--@LKLOJ6LTI${(FVyPlXTjmH{G$Q{eb>V^Shw*EDA%8LwLu3br>2!M#}cd{ zlA7cF{lA^}p|=ao6-qAJ$#iC1e5P_K87T9waq^rNRK16F@|8Ojb1aR#z|P;HdsDJ|EO!mq%DX4E0~Q`W%*C*NR2I5 zO+mLV82KU7M1pysVa0);2#!0r&o}per_7Lt?|un$@9qkpy7>v7x>*+vC46_nV+Xo9 zsPbjI156yjKP>>LSU&(%yhLqFY;&Vi5d?t;$ZdyFJZ#o*5?-1jP1==d4GgZ1KAV8y z--9Ry&lQ&HyOnOz;g8%RpQNu}lH+_D1vMJ?@1$aRtCe4eIrp`(?_As+DDY3d_P#!u^Ojcz9aEmdJTfu=DPw zuVKZ?&2m&wlzvt9w$y0aejG9Qd?FG5YLd@(M2aBXc;?YWLC+iwoz1ZsD~-0}&{fxh`WI-?Ij zer0=tKFjSsYHFRP_SB6Emp~OGH7e|wEZ)v_CtiBw2lK3px}EgSe2p9&^9zKuZmr!j zE6Po^vB7|_Hybgk26v?tKwJse`b&8+GWPpC`0sOI3tw<-HvFk1?s`3XZfPE{d>5G=YBso;OXW(uLZ#U2%FoE~+|f z5J&5=zjq8YyLsnyecw&!nB33FKoBH@fHbtUq*=gU6`d!Onw@rfo>aPDfMGZw^u3~S zKyJ`^7sLyK2$HsY0-zV5=u{#nqQ)vI7pP%^!XbKT6AQk8Nhw|Xa%F3E@eY*>$C=yd z^oX~S(1#=bAy8G|`l*McH_xoD3GN|P2L)AUbpSa@wi^itz+?aauGy=ARb~#b-7*_#_@lg1+odq$TTN3 zooX$sQ~A9*Y%qP3e^`IC)Y=*sQLc8X1SS%Pby6|cXAMBODL6c2gEux;$hART054it z!;C2t{ruCbO}55ys=c^0cC;xbj4pnmsmrd$r@xCbPXC7#_oT0h#rfGeZkc-woH4(Z ziPT5DNII>bCYL|ejYGxqDmIbJCHfL@o!s__2aR_#Kh($Zuf%&`U_f1NP}b*yBGBV^ zP8eZ+B8A4~v(JDqA8Y4n@myZuyBU4G`$WYtl=e*&E8NK5=ITys$)_;S^Ta!E21C4p z*8K8a6@c|^O_1W-7y%vkq~MYM#4_B1cF|+fsiPi!o#sPyZsl0gymKr93B7>_9YQjp zms9<W}`gkdw%qJ?zw{W%9 zcw1Du05V3EeZB*0(!AY?~up-1ZOJbnc?umE(KBh1-l*xVAk?dn_01wODT{ zHBCoL%X45qv>?#~Vs4V+I4S$T08aoIlZiyY+Z|Np?spz4gL3Usn$+*jjv(9Z56|+e zU1_L7;sy02>vSKjJGl0E)$3QGX7#HBZIPt)odX_!s>}TA{QOaCKtMoTPKD>BC7dDi z=CQJG2keN`lEg>#cup48rx{I-9`{V=Rt8p>l8$}Jk7!SVIhe+^^!YEjj(FAXo7DvY zr&tsQ!-^*|iMH!hoKcDSK#OP;`ut9hm&M^oj4m#=7#6KnQ?*u`oD)I#0l}Gs-W^F= z_C&-F%}jo3Dmr(~&b^+MUPbip9B;jP-x8Mb~>HkzpzKM3v#Ga>M*Xqbqy;EJYesU*; z^WWiIj*7A}@wgi>81%WT^`_^M4~K5q5%JruTmFlin-zL!2=YFv#y%5|!x)a{zvMww zfaq_l@%c6V6g{8kWzWlti-+ijCW^TE;zVB0s|pp(=0=y<=0mrPCN0MY!5NN6{{vJU zC~hPDnNW-IO8cRzCj>GMR`#FrdPdDr?qxf6QSN_@q=QIO?9E=;6VfmYsH3c|vpsne zu@R<#Y|4tl?l!ga3XZq%(OA5q*B!4oUB7RajW)Zy6=BcVWm#yJfE2I;*YA&K-C&sh z_!_M?&;A4qU3Vdrm>St|J$ROhz}tY&+s;e+&flNU^GvH+hqR|CM03hGa5+EGyc|xs zvgGh#p05Yr?=4}dHFrxBUSY`*lm{5-xilfRa@8Ouy5(?AZknKnM4op8uFP(vwWbh7 z9U9(z=EH~$TzJ>lg>vBf_rD*FzUa>{Hw&RKfgc|ne%pE&I!&f84Asp?2Z&Wj7n z3Sr6Qe>=MJ!GHdw10kR$ftVx+-m{z###6`7-b*_smvG)K9jI;7rV`v|F(=_pGAs~P z7c8=}&WTrCq-w8@ES7Z$^7z`+QjU~8%WKgz%gby0Q5p4Og$SVJ?Enbsg9b!7!1%S^a6L=y9omjEpo##e_m3KBp6NFGwi3h`!9AR#w)4*h<^aG z277$Pk`8{9Gr_A&=fXD*#cT2}0k9h*BM|?h;z`0GSAh-D4zL74)4 z6bNEB`~#hDfZ&+P;+SoUJ|-P;AMS?O$j>of%;s`Bt7+SLs8)9RBkY*NMPU=E{LUv( zB=u3LIbquLA&$}VCi)aPZG9r)G@N?QaZLI9@3-uFBj~bx=Ckd!psLMUl5n%JVY;ZF zFxrNc5f*e5fja~^V=7o+1FEjL)aDO27&ztzybER;DhRsKwuHBtmUv4$@E(BAhzns$kg2D$!spNizzHxkX!#yC0ByJ6-OxV8Dkv8zDH3Iss(;b7 zwOLEpYS>Zt69P@Oerk_kZ2ls0J*9el5^nD9{ujE@^12S71JY>c$Hg>{357QZ@&KONu>;xFr+44{9!8k`a; z#fD|(iXhq~f(n!7{ic|)nnl_zDtarjkgReX{ipXS?tkI=m#=@i?=U2@YquoF$xMOz zT+5QK;V)QAV`6J} z#3;#$@gMAu%w;JyE#1>)!~XjqXUm%!)_966r+|tC4I6r3PRIdKImt;|;Z&=*vo5fe z*YbxoIVrdhLI>YJ(Q>YxMNR368U^WWR_Jt^&0~txYfai^g*lj<2pLhgj9P*wl(inx z-`gdeQu+DG{c2PH(W*@fGOaLx|TNg zjCPEXl6x+Yh~%$r_q~{v(t#*Zn#R8dI}EUD>?;f@G-JYpLIpK(@i3KEDQ;=BH0D9V zpl{*UnOwfCm1+%?T@pT#Mue7dO0%R3v&sGllaLI(|J$*eo}9Zsp|eA%8B7%Lm{5G0>O= zKdOM1oD8{z0oh-{-p;2uNeu!0Evi;N>cfW zbsShlPft*7$BE@7s((-AZ~*>xKJUyfBPtz1Kn#pjFxAsl)9l9M9m?YnZ#gW=vwNG% z<;r}eN>%kW48iSxU51uS%?uWgl&B15?p_L-hnNwu4=SHgsFhi5USuEIH!Vomh^Rt+ zvku8Y0|!3e(84y)Vu}>&O`HBg-m+*RZak*=TgUmf+3hSZ2xm+l(?ea7NP&}>E^XaL zv3`p%t4OIVjB*nK9ZSJTHnO(&7+#Z^MVLd|jZS4{DRoSg53T%KXzJe`C@;79{lT#F zuFvc6YCkc7*A>%eZhSz#_DZ3~KF}K_4u@@V+m7d?|E|8jP0>rpZa$bA_8m$|fWsC% zAUq%pC>%7~T6{thWSZMVpiz<9XLzgkxY>~=$cMmyhF{a<2SM&4OTE-`S*KCUhPKE^ z5bOK4=a1X;b=m8T)*mljL{S@SUAEU>(|3>N3oXhp1 z`F^#j=F*CcEL;k!;m!E*Ai&CIV=OIo|U|5U4s$&o?90#~En4=M6x|c&+U%%A)hhGwq57I^Y6fYe8V;b;$D}of z_(@x$>VO0J&#|m9#%qG4`owuvOEcGVf)kYo_=z+DwMMl!NtORqp@uo|>id|n^$Fv) zY+LwR?-lZkz81^b_0}X258!X@Q|T6;x|&loEVMvP)s8QH$9;8Rps6u6U6Zg zyly&1ccOp*8tO9^1_9~(Y26dBvX!-@btNl+&nwh?vQbu&wIb_G>JRWx?(3|OsPEH+L%UxrZRhjhtJ zy8zIcv@-aV^b0d0UP8kPv5a0Q;jwASLk{B_Mbodk?_o!3#?gC`sG?0L7S<5Cg`K29=jv1Yh-qr7xe_$1PZj*k@M>80D?fMhvyR-{ z+&J3uX<6BKnbHS&cNZ)W^8RG-Ho2n8TcLhF+!(V#f=f$tvsa2Ii&=*Yjt}+QbD*wl zfefjz%fGnff4JoKfZdNLQrOMt?NSLfm;wE;(cmcp1!#i?Kw&`tSX`XGF;UCS^cRku zO)uEc=lbZm+53p;0EI+?0bBDt30a^T8cdXIEEWq{PEMRm zY)ow1wllGH^WT^IcvoxnOLwncz4xwNUsbi#4+H_lOvHNP%lw2uYdJLh@LCkb%Zvt* zCCaO_vw9Sy^mnN14wX80W=n>+_o-vWA7`d%`EfPQ_`W{^0>J@nc@Ct<}Q(0;aE^3HMIsy4%?s{bLCb%3x>hXSl958AQLufWNcm zOWu^)DKD$yb(@fuJ}EX{rx!Q(vUU%uvg;gqA1mAYD;>=z{o!g*WTzs<6_qg3M^lZy za_D*~VLLOT2}TSS>kAc3I9-0hR(>p)D$Vm>>q6rUVxPOod7?<$5M7V(MS82J(`!#w zuhcZE>8;%DUE_Fx8(RuZ+G0o1=%X>$m?wj27&Kg~GcQn}c%5tPbc<|zNo%HmRF|qP zx}}Je#7rYcP%>I;3oD?tMEH|8e!R`5(D}E~PAC$tTC3sy$NA7TmpNA=**+i{Rsp5C zI8-aB{LjnXaRlxSRu<~99crwkOUlADex3J&HI2lo6MYJdhJ@wP;oM^#J#_D;BPWak zVorx`LcTQ9{{9W&xnwEvfDotHVHg1O+Q$drtL;H9&?b#S7eKI zpRp&{qvL$3m4H)_|B}Yj=AXL0{N4ndktqJ0U*fzQM_{--O8^vizj*x%&xIi9S@!{K zEPb+eC3eidzt*cdMd<+&7$u%8C)`h0+X2+p(vgb>j5yaki=%(qI!Z)8HN#s@P>SSG zJ`o!%wHo=x7{FoyfqlnO`yoI0Yi*HtGZcaJ9oNK}D+`v(W$#t_q>3yDC!V*9>sZ>P zL60+2v&rRVG;wh@)ph4CI}@C4yAR3o-YAax*)^Pm3}7bd-cDd!RRoGMuq- zUf$KM1q+$=EOA{V+CUR&eN<|owfM&!`YEgPou@KaqO*$fzGgM8mmbEY%u;tq9|W>i z0@&ieFIU2ke-C%3;mtB9r4E%X_8cSnd@A{QBs`YLC@`m?n=4nks$*{a*FE5kMsM_M zd=E6c!KI=J)ZjlA$OaQzF@D*IU{4=WK+#yl<-0*_QlM(CdQ_eR10=-jdwY6z?hXYJ z-LKXjoP2zIS`w7ftW|~}6UX%^;3YE7<(Cmt7(&71K{F!D8C!Ax3T%n2w|LCOQ^=L_ zg@-*f2dqy)looL5(ENp)l~qKRe=;(M={!4zOYXl=I9FrOIUkXYz71eo-pE0|u zE@|mRONCQjgGVFt23r7zBI-n8B=efKcUWI@nngqy=ef4+-9ny+QrfDed$)UBuC2-m zj|>CFozZ!&x)P;}3B~$iTD_vo+6AeOVZpA~(x{`yS9`ldIv`}iF%TX%yhfMH9n7KS zWU+w==HMfxc^rb7NYZ9^$>Pc2OM@{7eP0b+W9c>${5F`hUiZ{tM)QS2vC_RGf4XZ%ObJ-29krnd#;rKp{7P&Qwkg>336xBf8Y@(8Y*!-j z(p+zCo|HEaHB?ga`)qp~5-0ilMkHHLeuv_^=gUG-iNF2jjcAf#K; zv_fEf_3b|_*;JJE1JW3M4<~?M*yXgFWWdZUKbJeE!m>&>{Q3d5sOQ6n5Hk4rWwNGr&9?El1GE$M zkj~Z|RQS)HdQE?*OjPjmuu}(AV)QsQejwJ3A#OjO2_uuI;gc~n5<4TDPfJPX{qn-y zut2HrBm^iCi(YC&vzyp&l6iF9Ltm4Wm-VI81*+{FJ7X_-{rQj?q$pkcDyu6dVrnH> zT_}|;OBDh3h4#?Un@RLjb20xhj0!0(s>U7{LfU@H@CX| zYX~Sok$@kF55C%o;u19C%>8&R3Qt~@C|L^qqq#pNx(w1VdpSx5)^yp|)#BJBF^H&C zU-j$`$DDqa>n#;FS#O2Sy1(j;+cl3OlgO))^u+!?V&%;CSWW{`ne~r3XEOw2to7s+ z+zAlZMSY*u)aZwgdBLA88Es2aeOgbWrJ*B$?JofATJ)(b_not)|5|&{*Rm1(tofKn z^`%cu!uEB)Sh+!>q87szD^KW4W=XzH5@mjg4>E{>okOE49B>QK%Pn@!rS$qSy`X95 z@L45_X@G9s94t(=cG4_a_p|slazug_iAE(MluON3y7uM=`!BaYvia$zf#;+$7XypAk#bwFohkea< z>-r;cF+}u5p>QuVZyl$uj^3+(`6+5{++0}|d|r~wm2b0t3^MfZc`>Odv*&2;ZU9PvRTk(Lv1K?PsvOUuHlzjum)747glVtpn-y zO07~GFm14!ocXhi8!*ET!AXxiDln-*S|c&X!KY_C-YlPGFdVbj2^{Jgws(hDQO06q zEYCtl=xD)z%LW0P%H$K|idF8~C*a+AmMd0g+X04bCh+>y5Yzq&VtJ!5uCh0mo-L+w zvEy1KZ%RDgu2~a6AJk_EGj11Je@({1=Rsfor+ikUMjDw?!$V?3pHr7ZaT~A6Rq5+` zH;+$9va^fV)pVT5C}vjkzq|Nom&=%Pk?40&dsuikR%-(Yla{PdUm5dDpP_AFaAD!& zQOMwD1;m?e&vN}gMZ9v(g{kF2RWqbRlQW~J*dfx|m(uQI2{z~tCC^AU@}9R9&&3Px zIwTED8-D)OA!G-3<@~Zv%SGfGE(cxQ8N2hO%B2w-71Qcb(lDRWD8FsjvEx-#;(`;W zlJG^Ux_w7J>47(91ZVHA=a+M+Drr}ZYkwjr$=URwtr+B`Cr1W?oVrz3x5?2f4X;h_ zV)_d{urQD~7>`?CDTij{;g@XulS`J3&lPuZqPIh>=LbA^Eg?{j6ftp(;_JA;vh5<0 ztX@b{NqCXUyiotppX*85%SKQhgHu;^#J`KulC0I$TG!RT8jXwsdIAJ}` zf5zqcdN<+}Pt{vqv2f}swu8$`eAXZ{0s@s3N@7gDZ3rD2TE!{VE^hEJ#nN~C`x^9W zQym?u`pk~GKwVU3HYkn))gfXqejZ&RnJEsO^HYTr%i%*{ThnwuM`j^7nwo zg&HL5*^mwLtr;_=_(U=eVaD<4s8yfOQI|W)y+J%rh(FC|gVOb*m(!hxpQ22O3Jd+! z3%rl!Q6h4-SEpX7nvyH$P^X>9hQ2E})8VbzlZ!ebA3+(VmUu@0ei*<{lFh>-s;U8) zc{ufJ+#6g>CWOWOBDNE3!)u?jDsXwXnKY<3(iQ01W0F1!FWf8?W}#Sb>NS5hRSEy` zLYqcB6b3u+t6L)`Qj58hT^)P*aj}vWJGIGmESc&Kp;*pCZsRQchD+bAM60D!z-%Hm zBEVYDk4e!ePys<(m{KN@8vFhkFD$o^R(&G_sg0u{W9xYlet|Q;*PUNIbG+G!hf^?a zo%ERHCEJ%!4+xMgt0*iCctX~@K8YH6Fy)mn_HBJ;@w#t%RS>3d*+@K&1hCQzMk^_PJ z7>soQ;=Lg#=!RY3aJV#Ey~r@{`S}9Xu@klvF}Gxq$u9c zeB7}xp@Dj6d&i;a*;GA36+aywwyCz>z<=|_YDp;3YM zl^Y^WIvTSU&`)bA7T4$POF^mNPL))`P%7OfQoL8VU(yuyB&@!kd1k#ts(imm(`Ewe zr;MkdOE%*RyREWqIjT*vzv(l$;Q)W#hP_i*&}Y)ulqky(leZ_3#j z(W-#v>|jy3bR*U^Mgpuu_^uDaHsXsH5WwEg-`9}GhReo}q(0#|Q+OrqTb&2^ujx~d z1kK|}H@1}GII>#0@cFJ6Gn!#~-t~sefl2X>saTjPw|A{Irdb7`x6yRp;>-x)W}Q^& z2atwieugq7G1&Q&vF7Gx1KeVh1k>{Oaw^brOH)_E1KJ4xGsReECA9hxGeAc)qplxk zL?CM`*vk_=ndlN92D-~EcyqRM$Q2021;JK@bKuzPvv0ODN1nm_;$oO;XaBMBUjv*n zB{NtNzlU$_uirRpN&liFf5Z@&>Qr^)RV`o^h|OXili9GyP8XHCx9{UQ6z1|+&mzSC z1>d2wx;=iJmNa{4deUaxsTgD2c)HU&ZO^Rz+B%WOfWA=HcW^M8gsY>iy~U2klZAWo zN2MF4fs1cFe$QE5()}M;PV^Bfy`t{%VcU&jwZ0DZI)hMhrd`{sSmmv|Ni;pb@AI{k zi=D3X!eaAu1!W2v?~1DT9Ef*Pf(dYCwL1H%THZX2$o|)_-UQp~4N;*sVi&RzMjR{c zDDI_Y6yr2!ZN zKI&R14W?qXR`n;J0gLo(06wqhH4=%)v@Z(WM*t+7w;*wjyv9@}+qnhQufG$!qe`FM zi+X&PDoSYnO{2t`0Z??7GCxxUCGjBi(8>!!kcjDnRUq{$(KcKaYm;12lI5u>DeciQ zHE2!>h|)uwQQ`7;fFT12nGlJuIcYw9r>AXFcJr)!*R7+Ieot3E$2`Xy9tOD>Qr+6% zl`D0tA!6bNIOT`wwVH7`U6hrRi|zDz0YIU{&sNU+my3%FEMZ`(ezgKSp6aqB)^Le( zxszu*pz+q!>zBDjCM}HQ4IT1x>P@3%d$N2weQCMQ7rjbO&0VM;1NaC}hU}5i3^9@& z89wMDn<%9yYUBXyK!E~iACUmCQUsI6{SK6V{54lZEB2Y!SWkRSEbp>uWw3si*Z;j) zlRBkZSY#V|_w%j^{OtTKJn#&saLN1a?ahPuz)RNQU~tFVv))(R%4^KKGhN`^Px00l ze~lHOwbW8ORUou*Q)aJXYfRDZ7xMcMhj&95`Lp-zm7=>47$u$&CjolF=es@pI3Kl4 zYkjbNFIbeSomq6*IFa@+!o%vF*f>nResuLpY-V)TtX=gHD&orVowP)&NwI0Yil(U7 zpTC5JfN&wi%M&Km`3uw`Dal^%G%<>f$PaLOC+_#C!mnMh>|ab$GghVcWG;QC%#tV{I7rwD9xEoQRQJ~q8~wd^OY@zui$9E zF?L(}p6#*4%9M_aiwj{0yGHL7A7K|9t9O0Kf?^>GjnJgo@Q z)~@Fz?VQAyuYFjVvqSDy{R+QPg8Dp8f!KBe(1|o5{E23jDl$Dt>q2laUCVzkJ)M!2 zD3%VY-bG7^``UfjblgS8v-&wd?-~dn1RcI(g0#M_+h?Q#%)HH`!~(E7OJ$dveB!9^9+#mlzEhdJ;lgjW^-ozjB05Dbx^~ZDU>O zrZ0xJ^f!5T{d>;C&(NptA9DO^Wn>iec^TSM;j~6aWX&YB_(j*90>L_xIbk@SEMeoN zBtu+WSTaX8A)^so7DhlaJ0~KG>gBvM{9vHbry-Qh=kj@fUp^Zd@Lv?t|3$uz%jCH- zGJ}Bpw*mf(Lb5ZmFmqvWwemKzH(+7@|5A}673C!m;c&jM2ZAUiDXRQ^wEb^`f%@LZ zn`=yhfG|Bti3+KDW?%YQxT0w+*};oW%|aY!JN1AjvHY^F?`1c%?IChTBeoz777Rot zDi9Sv$c8}uJ|(TM8zu<2`p5~`|Cp-&H}BH+$9{CbXW~iMCTFp{{cLH~RBG#&UVRZl{gEem{Ll z?cY(Ul)O(&w@z1TH6&8VWulE=ArbJlg2xY<@c%o1HE4J^nJsMOY#d#wGa)IF%W5`z zf4*5I5s&E!1O>l-ST+#hm-tp*%(l5$47a;qM$zlF1HT8qskc|`?fL2N%68;8jS2-0 zjWkfER7eD3u8_m+HlEI8LhMPOd*@{E6tMU>h-sjT&+TgI;biZkdYHoA=wv$WHcFy zN&YDkj<_-_SQ@^(+HM@xEHA(Bx$N|La!(=PLFd3n zu@ty__$I^8K*V}r6!(#wV;(4G{I|4OtrteTzLpv3SB{T7r{v7Jn)jQemFMoA-afY1 zNE_fV)i;^v?+lqu%q`p%IFg{`6t$bI4+F(WH031ZC58b4`RAu!(f>*V#5=toW;(p? zfHzZg=M#2cf5FKB#)4?@=sm;RT^?=L9c74A**=w@<7ba?*0ZL&uYUm-6dBH{}b z8ylPMxaPL?2Bv*9+YJozBP{!)lnt4w`Th$u!u6oTfJ%GI=BtKtUeWr|PrO+G;;Hvi7a& zS|2B{LeialMjPRB_hrl|mA784FHRD*3|8VW=C{85LU};?{1qPIFPuaYAaQ3BAVC9K zH5q3!#SfQ`?{nd4IV{D~_RJ=NaL1=EI}}gYoz~^G@yuH<)sGViQM3{%rXSqtbz@#R z^OO#mS@*|Ylg78zk>StPD*@rv3ux2hXJ9+@XZUM`zvw=R0P)3%f@RxfR6pYoSBq0d zRvQ^sFSDo*&>>HRMaR9l&Sbb`Mj{@U!ooy^v{+6p;xD3c6SYyp_@ofI=H*(GOJKoW zMs>i74X3_=2e<=SK!k@oudCpj<oNW27OaF`cEs^isPhEz zyip<*QfpmlNU#g*x7t)K_`9aXhG&GBHMHkPip|$zcyc{L@Q&N(?`7(gWqRT&02&|2EuU_h2^%Aj zEZq|6c@tgVGevvj^z50qkQu$W_-RNAq$2~Y#~3D}$TjU(Q_A0Zy|X&IGsl2{1`L8w z3nO-E3e)`eKeo_~W9JZ!q70S{_8k!#?A!ggI_Qm8cr(`IxgJ>JQWNK1b}lCB_I1;A z?tkSVQCP8cCBCQ(5%D+~J3Owoy3=D>gBr&9tk*;?!T#_~%`vGDQ$_D)qy+`bI21hB zXHhm0!yl@f=kJ}_s%rVbE5NSj>IFbE*tdpggxWdSwnemr*hH=Tw!aycR31`!Q)Ckob)ENxpN_D$m@0s)&jSJ_-emG1sV1M~mMG&@|$v1aF z&-(|DaTdq3`sGn^_F6AAV*i=uBnr$C>E*&q5D+h#1*rnUY6pX^t=US6cK|z^FOrj7 ze;b`~`iy3cg3(b!|FK`WnL_Lk+$B-%;R02bE zN#4D`xvJj)27G;XY7R`uzz!i!Y|L4FAmIzCBM`77@R{2MT3EtG$w~P^G$IpP{^XyD zqU{Vqy}?GZJVcn$*Y`#J?%N;K?+??hO>3>PSy%)(p7uS|3fc%Kz5e-Bz15mnRwaRd z8saa?drl}4Qx83)b@~G|=K`Y=NAcLl<(k9SRel8NL+kM5yXba2i@B5-PxQ%M-wOny zCP*kH11C9S!IX|sxD^ClP!lR(PBHDv|M*MNQ+3(sWu{DyECyx)Gx9*M%NOQ!vqb!`Dc%3+IQ1_2CLI@JH>L)MK*)5wLEE5BZ zM&7#p>;A+H_^8xhxawg8C}CmMVHr&_xda!{6?EBC)00E<2+VgaU)9jwX<^A;uLLuc zpcSnzP|&h|?0@!{-z`$kb?M%w{jd<6WyCoNZ9 zZ&P(XPycrRZT@WyxT zFLGVr8I)Z4jhIQ!kK~4({7mBe0I7k}{ZHQ^xSXM=`|AJCr$qUtY5iy8BZNNa zVQIP|H^s|j?puOlkvVGW+sXN27`X~#Ls?GcWvk8OB(^5vnaeZ6+dlr2+Mfh`-l0kg zn;wh`BB&4Jqax$Gif~&qrGY`>6ma*D$jK!@)C>KID zN*b+`8m%7yD2Zb#wk!(36X})Bj52LscOwY#h%9;a?cHCF{E|=FF>>v36^-uwk9oz4 zTz>1lgiR7eOr|Lr&Z48C_ejGT9zxVg)396@fjn-s({?oS!`C=W46SE1+>8Q8{byWr zis%xKLd$Rfghtw$xu8kAFO(*&ObpMEsG{#RRIB!Fff>K0B%?+Fnzx64>Rn2>;_4eR3}GX5tf(~) zwa+6usEogv+L4hF$Lva^!~K&KiXAJ|c|IEp{$e%_~2D_J{icg6B}{NofKnoHN6f!X^;A_M<;hPSnCf?C_g62Rk7OP zizQwU9M7bnYu{Zu1H&ZWsVM`|qyI+D-7G8mzqm;t<>}`{9xrbW(40H$Atv;Dux|@L z*tIB$fK+sz6X0C5#go4g0+kMY7pnEvLFF4H$w^rs>Rz*!NtT!RGN$C z^qibaES@0Tz~s$F84jhF=q8xU4yY8UE5TJGAA*$rRSRV1s{(M%vVj`n=rBFv2(vW3 zVE~Oi@azu)FOBoF@t#~q^G|q(NW89=2X_7C96cJwYj_fH`eR3p7q-ps#vY~W|R?$ zu^2g?c#x%~KUvQz5q^_R8aTp2nlKcu?9os*-BXXj8>XPz@02fMd)nKP>tpojZ#x1O zNmt9d9x$v)x5e#1D|>T&EbFiMwP6hHAZn2$2n%e+o{;7#x9#zD(<{d zcJ*Qi_~s0L9fqx`U_&G?JAS;neMfTkpF*&LS%zSByC%3KaVMpo zG4YtbbCa#+Yardh8-`)(iAT25P?9)nIt{w1YI%WASC00;6GzlU;dQk!$t1?=JS!et zC*gZ2dOYc|qH)+2UziEBvIs=of0a!YwI}y`1@!34PYj%ct*mF+?|oFQK3lHSEvz}|99&nA z?DB=e8dfFA=U?6zTh2GsxajM5H|v z9f7V9VA%0fc3KV^vEmU%x94;@W?PliS!dtPg`d7-(lIg3I+bMjtH8lxnIQHSWGDQD zuwAa!D^n?r`)W1sAx}5WO3l@DE}-&c<+l(ELU)eE>>!Ks2vg48{&Y_T*F3qHzn=IT z=xdq=qAq+;8#7`QcDSraw%bmM%Mq%V;VA~Gcfit{^*$~5j((RP>lFTauJwz zD_2Cpw&sHQP^_`2<&V}RAy%lqUL9uwE@yK65w}OH&M{IXcws#8^Dhk6s!-{4I#d5P z6-=T&B@Y_*&@0h-C~Jeetux3_Sbiq{8g>pgme=nid;yX1kEa>iJcxx(k50kM_7HAj@TTVNK8n$n>ziiV zQ#<2v`JMe=VP%__xB`k(lOA2KMh7ECoVm_>2{?JdgA?+-#0?|D!H0AU`p$S2Osd6c zJ1Di^Y$JD=K2C!Ij*w|e?)JPi6-YRklGsz3vHc|yhjIkaKoorj{}eW1DE z0@28EazhDh#H{4Xf?*59a!w)&tR@>i(4I@Mli~I{&hm8~mkg^0Gd4~C+5AGO1HTP{ z(CwV!;&$wC413?{a!yP@Gt)HPNhV{EQVRlw$APuqeNPvSd+kYh6SC5!0b$iV?>#Z8X$x8iilE*YuUjTRzw>hXYE z=)bqNen)aFS->dH!7rQb3^s9Gzn`6Zs(T-?RFFaqWcM^|Pl>;6ZNvFYz0EycWv81_ zU{i;{VPps&Aw#4#OxUIXl9HS6@9*)3autr-A$|1d4X0$!9m8^f4{6)Lqmj07o6f!d=l3I|1 z=kj`giaPH80^OD@EXPb41|d`Y`&PVmgcyv;d;;qVqOA7YRK;UkORkW60b)L#n&cE` z{Ji9rj%}X~f{u+H`R&#tW_#c~n#$gd`TCyuK+m}0+Ov$?gS4Te+Wwa9gBdq*0U>uF z&*C`+wbNTnsyklPbk_|WLlZaK%ZbJI95-4(>}dZ7rLRwe!w}iKJVPXl%SSnAMA%rkcTM7GcnLJFVLvDQb9FTaW!P% z7_4G(8lza(FXKAnX!^Za`49Y6qlq0?e)#rw_q?4dgKh#VD=U90Q`vg#M#o*@h@TK) z+h(<;{ghg^44{WL_!|{g57{>nG7yxVrtA?YrtPp;Jkx&`D?YRsrqgt!2EL}D~083=lOXJ7$518^qz4kjmn09~T;dKe*CRLbNbcZW&d62zi%2PfvcHE@F4 z&5y{sMb)fbj$rg2*TEoRi<)Ttk|maul9G~#CJGrf#n)x=S5Ae^RR4JKJ)X*$@{~3y z(dk^2rv*dr-z1%nse;P{NzDOgeA%1E`75i{_`^Oo5c5O*0);`buk0A2tQ1fU{KNQ% zIVh?-^cGBA3#=(!5VjDatPe~z2&+1tGvYUw1v2*s=^6Xu5E6lk*&yEVbqgYw&?qx1 zL*|ruujh9SW6A>O`m#Au3r`%GQlBv3#O7PWk7PnsVM?2kh1rvi;1rw!?*+rnlc6W# zMkAT^$JE_B%a6R`Sv!)X>v`1<@A1c`&<`L;X5=p~!?Bet5)8P)>YWVqw3~w{8L$Pi zNR>22AuKVVG`u1io_LM~3h1Amcb5@?tI7fTx|8`40Tx6^3c_Imq|I5wW;zPFyr&>yBs5gTrkMN0`y?h9W(qdHOK8v9e*{aP77@DI zk5>^`Hjrs1aLfR;KIoU9WgJA+3qd%(Dqv(X)Vtmf;AI^2+eY@Y$Gg$qp%0QkN{6QG{2|XO7IVF7-kT zgiFmt#L^nV!hm7K*)F9`+@+4@&07zxUdJoYONW6<4<>*6V1YKg-4y^&k=(G>_ZBwS ztr@@*o*g6(;0H>>Dh`@JQW~imfzr4Vl&*9NCaAqYRL)?RQ*s`1!YS}Z6(m3_d3!RS zJwweO-7@ApFTAkmHCoXlEiOtu3S-(8GB|$G2P%$Rz;F+Ggpu~K%7wxfI?cQn}DH1W1BgJf>m zeBU1xeRVk*p?sV2H_OE@@vBY@Bn%3Co0J`jY*f z$&Btd!%G=IN9?5;^kE?$MJeeRX24MdT;>ZeR$${1olbrq@zD3@(nkrFk|#K+1e{B7 zNDXA$CxwHlfP2wY^PTWd#%q)4S&MWAZ{EouXuv0$xIvL);Q<>YB_$_^`Y!O?@#LDY z`w#g&4EIf3CBd3fnk{H3y7lY_YJ#eywt<$=7T$0H08?1kSZn&+8Y#ocE)DxDVlXTk zjM!xpDoG|svfSTJFo2q0HO2{_on?j4{!WG$)C;B8>?zm+RVa+)OQ;eAwd=jBti+HVnq4 z;h1BmsWN!u!*C_wqC^&sYu=6u!dSeR34qNZOWlINTq&kx$JnH~7!92Z07jY*$t`Kg5y zaL}M6zah>BA^}sLvOGVq2i>pz=F>;YY;V0AHzA^SoTx?5L#AqAe7698=C*@tdZnR8 zU)m#ufpvP{xt~27Z7%rk<#<_j6Zi2thaw+;%-;;u`Rpz-|+YxY(x z0b^npU0k-|!X`d&nP$Ts`XF;$Aoo|{Bd6C?rB*%{*AOoABFP0zg|r}3POgR6u@+X| z1uRZ}9(z45=da=W$?mUQzV$Y(IQfNgKyaaKVMer_s}xAF($)T4q>QeE zjix!5bgXmP6x*=fJALnKtr3eKtoqp1CO!pzQy-*iHB=IH9%~qM6q;^W+ zFQ&rxQRt7NoRz89jUn@r0J$)gaH;xamq?JWLy4|z6O=fvD&zW*D(Ki`@cuzR<3?aZKbukRXDP+-7%8Xv^f^cz_ZVdha^)^ufXoG z+NZt_?F*HRpXJdA+i(ZTl&IOI39LvwxN2l#Rw9*ey~>T&cTelE(V@vrv=_h@s;HyRO&UCiK;+ZZG8C30kj%kUE2(4ndY6YAc~u$+5F9pT3vMPqAn zrVr{Y2l$hJt$-^$>+`ZPV{g8N3Vf@(bnp+=L7i~vvAu%cm^tj7Z&2)6-Duw1=@yux zvr9>r_^X#;!iES1dm|$h4fl-D(p^b`PK4SNyf!F(P!bj{@p>BAlJ}EIWC$5h7jPL3@CNOC^Z@SmiLxe`jFhO~tL4`d z$~>^svf6*H65RW2SYS?^hItbtP}t48T=4KkvyRx!iUBF?j{H5r+X%bSCO7VIgqB_8 zE#+7(5B`sGes~g0T_`Z*WDVw%|5+5A1BVh(w8|@zCMwmy*$FcwUDJ>pA1~ShiL9!A zEBokS@qK65I=HX2Lc)oczElaiQVSQ({T85Jv;i~b&*K781HlYodT~9#@?<5iw=)We zTFJ1@jg7i3lEFf@?FZz#W;W^KRvVk3Cxae6a8c9It?}VeID?0lWu;Not6hzC%#YNL zJy=J`hp_2R&d{Q*s2wKWzY7^efqK5Ck1ww2)KPOsMFqd6 z;pPiE)qjzLV4%?uVQ^=WS7v2K#gkV%qhb!#ZoH#R_zJw`z9IT`$f;!KSy?dIKhQTw zq&E$3?CAmh(l?z9$EBs>r@2Yo$22E0TR_}0n|q)UGxNRskNDwT2)5In7CLGU8@wlx zmzp919S2_~5%0)hB9!=n_m3n^ZFSK%d%(640Sd(8qde!zgLl^C?6h#yaP+)$wqR{p zp`3HbMHUuBLRrmIgTx*6&~MGx@0p|)9dke6AOv@0R>R#Kup@Znit(fL{iYxfhx121 z0EsJ6mGhPKb~-tbL8uF8>KrzFAykLLqi8&$o{U|Ka`;9@T(qg&vEqQw%)&|8{mF0& zV7UUYT-sX09ZlqhaeoXEvmW7%G01vUZuF^8wh(RB)x*o@+fGm=qtM7@Ie_p?!&h27 zQZ2;%ax*TdDY}=$NMA;}T<37$D0Tr*hp$qV$q3$OZK_O!l72T2)N!YTDI>l`4{qs! zYz&Fwg3$ZDJ|!@$Vv9^ubAXvHt9uPdGk^@*L2UICS8>-y3TusCJocImY|8EHcTY#1 zf*karw$s%{UFUpBJ%FR|w!l>t)h8I^jiG`PWRCh*ios5kb0bzTm6O9iD%Mx_zDR>d z&+)0$&7tPh#KR8@LR0tzh6`tz`ODt=9PCV*@Y{Oj5nnm4#mMm=YXOlIn0fAaViw8i z6!n0dGf3O;cr(0}xYbzH{zN6~9rNVN7J^))n=&R+CTKx&#bgQd-=m|WQy}d!7FS<^ zOgeU}|5SMYQlcx+agn&=D9jb%tNE#$&02xpHxjBsHdiv%7c@3`z0rRLwXXYW05u)T zXKUV!(Cu%Fx9m}m=KusovOog#GN&V_^l~PvvY)U$chU0$N_z-n$_Qk~q)}0%80nL$ zubj7Xd{JNkQ4Eqt;Pdq*C6^?~c@~7i8>cUE;Au{32@0ioY$b!U9FzwCO-H+QI+FQ& z<+=+|u7Nks^z2^8W915qu>!*lPOqtj(s@8F#? z9gla=GzhoYPSBPdN_)txyQW)C(!G-`10zQ)LNyBg6s1QRwm%BiFbtv=InpH8N&}h!|kzBAZb<{K$mD2^pEy_3gKFaeIHFXk*iowvrYoCW0}1T+xVP-G9<&~!Xf%dHJPc6PkS5Gppc zU$(zieA(v@*j-p(iR69h7&;~GXelWQ*plP+&fRSk&7{f_etekaCv}nvtaohQ@^x8Q5>g*D}MA(YqyCC#g zt>d0)N4g{$f~(km1W)6i@ov*g*J*yXkz3ZP1sOkmJB$9oGvy`ceI?UZYY}FohKW+k zn*3dtgE16?s8s|bccK;D(>xIcwXH0AlE(w|tPK{YE3_YUel%?|rZx-~6-AtKyFLfEch&^<(880+nqrZxOD+XTFG|`+T+&_&FXcfJYmv z0H=M1!^aM%P$-pfPf_nl0b!J%AONHyx|89uxNh@-+i&;#ft-L5)*Uezm6L*FSa>WCOi$8;W>#<)sMZBSWa54NSr8k)GxYG6vJ^)uL_o1|6q} zl<0MOQ#3t5LMtZqZ-#?kx)fUbtV-u{NmVH=+J{Y5f4Sr4Q!rVrl$tj$OK}9tBhB@w z3||>$wYrlqCLG4U-S#qZx5mY4xhZ9!U2z^ruzK*zV3DAncyDl>a?%bL0~V>5wM zukdl;D>mC&WH&;_eKg~wfM}WF`Dlgwu|8JSUtE#QV462407}xp!z`zXQM5Zbep08H z$YFWUSKEO*;^+#1y75#D)d|UH*p-KCh&xdWdsYgjv{llyPvO7t=((k6d7uC3>^z{F z%CmU$*%7XDXt>EpN2+|iI#Bx* zef|j`de`2@_3&s0LD_KC4^AG-9ZHsp@;sN?Nb*?S%@stM;GiBReAExM0DjD-ZXLp} z(3Ljl$kWmEuCsn797|$u8b(VQMtiNJ5Z1jW;==(_RLE;0eVV@Is>%tBNX#%=L16Pc zIj!;rU4|8IPps9RT7DHVmiYig-%T%@OgNzCv2S18I^5bJXQ)?(2ARxCzMR7|2~_mjLCXwat6h?H;$hg!_h_+todfpJvP!eJVAOitvw{>90V1t zxCU!Tt4ms~oTzZST>;5k)>jl`Gb72f-$|FNUq!~q`fz9OHJvtH@3Tz$1UulkP373E z0@+fzeR!6nZHnZfo5|C_P*%W_N^W6`KmsKj-ZAx#1=7iGaZ^4N+JJ3^t{4gAQu(c) z9u%kFOdrdr_6{7qy82$n6#HTa`+CQ!gH41s#ZnzU(@c|0-5S|1751dPg7RFuuOMVM zdMYYDw`q`9=o`6X%^??pm45Jvzf$I59djF2~!iNl3L|6F*S-QEGJ)UV@=!dBSq z@`v>UvdP;GI#LjAiNy7L@O0fYQo$s``pw0!YnZ^qQRr8>de{raoKIeXJO+&_8n5`t zl!?cLJ%}?lBxFYz>1VPWZS8CmCXDIxm}Tf+4f&ih^B}~@K`lVZp#)ppIfyK#ppgy4s^az)HG{nYnB$Uu)!`G zp=GB%hqP|zj}cwXo|!Ozp~f-1?d{oa3Dl_$9y{&;`mr>T5>7EZNXJQ6uVUU_5tL|c zsvJH?^8ZpXVC6-Lt~FAsv`R2yL>=Kb5}qzraxnPJrj@D6=XA+EZ*rQ!6eJgJ1S6Hoo z^FJ_L!c@FQFHLw)M;mJMZ`>Vh3Ote7DXBjNLB4r|?w>1b!G*x7siBFy9 z#0Uh0Ce?x@n3Nr69)rU@RHRnfbH6pHrX3iaB7)M&J?71q#NFp-9vqM6bWp;{$IH#$ zkMD?-Vse^YZ8Sp&$q2g?iqgnQS8g6On7nhrld6|(B+kePFsRpf<}efl`M`h2RHac772ssrmiNjavs3R&rW=@5^ab%-ckL!~N4 zQzl1^sV{ZOdEu^ineh(yxnnOH!NRZrJQ{hUUmhan{nVfYkj|GXkjjrdF+{OgVhXzb z{Lh7@m!$Ty(1`seNy4}emSmrq@vq}Y7gtWznY4E8mbx%5$wh7mKt)0Qewm#4lb`Ew z&sY!3F=2n@#I}pt^ksa9^VYk7^#x=04-Ndqs% zW0x6XTBI0UoU-Igz)>;OyNr3KrV7uNr@-$@pZww$#%0mwV{rzmecP`AD{&}^UAkq) z_o8NB_4Woud&_W&zM@hJD^t%?oSYByl16;y=tdutQgbVF!P(-dudF?DeF6hK`PtwK zdt`9+4fvw!Z8BAnA~kvXUpPJ!*9L<6^A#`qS+xx_G;YU-{rxD-)K}z_w)&}1&g)^zFFveFLb`>(&S^k{M*L+>)y&r{*GQ*XJ|ry*zfy1N z_se&-JCFnSU|iAr##P;xr$YR(V`DWFJgBJ}_hHxquS7Iwe5mAIH$1cV{2_b#o+g|+ zpMbSQWuM8R&xeV4Cxs3{Bbjd1YZ7lhtY=~H{#X^D(CaF)epY&NmjD2bD*ymFcGbCq z?VuJg4>y}z0^a{zc~+Sn`WMZ^`!WCre+|2Qe!aajFpSGIrVd!uzt7y4G}^bZr9-`5 z#ehf1h_w7JWGNgqi6npj*hOL+me~Kmw_uqp^0kgf@t4%?qJXs`kRJV9xIo14{(-!v z-ZyE%nYt~VC~2Ee3ad*`TDz#P)6NJTN=x~Fo*AHk8Gsb*$MrzX=92!wQYL1S&($<0 zPvi{2sbR6S;URjVhCIG{@eM38C_4oMf^OhUu3)6`>^SiS=A4I%K{1nIe5bn)YzN_7dhI7xX5@l;0&43z*3gzc{-*|~% zPmp@-etd0_K&yUn3Z2IUW z%_I2dIuPAMI%^naaw4m4=3YMTc2lfu#+~yk) zq6Z2<-HRCre4(6o9MYqAz>}YUS>w3f(m;i)^v&1g3@)3H{(8_Qje`8%cTvh>woBX^ zXVL=zkA&#EWxysFE5%T&+os4PD7Y!dLv7wHrPtT!Q6Jxw$`>>P`&hBKZ9WMR@JuxJ zj9L7;313{39ufg+$<-m}kgos(4cQv3hZo>TW-*aE#~E)sIqmVy7f&{vVMMmdIH}t` z#X|W4`2{j}D#?k1pM0!aDW}zw`&y07JYe;s4`0iO{YWxgv<9qE%w~6QDTzyn$0sK< z6SNTw-LjC^3aDG42=|sIR?{z}i#ZaYV>w{$Enj#Onvz;nqTDkM#3Xf*Dpsyq?fJ6j zt)+BC?Tvo*st7!xZ%YVs{CF!pESP7TEjY$-ScLGjAZt=`Vrz_f`yi`(_hTSNVb=@Y z-rJ4V(`RfaJn2{%YJ5k!Vqh+GM5?@uIT^JR`HT`_f|-mTQt8{CqY02xu=4! z66k$#wL%J!(0j)sfHuz-&Bp9VO%q?{n5uvu64Fvr>}12GenmtmxPKLDqa5)H@xeCW zZoP2h(ZB-_5kO{%T?w-#eefeODw^ao*g8LQHsX^itL#S)^i|(l@tJNCQ%uUVMI;~g zG|Lt#ZBwn#BG>F!igyy0iml-{Kljpb3==`25aY9nFrIj2j6ZSzFHI0C>aHo0L7J;% zNJV@*I`}ntLe^TPhS=C3<YeL zzLgeK@1g7|TlzOb)Dmh+gmRUGS9d5!>pGjBv?D^AR@{Y0sTfyH8M723{X_sxj`Lq@ zYp+j1m|UY1CEgCnr?%w_G@ zy>ucPs%^bPV)o&2#A!;fOvv&}V5H+AxpJQE(3kkhq-c+LO0Ed`WB6@#<=3eTW1V=S z+J-eXkbODNNSa1yYz3xou4M`ff+E*B)9MktdwFZbB)JqI1Hl7?X4hKjW7zGYRvJX==xxNls=S zd~_C$G57RQ*W55Ykl`0o(NUfr(LY#kOjkQ6ZqxO6H+#w3WoEf#)CeXla8Jpt(H&T& zCMWAjmxn_-?uHliEn#d!F$#w)Gym~8R-k0#K92D%>M~7i2GFOt)%C&dS`a?7fhbO& z*iR-uo?^6UAh|+bt{*edW+OpU%(ceZ;zgGitpS3@3EO2#Szf^#@%${fTA~?aFGz^0 zkg}zPi)RQU-9TYl^~v(02v8*%jKuH^E;qNZvJl zyiH8H{$M%bnAbt1m4>vf2U912vINH5oy!;B^1yEpH2cBZ*S`ODQZjGk>NSp3R|R-> z{~d3s9E)Lp55p!EL{gd5x~*0;9UZSZ=c8DqwCUvpJPNfE78&wM(vtN|6M%jsY{my7 zX#bS{6HG{&0vepXk`-#-8!9+y%NaSUzB!<$v-sNnYN|UAD=O{YDC@nqX|ys7yE>6E zMz2N}n$t&4JzRQ%km7@LNtK}cVY+QM%|1BO?kPXV9|;YA${(8vMT|im3p;Op+0NY_ zN;c)G_KodGaZx<}SRoN1IZt^xTH7F!4b+Z|dGdDo8Rewzn(3-H!ktTV=QI5(l5=h7 z4(I(j)OauZfD{l$&sYCl!Q=U>O zQ>d@|%x*98aJ%Uo&!Oy3MqNn*B?{_2m+y`q5Og{jqU#b-h-2QT`g3Kf=dQiq={HAu zO}eelEe{EG1CQNFtacVc9B5ngV;mQ!^?7p?12HIQPkq3?-8`7MK35_yIS#sJ26WtB zTM|F+IseMhc`wbZL*M#6V^-ojt}5Q`lkZPFDfS}wU!2H|tCdH5jhv54^!tR_*p+Bw zga#(YOfnVLYk%AKT}SV;Tqu!W1u;Mmt3)o8@xMMqe_^@pmiOak?Z5N>Q`rB=TZshxhs?(^|8n*GRfzt}nUsJtS(l{Wo%!oL|7o!PGh(oF z`S0 Date: Thu, 1 Sep 2016 15:37:33 +0200 Subject: [PATCH 12/16] Fixes after cppcheck > [wgt-backend/src/wgt/step/encryption/step_encrypt_resources.cc:175]: (error) Resource leak: input > [wgt-backend/src/wgt/step/encryption/step_encrypt_resources.cc:251]: (error) Deallocating a deallocated pointer: output > [wgt-backend/src/wgt/extension_config_parser.cc:27]: (performance) Variable 'config_xml_' is assigned in constructor body. Consider performing initialization in initialization list. Change-Id: I4386dd4b5923566cc2e7ce941144496200fe139b --- src/wgt/extension_config_parser.cc | 5 ++--- src/wgt/step/encryption/step_encrypt_resources.cc | 23 +++++++++++++---------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/wgt/extension_config_parser.cc b/src/wgt/extension_config_parser.cc index 4813d72..1a1258d 100755 --- a/src/wgt/extension_config_parser.cc +++ b/src/wgt/extension_config_parser.cc @@ -23,9 +23,8 @@ const char kExtensionPath[] = "extension.privilege"; const char kExtensionNameKey[] = "@name"; } // namespace -ExtensionConfigParser::ExtensionConfigParser(std::string config_xml) { - config_xml_ = config_xml; -} +ExtensionConfigParser::ExtensionConfigParser(std::string config_xml) + : config_xml_(config_xml) {} std::unique_ptr ExtensionConfigParser::LoadExtensionConfig(const std::string& config_xml) { diff --git a/src/wgt/step/encryption/step_encrypt_resources.cc b/src/wgt/step/encryption/step_encrypt_resources.cc index 4d5fb91..b2ec518 100644 --- a/src/wgt/step/encryption/step_encrypt_resources.cc +++ b/src/wgt/step/encryption/step_encrypt_resources.cc @@ -52,20 +52,22 @@ std::size_t ReadBytes(unsigned char* buffer, std::size_t count, FILE* stream) { void WriteBytes(unsigned char* buffer, std::size_t count, FILE* stream) { // original file is treated as destination! + if (count <= 0) { + return; + } std::size_t bytes_written = 0; - std::size_t bytes_to_write = 0; do { - bytes_to_write = count - bytes_written; - bytes_written = std::fwrite(buffer + bytes_written, - sizeof(unsigned char), - count - bytes_written, - stream); - if ((bytes_written != bytes_to_write)) { + std::size_t bytes_appended = std::fwrite( + buffer + bytes_written, + sizeof(unsigned char), + count - bytes_written, + stream); + if ((bytes_appended == 0)) { LOG(ERROR) << "Error while writing data"; - free(buffer); - fclose(stream); + return; } - } while ((bytes_written != bytes_to_write)); + bytes_written += bytes_appended; + } while ((bytes_written < count)); } } // namespace @@ -172,6 +174,7 @@ bool StepEncryptResources::EncryptFile(const bf::path &src) { FILE *output = OpenFile(encFile.string().c_str(), "wb"); if (output == nullptr) { LOG(ERROR) << "Cannot create encrypted file: " << encFile.string(); + fclose(input); return false; } -- 2.7.4 From cc95a56f9b634aec29c42b7924cbe4c887b9a53e Mon Sep 17 00:00:00 2001 From: Bartlomiej Kunikowski Date: Mon, 5 Sep 2016 15:29:49 +0200 Subject: [PATCH 13/16] Fix double parsing of config.xml in delta wgt mode Fixed by add a optional delay in checking existence of start files and adding new step Requires: - https://review.tizen.org/gerrit/#/c/86941/ Change-Id: I9efed825d5f04af28493a6bd0003e3b9d6efb3c8 --- src/wgt/CMakeLists.txt | 1 + .../step/configuration/step_check_start_files.cc | 48 ++++++++++++++++++++++ .../step/configuration/step_check_start_files.h | 48 ++++++++++++++++++++++ src/wgt/step/configuration/step_parse.cc | 24 ++++++++--- src/wgt/wgt_backend_data.h | 4 ++ src/wgt/wgt_installer.cc | 6 +-- 6 files changed, 121 insertions(+), 10 deletions(-) create mode 100644 src/wgt/step/configuration/step_check_start_files.cc create mode 100644 src/wgt/step/configuration/step_check_start_files.h diff --git a/src/wgt/CMakeLists.txt b/src/wgt/CMakeLists.txt index fece9b1..3124963 100755 --- a/src/wgt/CMakeLists.txt +++ b/src/wgt/CMakeLists.txt @@ -1,5 +1,6 @@ # Target - sources SET(SRCS + step/configuration/step_check_start_files.cc step/configuration/step_parse.cc step/encryption/step_encrypt_resources.cc step/encryption/step_remove_encryption_data.cc diff --git a/src/wgt/step/configuration/step_check_start_files.cc b/src/wgt/step/configuration/step_check_start_files.cc new file mode 100644 index 0000000..7bf3ad6 --- /dev/null +++ b/src/wgt/step/configuration/step_check_start_files.cc @@ -0,0 +1,48 @@ +// Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved +// Use of this source code is governed by a apache 2.0 license that can be +// found in the LICENSE file. + +#include "wgt/step/configuration/step_check_start_files.h" + +#include + +#include +#include +#include + +#include + +#include +#include + +namespace bf = boost::filesystem; + +namespace wgt { +namespace configuration { + +common_installer::Step::Status StepCheckStartFiles::process() { + bool flag = false; // it's not important in this step to use this flag + std::string error; + bool result_check = CheckStartFile(static_cast + (context_->backend_data.get())->content.get(), + context_->unpacked_dir_path.get(), + &flag); + if (!result_check) { + LOG(ERROR) << "Could not find valid start file"; + return common_installer::Step::Status::PARSE_ERROR; + } + + result_check = CheckServicesStartFiles(static_cast( + context_->backend_data.get())->service_list.get(), + context_->unpacked_dir_path.get(), + &error); + if (!result_check) { + LOG(ERROR) << error; + return common_installer::Step::Status::PARSE_ERROR; + } + + return common_installer::Step::Status::OK; +} + +} // namespace configuration +} // namespace wgt diff --git a/src/wgt/step/configuration/step_check_start_files.h b/src/wgt/step/configuration/step_check_start_files.h new file mode 100644 index 0000000..7fc7025 --- /dev/null +++ b/src/wgt/step/configuration/step_check_start_files.h @@ -0,0 +1,48 @@ +// Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved +// Use of this source code is governed by a apache 2.0 license that can be +// found in the LICENSE file. +#ifndef WGT_STEP_CONFIGURATION_STEP_CHECK_START_FILES_H_ +#define WGT_STEP_CONFIGURATION_STEP_CHECK_START_FILES_H_ + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include + +namespace wgt { +namespace configuration { + +/** + * \brief The StepCheckStartFiles class + * Checks if valid start files exists. + * It needs content info from wgt_backend_data. + * + * Step is used in delta mode. + */ +class StepCheckStartFiles : public common_installer::Step { + public: + using Step::Step; + + Status process() override; + Status clean() override { return Status::OK; } + Status undo() override { return Status::OK; } + Status precheck() override { return Status::OK; } + + STEP_NAME(CheckStartFiles) +}; + +} // namespace configuration +} // namespace wgt + +#endif // WGT_STEP_CONFIGURATION_STEP_CHECK_START_FILES_H_ diff --git a/src/wgt/step/configuration/step_parse.cc b/src/wgt/step/configuration/step_parse.cc index b2a12bf..0218240 100644 --- a/src/wgt/step/configuration/step_parse.cc +++ b/src/wgt/step/configuration/step_parse.cc @@ -650,15 +650,31 @@ common_installer::Step::Status StepParse::process() { LOG(ERROR) << "[Parse] Parse failed. " << parser_->GetErrorMessage(); return common_installer::Step::Status::PARSE_ERROR; } + + WgtBackendData* backend_data = + static_cast(context_->backend_data.get()); + if (check_start_file_) { - if (!parser_->HasValidStartFile()) { + if (!parser_->CheckValidStartFile()) { LOG(ERROR) << parser_->GetErrorMessage(); return common_installer::Step::Status::PARSE_ERROR; } - if (!parser_->HasValidServicesStartFiles()) { + if (!parser_->CheckValidServicesStartFiles()) { LOG(ERROR) << parser_->GetErrorMessage(); return common_installer::Step::Status::PARSE_ERROR; } + } else { + // making backup of content data and services content data + auto content_info = + GetManifestDataForKey( + wgt::application_widget_keys::kTizenContentKey); + auto service_list = + GetManifestDataForKey( + wgt::application_widget_keys::kTizenServiceKey); + if (content_info) + backend_data->content.set(*content_info); + if (service_list) + backend_data->service_list.set(*service_list); } manifest_x* manifest = @@ -711,9 +727,6 @@ common_installer::Step::Status StepParse::process() { if (perm_info) permissions = perm_info->GetAPIPermissions(); - WgtBackendData* backend_data = - static_cast(context_->backend_data.get()); - auto settings_info = GetManifestDataForKey( wgt::application_widget_keys::kTizenSettingKey); @@ -736,7 +749,6 @@ common_installer::Step::Status StepParse::process() { LOG(DEBUG) << " ]-"; LOG(DEBUG) << "]-"; - // TODO(t.iwanek): In delta mode this step is running two times if (context_->manifest_data.get()) pkgmgr_parser_free_manifest_xml(context_->manifest_data.get()); diff --git a/src/wgt/wgt_backend_data.h b/src/wgt/wgt_backend_data.h index 3d2791d..c36cbad 100644 --- a/src/wgt/wgt_backend_data.h +++ b/src/wgt/wgt_backend_data.h @@ -9,6 +9,8 @@ #include #include +#include +#include #include #include @@ -28,6 +30,8 @@ class WgtBackendData : public common_installer::BackendData { Property settings; Property appwidgets; + Property content; + Property service_list; }; } // namespace wgt diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index b728742..282b3c0 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -72,6 +72,7 @@ #include #include +#include "wgt/step/configuration/step_check_start_files.h" #include "wgt/step/configuration/step_parse.h" #include "wgt/step/encryption/step_encrypt_resources.h" #include "wgt/step/encryption/step_remove_encryption_data.h" @@ -233,10 +234,8 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) case ci::RequestType::Delta: { AddStep(pkgmgr_); AddStep(); - // TODO(t.iwanek): manifest is parsed twice... AddStep( wgt::configuration::StepParse::ConfigLocation::PACKAGE, false); - // start file may not have changed AddStep( ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::BACKUP); @@ -244,8 +243,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep("res/wgt/"); AddStep(); - AddStep( - wgt::configuration::StepParse::ConfigLocation::PACKAGE, true); + AddStep(); AddStep(); AddStep(); AddStep(); -- 2.7.4 From afcad01824f508a6c1b0e0f16f0eaded38d7157b Mon Sep 17 00:00:00 2001 From: Tomasz Iwanek Date: Wed, 31 Aug 2016 11:48:58 +0200 Subject: [PATCH 14/16] Set correct exec label for smoke tests Otherwise, running from shell gives "System::Privileged" instead of "System". To verify run: $ usermod -s /bin/bash app_fw $ chsmack -a _ /etc/passwd $ su - app_fw $ /usr/bin/wgt-backend-ut/smoke-test Change-Id: If2f314f77daeb28b4af4cd3568cc3ac52bbd1354 --- packaging/wgt-backend-tests.manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/wgt-backend-tests.manifest b/packaging/wgt-backend-tests.manifest index 0d58b09..17bba51 100644 --- a/packaging/wgt-backend-tests.manifest +++ b/packaging/wgt-backend-tests.manifest @@ -3,7 +3,7 @@ - - + + -- 2.7.4 From e261fce0c47da98af1c2812c25e1810ebf3a422a Mon Sep 17 00:00:00 2001 From: Tomasz Iwanek Date: Thu, 1 Sep 2016 13:54:40 +0200 Subject: [PATCH 15/16] Recovery mode for mount install and mount update To verify, run new smoke tests. Recovery mode requires mounting zip package. Signature files which needs to be read in next step are within zip package. Requires: - https://review.tizen.org/gerrit/86739 Change-Id: I857ecea3dae3836cf9a0af2c11766481a016847e --- src/hybrid/hybrid_installer.cc | 2 + src/unit_tests/smoke_test.cc | 57 ++++++++++++++++++++- .../test_samples/smoke/RecoveryMode_ForDelta.delta | Bin .../smoke/RecoveryMode_ForInstallation.wgt | Bin 37654 -> 37578 bytes .../smoke/RecoveryMode_ForMountInstall.wgt | Bin 0 -> 38679 bytes .../smoke/RecoveryMode_ForMountUpdate.wgt | Bin 0 -> 38923 bytes .../smoke/RecoveryMode_ForMountUpdate_2.wgt | Bin 0 -> 38921 bytes src/wgt/wgt_installer.cc | 2 + 8 files changed, 59 insertions(+), 2 deletions(-) mode change 100755 => 100644 src/unit_tests/test_samples/smoke/RecoveryMode_ForDelta.delta create mode 100644 src/unit_tests/test_samples/smoke/RecoveryMode_ForMountInstall.wgt create mode 100644 src/unit_tests/test_samples/smoke/RecoveryMode_ForMountUpdate.wgt create mode 100644 src/unit_tests/test_samples/smoke/RecoveryMode_ForMountUpdate_2.wgt diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index ea2cc76..6760416 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -273,6 +274,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); diff --git a/src/unit_tests/smoke_test.cc b/src/unit_tests/smoke_test.cc index 75c0fa3..49905e2 100644 --- a/src/unit_tests/smoke_test.cc +++ b/src/unit_tests/smoke_test.cc @@ -61,17 +61,26 @@ class ScopedTzipInterface { explicit ScopedTzipInterface(const std::string& pkgid) : pkg_path_(bf::path(ci::GetRootAppPath(false, kTestUserId)) / pkgid), - interface_(ci::GetMountLocation(pkg_path_)) { + interface_(ci::GetMountLocation(pkg_path_)), + mounted_(true) { interface_.MountZip(ci::GetZipPackageLocation(pkg_path_, pkgid)); } + void Release() { + if (mounted_) { + interface_.UnmountZip(); + mounted_ = false; + } + } + ~ScopedTzipInterface() { - interface_.UnmountZip(); + Release(); } private: bf::path pkg_path_; ci::TzipInterface interface_; + bool mounted_; }; class TestPkgmgrInstaller : public ci::PkgmgrInstallerInterface { @@ -618,6 +627,50 @@ TEST_F(SmokeTest, RecoveryMode_ForDelta) { ASSERT_TRUE(ValidateFileContentInPackage(pkgid, "res/wgt/VERSION", "1\n")); } +TEST_F(SmokeTest, RecoveryMode_ForMountInstall) { + bf::path path = kSmokePackagesDirectory / "RecoveryMode_ForMountInstall.wgt"; + RemoveAllRecoveryFiles(); + Subprocess backend_crash("/usr/bin/wgt-backend-ut/smoke-test-helper"); + backend_crash.Run("-w", path.string(), "-u", kTestUserIdStr.c_str()); + ASSERT_NE(backend_crash.Wait(), 0); + + std::string pkgid = "smokeapp31"; + std::string appid = "smokeapp31.RecoveryModeForMountInstall"; + bf::path recovery_file = FindRecoveryFile(); + ASSERT_FALSE(recovery_file.empty()); + ASSERT_EQ(Recover(recovery_file, PackageType::WGT), + ci::AppInstaller::Result::OK); + CheckPackageNonExistance(pkgid, {appid}); +} + +TEST_F(SmokeTest, RecoveryMode_ForMountUpdate) { + bf::path path_old = + kSmokePackagesDirectory / "RecoveryMode_ForMountUpdate.wgt"; + bf::path path_new = + kSmokePackagesDirectory / "RecoveryMode_ForMountUpdate_2.wgt"; + std::string pkgid = "smokeapp32"; + std::string appid = "smokeapp32.RecoveryModeForMountUpdate"; + RemoveAllRecoveryFiles(); + ASSERT_EQ(MountInstall(path_old, PackageType::WGT), + ci::AppInstaller::Result::OK); + Subprocess backend_crash("/usr/bin/wgt-backend-ut/smoke-test-helper"); + backend_crash.Run("-w", path_new.string(), "-u", kTestUserIdStr.c_str()); + ASSERT_NE(backend_crash.Wait(), 0); + + // Filesystem may be mounted after crash + ScopedTzipInterface poweroff_unmount_interface(pkgid); + poweroff_unmount_interface.Release(); + + bf::path recovery_file = FindRecoveryFile(); + ASSERT_FALSE(recovery_file.empty()); + ASSERT_EQ(Recover(recovery_file, PackageType::WGT), + ci::AppInstaller::Result::OK); + + ScopedTzipInterface interface(pkgid); + ValidatePackage(pkgid, {appid}); + ASSERT_TRUE(ValidateFileContentInPackage(pkgid, "res/wgt/VERSION", "1\n")); +} + TEST_F(SmokeTest, InstallationMode_GoodSignature) { bf::path path = kSmokePackagesDirectory / "InstallationMode_GoodSignature.wgt"; // NOLINT ASSERT_EQ(Install(path, PackageType::WGT), ci::AppInstaller::Result::OK); diff --git a/src/unit_tests/test_samples/smoke/RecoveryMode_ForDelta.delta b/src/unit_tests/test_samples/smoke/RecoveryMode_ForDelta.delta old mode 100755 new mode 100644 diff --git a/src/unit_tests/test_samples/smoke/RecoveryMode_ForInstallation.wgt b/src/unit_tests/test_samples/smoke/RecoveryMode_ForInstallation.wgt index 3990f8069dc8be2e79f5820e13ec6fde4dfeb9ac..7f9dc0e6f11dd8ab6ad1c429283afcce5e43283f 100644 GIT binary patch delta 453 zcmbQXjOo-;CiVbtW)=|!hRKE##W%`vaXNu{92^WA@)SJ-Sk$XT85tOU0x=hZ3`25$ zURq|lUPW$BXb2|*^KP*d;oE??w1S&~k>v$50|S`Y9LFinC&rXzJWSIPHqN1oH4+BFcFx>PC^3oBi zWF{#x%1ySLBnMO#3uL!UuAc-9=*d$jDT<$HV_?WC*3V7M%+t#%M(8;^Ns;ML$K(%_ OWVk*6-F9RG$dLe&mT#E= delta 634 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 bJ+ys)yCm$ZCnNv}&<7lyUWB554*>iN$NrNB literal 0 HcmV?d00001 diff --git a/src/unit_tests/test_samples/smoke/RecoveryMode_ForMountUpdate.wgt b/src/unit_tests/test_samples/smoke/RecoveryMode_ForMountUpdate.wgt new file mode 100644 index 0000000000000000000000000000000000000000..17ab974a98a26ca6b4be39d531189d43f718e833 GIT binary patch literal 38923 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

}u>wPY) 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 B-QfTL literal 0 HcmV?d00001 diff --git a/src/unit_tests/test_samples/smoke/RecoveryMode_ForMountUpdate_2.wgt b/src/unit_tests/test_samples/smoke/RecoveryMode_ForMountUpdate_2.wgt new file mode 100644 index 0000000000000000000000000000000000000000..374b66dbfc05782a23986bd78da5e877dbb79ed6 GIT binary patch literal 38921 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 #include #include +#include #include #include #include @@ -289,6 +290,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); -- 2.7.4 From 2ea4a43278a47cac72cdce96997f46be958deb5c Mon Sep 17 00:00:00 2001 From: Piotr Dabrowski Date: Wed, 7 Sep 2016 14:31:12 +0200 Subject: [PATCH 16/16] Fix installation of icons for hybrid applications Change-Id: I41ce7308a6e7abb7f55b3fb002639fad580a4c57 --- src/wgt/step/configuration/step_parse.cc | 14 +++++++------- src/wgt/step/configuration/step_parse.h | 2 +- src/wgt/step/filesystem/step_wgt_patch_icons.cc | 1 + 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/wgt/step/configuration/step_parse.cc b/src/wgt/step/configuration/step_parse.cc index 0218240..b2b4822 100644 --- a/src/wgt/step/configuration/step_parse.cc +++ b/src/wgt/step/configuration/step_parse.cc @@ -55,6 +55,7 @@ const char kTizenPackageXmlNamespace[] = "http://tizen.org/ns/packages"; const char kImeCategoryName[] = "http://tizen.org/category/ime"; const char kResWgt[] = "res/wgt"; +const char kConfigFileName[] = "config.xml"; GList* GenerateMetadataListX(const wgt::parse::MetaDataInfo& meta_info) { GList* list = nullptr; @@ -161,8 +162,7 @@ bool StepParse::FillIconPaths(manifest_x* manifest) { icons_info.reset(new wgt::parse::ApplicationIconsInfo()); } wgt::parse::LocalizedApplicationIconsInfo localized_list = - wgt::parse::GetLocalizedIconList(*icons_info, - context_->unpacked_dir_path.get()); + wgt::parse::GetLocalizedIconList(*icons_info, widget_path_); // We need to generate icon for each locale and icons are already set into // lookup order. There isn't said that all icons should be received from // one tag position so we iterate utils we run out of icons creating @@ -646,7 +646,7 @@ common_installer::Step::Status StepParse::process() { } parser_.reset(new wgt::parse::WidgetConfigParser()); - if (!parser_->ParseManifest(config_)) { + if (!parser_->ParseManifest(widget_path_ / kConfigFileName)) { LOG(ERROR) << "[Parse] Parse failed. " << parser_->GetErrorMessage(); return common_installer::Step::Status::PARSE_ERROR; } @@ -757,14 +757,14 @@ common_installer::Step::Status StepParse::process() { } bool StepParse::Check(const boost::filesystem::path& widget_path) { - boost::filesystem::path config = widget_path / "config.xml"; + LOG(DEBUG) << "unpacked widget path: " << widget_path; - LOG(DEBUG) << "config.xml path: " << config; + widget_path_ = widget_path; + boost::filesystem::path config = widget_path / kConfigFileName; + LOG(DEBUG) << "config.xml path: " << config; if (!boost::filesystem::exists(config)) return false; - - config_ = config; return true; } diff --git a/src/wgt/step/configuration/step_parse.h b/src/wgt/step/configuration/step_parse.h index 0effc8f..d2a42dc 100644 --- a/src/wgt/step/configuration/step_parse.h +++ b/src/wgt/step/configuration/step_parse.h @@ -47,7 +47,7 @@ class StepParse : public common_installer::Step { virtual bool LocateConfigFile(); bool Check(const boost::filesystem::path& widget_path); - boost::filesystem::path config_; + boost::filesystem::path widget_path_; private: std::set ExtractPrivileges( diff --git a/src/wgt/step/filesystem/step_wgt_patch_icons.cc b/src/wgt/step/filesystem/step_wgt_patch_icons.cc index 2a995b2..01b62fd 100644 --- a/src/wgt/step/filesystem/step_wgt_patch_icons.cc +++ b/src/wgt/step/filesystem/step_wgt_patch_icons.cc @@ -56,6 +56,7 @@ common_installer::Step::Status StepWgtPatchIcons::process() { icon->text = strdup(icon_path.c_str()); } } else { + LOG(INFO) << "Application provides no icon. Using Tizen default icon."; // create default icon if there is no icon at all bf::path icon_path = common_icon_location / app->appid; icon_path += ".png"; -- 2.7.4