Maciej Socha [Thu, 20 Aug 2015 12:25:48 +0000 (14:25 +0200)]
[Feature] Integration step_parse for TPK tizen_manifest.xml file with manifest_parser
Change-Id: I109956932b81e8af4fe2cbe54b5525292754555f
Tomasz Iwanek [Tue, 1 Sep 2015 09:26:27 +0000 (11:26 +0200)]
Do not pass app_id in security-manager registration
According to directory policies, files is labeled by
pkgid so the appid is not needed. Additionally, it solves
problem which appid to pass. TODO was left to be removed
when possible.
Change-Id: I8087c41416013f9753075837472581bb0d8d33ac
Sangyoon Jang [Thu, 24 Sep 2015 06:58:20 +0000 (23:58 -0700)]
Merge "Remove defininition PKGMGR_INSTALLER_ERROR_KEY_STR" into tizen
Tomasz Iwanek [Mon, 21 Sep 2015 13:23:06 +0000 (15:23 +0200)]
Fix memory allocation in TranslatePrivilegesForCompatibility
Change-Id: I03e8b8a1685ef89389ab51a826e0a6f1958da2ef
Sangyoon Jang [Tue, 22 Sep 2015 06:18:23 +0000 (15:18 +0900)]
Remove defininition PKGMGR_INSTALLER_ERROR_KEY_STR
pkgmgr_installer now exports this variable
Change-Id: Ib1dbfbcb371bef299b0778cc32fd613936271522
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
Tomasz Iwanek [Tue, 15 Sep 2015 13:33:16 +0000 (15:33 +0200)]
Set manifest->installlocation in StepParse
Change-Id: Ic7f458f3d78b82aaf2db09d2274bdac7c2e2638c
Sangyoon Jang [Fri, 18 Sep 2015 06:24:51 +0000 (15:24 +0900)]
Change installer label to "User"
Change-Id: I74602aa666814442657c5e8908495d10e517a140
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
Tomasz Iwanek [Wed, 16 Sep 2015 12:28:55 +0000 (14:28 +0200)]
Workaround - sending appid during deinstallation
Web application application plugin needs information
about uninstalled application but it cannot get it
from database during uninstallation. Therefore,
this workaround is provided to send appids explicitly.
Submit after: https://review.tizen.org/gerrit/48250
Change-Id: I8138c888c17a0421caf87c29f20599e7eed962ef
WonYoung Choi [Tue, 15 Sep 2015 02:52:45 +0000 (11:52 +0900)]
Add manifest file for app-installers
Change-Id: Idc5d54280e6ade6533a3c7d10076048633c1778a
WonYoung Choi [Fri, 11 Sep 2015 14:38:11 +0000 (23:38 +0900)]
Sort privilege list before call security-manager function.
SecurityManager considers the privilege list is always sorted.
Change-Id: Ib5a9632e3d1d310d49aa55d29acca16ea4e3d670
WonYoung Choi [Thu, 10 Sep 2015 10:22:18 +0000 (03:22 -0700)]
Merge "[Bug] Sending "upgrade" signal value to pkgmgr-installer in case of Update" into tizen
WonYoung Choi [Thu, 10 Sep 2015 05:09:55 +0000 (14:09 +0900)]
Add special privilege to provide default privileges for webapp.
The privilege(http://tizen.org/privilege/webappdefault) is managed in
security-manager. The security-manager will add default privileges for webapp
to cynara if the privilege is included.
Change-Id: I32da69e356892bbea42e131c2823785785fd682b
Pawel Sikorski [Thu, 10 Sep 2015 09:44:57 +0000 (11:44 +0200)]
[Bug] Sending "upgrade" signal value to pkgmgr-installer in case of Update
pkgmgr-installer must be informed with "upgrade" event value in case
update is performed.
Change-Id: I3af9739f8cde043dc01409003ec26998085ae87c
Youmin Ha [Fri, 4 Sep 2015 02:08:05 +0000 (11:08 +0900)]
Set the SMACK label of app's root directory to PUBLIC_RO
Change-Id: Iac5d116147208851bad605453a98d5274b7c8e4b
Youmin Ha [Thu, 3 Sep 2015 15:07:40 +0000 (00:07 +0900)]
Add --allglobalpkgs option to pkgdir_maker
For kinkstarter script, an option is added, making global app dirs to
all users.
Change-Id: I88c42eeee6170b98d621da42d718799525fe4e9d
Signed-off-by: Youmin Ha <youmin.ha@samsung.com>
Youmin Ha [Tue, 1 Sep 2015 02:32:05 +0000 (11:32 +0900)]
Add pkgdir_maker tool for global apps
Global apps are installed in /usr/apps/, but this path is not allowed for
users to write their data. To store app data of global apps, the data and
cache directories have to be created.
This tool does two things:
1. creates the global app package's data and cache directories
({pkgid}/data, {pkgid}/cache) into all user's apps_rw/ directories.
Proper owner, group, permission and SMACK labels are set for those dirs.
2. For new users in the future, the same directories are create into the
user home template, /etc/skel/.
NOTE: For prototyping, actual implementation is made as a bash script
(pkgdir_maker_impl.sh), but later it is to be replaced with native code.
Change-Id: I8ca17362a2c33ebe4a051f80a96d9bb4263dabfa
Signed-off-by: Youmin Ha <youmin.ha@samsung.com>
Pawel Sikorski [Tue, 1 Sep 2015 14:08:24 +0000 (16:08 +0200)]
Release 1.8
Main changes:
- manifest-parser alignement; icons fixes; boost namespace cleanup
- package directories update (security policy, tmp and cache dirs)
- apps killing during update/deinstallation
Change-Id: Id9aa4b371e4f74b5da5052486675b49391483c39
Tomasz Iwanek [Tue, 1 Sep 2015 11:48:01 +0000 (13:48 +0200)]
[Bug] Proper cleaning of StepUnzip
Change-Id: I37dbeb5c11f88e62f4a2ede1049ed9442648ad20
Pawel Sikorski [Tue, 1 Sep 2015 12:47:57 +0000 (14:47 +0200)]
[Refactoring] boost namespaces unification
Change-Id: I3abfc7452bba40d9936d5958f03db563a809fa2d
Wojciech Kosowicz [Tue, 1 Sep 2015 09:59:35 +0000 (11:59 +0200)]
Fix for icons removal
Change-Id: Ice26c64aa6fe02c9151b9a639ad85a8d95e8088d
Tomasz Iwanek [Mon, 31 Aug 2015 10:53:07 +0000 (12:53 +0200)]
Apply different security policies to package directories
Installer should apply different app_install_path_type types to
package installation subdirectories.
Change-Id: I5f0051b1eb932e1314bb54e7dd6f8cfe0c804496
Tomasz Iwanek [Mon, 31 Aug 2015 09:48:21 +0000 (11:48 +0200)]
Create tmp/ and cache/ directories in widget package
Wgt package installation should contain directory "tmp"
for temporary widget directory which is accessible as
one of fs roots by tizen API.
"cache" directory should be present for web engine cache.
Change-Id: I910a89ca3fa83e5e598bea0bbaf3a9e878cd71ba
Tomasz Iwanek [Thu, 27 Aug 2015 13:05:15 +0000 (15:05 +0200)]
[Feature] Kill applications before deinstallation/update
App-manager is used to kill apps.
Change-Id: I2b34b860bfb6b217b6de6190e8b82d1bb25c491c
Pawel Sikorski [Fri, 21 Aug 2015 09:41:22 +0000 (11:41 +0200)]
Alignement to the manifest-parser key exposition changes
Requires: https://review.tizen.org/gerrit/#/c/46526/
Change-Id: I56f60053b47c78a49e0a7b98f6d7848651ee19d2
Pawel Sikorski [Thu, 27 Aug 2015 08:31:26 +0000 (10:31 +0200)]
Release 1.7
Main changes:
- fixes: privileges list length, manifest generation, icon for tpk
- RequestMode introduction
Change-Id: Iefd9dd857bec53823efddb0cce379c575fa4286a
Pawel Sikorski [Thu, 13 Aug 2015 12:25:16 +0000 (14:25 +0200)]
RequestMode (Global/User) type introduction
Change-Id: I862d7c7df1ceb0f41b4daf4e34490ef21fb480ab
Tomasz Iwanek [Wed, 26 Aug 2015 09:51:13 +0000 (11:51 +0200)]
[Bug] Fix generation of multiple entries in platform manifest
Iteration should start from beginning of the list.
Wrongly generated elements:
- app-control,
- ui-application,
- svc-application.
Change-Id: Idecb65a87059bb8e824e61c24a71bde19c01207d
Wojciech Kosowicz [Mon, 24 Aug 2015 09:48:50 +0000 (11:48 +0200)]
Setting proper icon name in tpk manifest
Also included style fixes for the project
Change-Id: I2e6ebc71f408e7df91684bc166c435271e27ca73
Sangyoon Jang [Mon, 24 Aug 2015 06:47:13 +0000 (15:47 +0900)]
Fix getting length of privilege list
it should be privilege_x, not privileges_x
Change-Id: Id00a81c42b841a8ae5dcfd4d8de682a4ca975e16
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
Pawel Sikorski [Fri, 21 Aug 2015 14:14:29 +0000 (16:14 +0200)]
Release 1.6-1
Main changes:
- Icons generation fix;
- Privilege translation for backward compatilibity
Change-Id: Ifa5f991a156b4aec1629acf1e6bf378d58bf3a43
Tomasz Iwanek [Thu, 20 Aug 2015 13:46:05 +0000 (15:46 +0200)]
[Feature] Privilege translation for backward compatilibity
ConfigData class was removed because it had only one member
field and it was redundant.
API added to security-manager and used here should be implemented
in privilege-checker instead probably. Security manager and
privilege-checker holds very similar databases now.
Change-Id: I4ee1bfd7a98cf9aecbd291fda9e5c7e1f05ceb20
Wojciech Kosowicz [Fri, 21 Aug 2015 09:39:37 +0000 (11:39 +0200)]
Fix for finding proper extension for icon
Change-Id: I3336ffccc8dbab996f697d9ecd43eeffca5aa7a2
Wojciech Kosowicz [Fri, 21 Aug 2015 07:05:29 +0000 (09:05 +0200)]
Moving step_generate_xml to wgt directory
Change-Id: I07a279f2ca3dc03547808fbfa6d1a96866794b42
Tomasz Iwanek [Fri, 21 Aug 2015 09:06:41 +0000 (11:06 +0200)]
Smack label for smoke tests
Installer is now running with 'System' label so the smoke tests.
Change-Id: I685119a8efe4978b8c860399ff2f3f9b20ac256c
Pawel Sikorski [Fri, 21 Aug 2015 07:52:01 +0000 (09:52 +0200)]
Release 1.5-1
MainChanges:
* installation/deinstallation fix for SMACK
Change-Id: I844e1da20b4a75ff84015a46c53f6aac6306ad8e
Tomasz Iwanek [Thu, 20 Aug 2015 07:24:23 +0000 (09:24 +0200)]
[Bug] Fix installation/deinstallation mode with smack
As stated in: https://review.tizen.org/gerrit/#/c/46420/
"""
On uninstall steps, old code runs StepRevokeSecurity before
StepRemoveFiles. With SMACK enabled, once StepRevokeSecurity
is finished, the installer processes(tpk and wgt) don't have
an authority to remove files, so the app
directory($HOME/apps_rw/[pkgid]) is still remained. When the
same app is installed again, the installer process crashes,
as the boost::exists() to the app destination directory raises
an exception on SMACK denial. This patch moves the
StepRevokeSecurity to the end of the list of steps on uninstall,
to give the privilege to delete the app directory to the installers.
"""
Splitting StepRevokeSecurity into two parts so that deinstallation
and deinstallation rollback should work.
Splitting StepRegisterSecurity into 2 steps. Because we need to
remove files before revoking security on rollback.
Change-Id: If597a3c256e09d57aa923566f5c3454d497c0593
Pawel Sikorski [Thu, 20 Aug 2015 08:50:58 +0000 (10:50 +0200)]
Release 1.4-1
Main changes:
- WebApp encryption alignement to the libwebappenc API change
- TPK recovery, update; WGT RDS fixup; icon fixes;
- Smoke tests updated
Change-Id: I31095bf673998db2d8dfc56236b8838b1419f51b
Wojciech Kosowicz [Wed, 19 Aug 2015 13:29:26 +0000 (15:29 +0200)]
Fix for adding icon into platform manifest
Change-Id: I5b534b754ba326c422682134804e59c1d73da917
Pawel Sikorski [Thu, 13 Aug 2015 10:41:12 +0000 (12:41 +0200)]
WebApp encryption step alignement to libwebapenc library API change
Requires: https://review.tizen.org/gerrit/#/c/46007/
Change-Id: I718f11f597cf8a7bd9916607864920582ca21cd7
Tomasz Iwanek [Fri, 14 Aug 2015 10:32:46 +0000 (12:32 +0200)]
Smoke tests for recovery of tpk packages
Change-Id: I0d8d0d5840e46ed77f33c4d7e116d91878d7aa62
Tomasz Iwanek [Fri, 14 Aug 2015 08:04:49 +0000 (10:04 +0200)]
Recovery for tpk backend
Change-Id: I8d0ec4bd539cc2227ce582a9c291a87e17b1f2e1
Tomasz Iwanek [Mon, 17 Aug 2015 09:26:38 +0000 (11:26 +0200)]
Fix detecting update
If application is installed globally but not locally,
false update is detected for new installation.
Problem is that function pkgmgrinfo_pkginfo_get_usr_pkginfo()
return all apps. There is needed additional check to find out
if application found is global or it is already installed per
user.
Change-Id: I8b84c956fd37ac5750fe5596657c5f3240e4aeb4
Tomasz Iwanek [Mon, 10 Aug 2015 06:48:11 +0000 (08:48 +0200)]
Fix RDS when no start file is updated
RDS failed to work when start file was not updated
due to switch to WidgetConfigParser that has additional
filesystem checks for start file.
StepParse has flags_ parameter now to prevent RDS from
failing when start file is localized.
Fixed backup path of files.
Requeries submit of: https://review.tizen.org/gerrit/#/c/45895/
Change-Id: I129a5face58c51324de0fd774c39008cceac86f0
Tomasz Iwanek [Wed, 12 Aug 2015 13:56:10 +0000 (15:56 +0200)]
Tpk icons location - shared/res/
Quickfix for icon location of tpk packages.
Icons are not found otherwise.
Change-Id: I73c12bbbccccf55e4d1193fc6ba761948773448b
Pawel Sikorski [Tue, 18 Aug 2015 16:06:42 +0000 (18:06 +0200)]
Release 1.3-1
Main changes:
- TPK installer exposed and TPK smoke tests added; smoke tests cleanup;
- preserving icons extensions in backup; fix deinstallation rollback
- SMACK label changed
Change-Id: I7cf616d88423af90e175f57482e0e45173616150
Tomasz Iwanek [Wed, 12 Aug 2015 12:23:29 +0000 (14:23 +0200)]
Smoke tests for tpk
Change-Id: I869a23c74feae696341b71eff80710aa398e2137
Tomasz Iwanek [Tue, 11 Aug 2015 08:28:21 +0000 (10:28 +0200)]
Add static tpk backend library
For linking with testsuites.
Task was renamed to TpkInstaller class.
HOSTTEST was removed due to missing files for this configuration
in project files.
Change-Id: I97de47bb1b4a622cfea89c8f7a692253056a1535
Tomasz Iwanek [Tue, 18 Aug 2015 07:29:06 +0000 (09:29 +0200)]
Testsuite cleanup in smoke tests
Change-Id: I5033d45052bdb6f3d2fa92426b51af11da345120
Youmin Ha [Mon, 17 Aug 2015 10:33:26 +0000 (19:33 +0900)]
Change installer's subject SMACK label to System
Both global and per-user pkg DB files have SMACK label as
System::Shared, which allows User labeled subjects to read, and System
labeled subjects to read/write.
To write pkg DB files, the SMACK label of the app installers is changed
to System.
Note that the global pkg DB files in /usr/dbspace/ are still protected
with DAC, as their owner is tizenglobalapp.
Change-Id: Ie193da8901a296e6489c4927ac4a0d3510b741f7
Signed-off-by: Youmin Ha <youmin.ha@samsung.com>
Tomasz Iwanek [Mon, 10 Aug 2015 11:35:15 +0000 (13:35 +0200)]
Fix deinstallation rollback
Security must be deregistered before files removal as
in rollback operation files must be restored before
security in applied to them once again.
Change-Id: Iacd6bfdcd52e072fcd00a3d04b2f355ddd8ceb2d
Tomasz Iwanek [Mon, 10 Aug 2015 11:14:16 +0000 (13:14 +0200)]
Fix preserving icon extension
Code of:
- StepBackupIcons,
- StepRecoverIcons,
- StepRemoveIcons,
was adjusted to code of StepCreateIcons which preserves
icon extension during creation of platform icons.
Note: internalizalizaton of icons is not supported as
there is needed policy so there is copy of one icon per
ui application of package.
Change-Id: Ic9229a64d0a4973f6ab3275c12dd9ca4672a73a3
Pawel Sikorski [Fri, 14 Aug 2015 15:05:15 +0000 (17:05 +0200)]
Release 1.2-1
Main changes:
* Account info added to manifest.xml during installation;
* Smoke tests added;
* TPK update detection
Change-Id: I9a5b71d7ca124ac459e4a98d83972300f333822a
Tomasz Iwanek [Thu, 6 Aug 2015 08:57:59 +0000 (10:57 +0200)]
Smoke tests for installation modes
Those test are able to be run per normal user to
detect any problems with package registeration and
package files in all supported requests.
Tests don't perform cleanup so it is adviced to create
backups for apps_rw/ and .applications/.
Change-Id: I6ebfeca6067b85a58802b253525262eba0027244
Tomasz Iwanek [Mon, 10 Aug 2015 13:42:21 +0000 (15:42 +0200)]
Update detection for tpk backend
This commit adds detection of package update for tpk
backend.
Update fails due to coping shared directory when there is
one supplied by package. As there is no policy, I'm disabling
shared directory creation and TODO is left.
Change-Id: I5d2bd4f334babf3ce88cad9132dc70719b0feefd
Tomasz Iwanek [Thu, 13 Aug 2015 08:38:03 +0000 (10:38 +0200)]
Generate account info in platform manifest
Change-Id: I5f699063dba7034d21e214d8652cd7b544971b7a
Tomasz Iwanek [Thu, 6 Aug 2015 08:57:59 +0000 (10:57 +0200)]
Refactoring for implementing smoke tests
Tests will requires running multiple installations in one process.
Changes:
- removing singleton on PkgmgrInterface as it is not needed,
- adding step will accept extra parameters so that step instance
can be customized,
- wgt static library extracted for linking with tests.
Change-Id: I4c97c9484972f09d49ddf99e8c87d9a4fa447df0
Pawel Sikorski [Fri, 14 Aug 2015 11:06:26 +0000 (13:06 +0200)]
Package upversion, changelog added
Change-Id: I39b27920b832bed6ac231c28b4db8e95e94c2a91
Pawel Sikorski [Wed, 12 Aug 2015 12:49:54 +0000 (14:49 +0200)]
Removal of not needed step for WGT.
Common StepCreateStorageDirectories is not needed for installation,
as StepWgtCreateStorageDirectories is responsible for that logic.
Change-Id: I9fae701d74ac5b52946b281f27e6eb0fcb02baf8
Anna Niznik [Wed, 8 Jul 2015 10:50:06 +0000 (12:50 +0200)]
Removing unused functions from step_create_symbolic_link, step_parse, task
Change-Id: Ib7ff457956ce32316ef6bbf8f835f94a3c41b995
Pawel Sikorski [Tue, 11 Aug 2015 12:25:10 +0000 (14:25 +0200)]
Step::undo can also return ERROR.
Since AppInstaller is calling all "undo()" even if one of them returns
ERROR, Step::undo can return ERROR.
Commit adds returning ERROR from some of the Step::undo methods.
Change-Id: I989521c43ed6a603e24c06adb58c35fb1e0ed6c9
Anna Niznik [Tue, 7 Jul 2015 14:05:11 +0000 (16:05 +0200)]
nullptr initialization in security_registration
The pointer was not initialized, so it had random value.
Change-Id: I57e2fa2c176ff208682e5f41bf135c6c25ff4dde
Anna Niznik [Thu, 9 Jul 2015 11:07:26 +0000 (13:07 +0200)]
Removing unused functions and variables. Fixing warnings.
Change-Id: I097c3eacbc4f67e424c7a340ed4e80806b9cb54e
Tomasz Iwanek [Fri, 7 Aug 2015 06:36:49 +0000 (08:36 +0200)]
Extract backup paths functions
Change-Id: I0bdfd875ec0cbb52bb653757785171ef4fb2d28f
Tomasz Iwanek [Thu, 6 Aug 2015 08:40:17 +0000 (10:40 +0200)]
Introduce WgtInstaller class
Change-Id: Ic54c461319df0ca063a1e02de830c988329608a1
Tomasz Iwanek [Tue, 4 Aug 2015 13:23:52 +0000 (15:23 +0200)]
Recovery mode for wgt-backend
This commit composes recovery installation mode
for wgt-backend from previously added steps.
Change-Id: Ibcf219eaf618c8c203be6d192435a8e120e80041
Wojciech Kosowicz [Tue, 4 Aug 2015 09:10:04 +0000 (11:10 +0200)]
[Recovery] StepRecoverSecurity
Change-Id: Ibeed82bcafdbe9916a3593cf5e0795a3672d9cf2
Wojciech Kosowicz [Mon, 3 Aug 2015 09:45:25 +0000 (11:45 +0200)]
[Recovery] StepRemoveTemporaryDirectory
Step deletes all the directories that starts with 'unpack' within
root app directory
Change-Id: I22c5b8a3db9fc370876a47a8193a8f5490b48fb9
Wojciech Kosowicz [Tue, 4 Aug 2015 10:11:29 +0000 (12:11 +0200)]
[Recovery] StepRecoveryApplication
Change-Id: I3999889e1d790095c1cd93282b823ea1ae2ca6b2
Wojciech Kosowicz [Tue, 4 Aug 2015 08:46:26 +0000 (10:46 +0200)]
[Recovery] StepRecoverStorageDirectories
Change-Id: I7a9c24ca27646d9e285da00bde06b7465b2e9e1c
Tomasz Iwanek [Mon, 3 Aug 2015 14:24:10 +0000 (16:24 +0200)]
[Recovery] StepRecoverFiles
Change-Id: I879055e3cb7d99c5e3b3169cc30b5f09567896d3
Tomasz Iwanek [Mon, 3 Aug 2015 14:11:30 +0000 (16:11 +0200)]
[Recovery] StepRecoverIcons
For recovering new installation, any existing icons are removed.
For recovering update installation, all icons are moved to
original locations.
Change-Id: I80e34748a4e753450d8a4cbdf8f81dbbeb5b44ae
Tomasz Iwanek [Mon, 3 Aug 2015 13:56:15 +0000 (15:56 +0200)]
[Recovery] StepRecoverManifest
Change-Id: I21c480d113ddf6211ad25298c5753f9f5f57f71a
Tomasz Iwanek [Mon, 3 Aug 2015 07:39:36 +0000 (09:39 +0200)]
[Recovery] StepParseRecovery
Change-Id: I4dbe7a22a11d282e35e9c426404a474157663a2e
Tomasz Iwanek [Mon, 10 Aug 2015 14:15:25 +0000 (16:15 +0200)]
Fix icon creation for tpk-backend
Tpk-backend still tried to create icon in StepCreateSymbolicLink
Change-Id: I90bad97635f7869844ab301543fd05498f5052bb
Kyungwook Tak [Tue, 21 Jul 2015 11:06:39 +0000 (20:06 +0900)]
cert-svc signature validator API changed
Refer cert-svc change :
6cf02b1b3ab453f691f888b929c040ac921dfc54
Change-Id: I4b293c11aef938f5f808cd88286770a847f48f0f
Signed-off-by: Kyungwook Tak <k.tak@samsung.com>
Pawel Sikorski [Wed, 8 Apr 2015 15:00:07 +0000 (17:00 +0200)]
Introducing "precheck" method to tpk steps (parse, create_symbolic_link)
This refactoring unifies input data checking into a separate method.
Change-Id: I100a262fbbcd6b2f128579283f9e67c673afae5b
Tomasz Iwanek [Mon, 3 Aug 2015 08:51:43 +0000 (10:51 +0200)]
[Recovery] Implement basic recovery classes
Assumed invocation:
backend -e recovery_file_ad9823
StepRecovery
| Common base of all steps that performs recovery. Recover is supported for
| new and update installation modes. Each step that performs recovery needs
| to override methods:
| - RecoveryNew(),
| - RecoveryUpdate(),
| instead of:
| - process().
StepOpenRecoveryFile
| First step of recovery mode that will set information recovery in
| installer context.
RecoveryFile
| Abstraction of scoped file deleter. Class represents the recovery
| file in fs. Upon destruction of this object the file in fs is removed.
| File contains information about:
| - unpacked directory,
| - pkgid.
This commit revert order of step's clean() method call as it is needed here.
Change-Id: Ie36786f8ee1d1b41437f3890e836176178a9c91f
Pawel Sikorski [Fri, 31 Jul 2015 10:17:05 +0000 (12:17 +0200)]
Removing encryption key after application uninstallation.
During deinstallation, wae_remove_app_dek function is called
to remove encryption key from WAE module.
Note: there is no information, if given application is encrypted or
not. So the function is always called. If, WAE_ERROR_NO_KEY error is
returned, it can be assumed, that given application was not encrypted.
Change-Id: I9b7f54bde88ad012249f77784c46aa80c1097ff3
Pawel Sikorski [Wed, 29 Jul 2015 13:58:24 +0000 (15:58 +0200)]
Encryption support
Seperate step introduced to implement WebApp files Encryption feature.
Note: original files are REPLACED by encrypted files
WARNING: not verified - WAE_ERROR_PERMISSION_DENIED returned from
wae_encrypt_web_application
Change-Id: Icbb2e507208629a5c02778e38b836ae866d450e8
Tomasz Iwanek [Fri, 7 Aug 2015 10:28:21 +0000 (12:28 +0200)]
Fix of icon files creation
Additional steps for creating icons.
Change-Id: Ia5949dcef4f08b3941e0e819c2b973054859d788
Tomasz Iwanek [Fri, 7 Aug 2015 09:37:40 +0000 (11:37 +0200)]
Fixture for StepGenerateXml
Platform manifest should be removed on rollback.
Change-Id: I1e98f76e63306668a2ef7b960f2193d9fdaf2e0b
Tomasz Iwanek [Wed, 5 Aug 2015 14:01:07 +0000 (16:01 +0200)]
Remove manifest file in deinstallation
Pkgmgr doesn't remove this file.
Change-Id: I1bc9b9ae6469731468d00ec18f712745d0f90087
Pawel Sikorski [Thu, 30 Jul 2015 10:15:52 +0000 (12:15 +0200)]
Fixing unzClose and unzCloseCurrent not guarded
During unzipping, unzClose and unzCloseCurrent is not called
in all possible conditions.
Solution: introducing class that will guard it.
Note: in original implementation, in case of successful unzOpenCurrent
and unzReadCurrentFile, there was no unzCloseCurrent (next call was
to unzGoToNext).
In this implementation, unzCloseCurrent is called.
Change-Id: Idaf883618922177b5ebdf1ae5026ce3db9eaaaa2
Pawel Sikorski [Fri, 24 Jul 2015 13:38:50 +0000 (15:38 +0200)]
StepCopyBackup small refactoring
precheck method, methods extractions
Change-Id: Iee94c050e265fcbcdc4ce80cfbb3542d08a3b4a6
Tomasz Iwanek [Thu, 16 Jul 2015 14:27:46 +0000 (16:27 +0200)]
Namespace for category of steps
Reduce number of namespace in code. Currently, there is
one namespace per step which is a bit too much. This
commit changes this. Steps are put into namespace by
their category (what step does).
commmon|wgt|tpk::
filesystem - steps that mainly manipulates files on device
backup - steps that are creating backup files,
(operates on fs but worth separate namespace)
rds - steps that handles rds
(operates on fs but worth separate namespace)
parse - steps that are processing manifests of packages
security - steps containing security checks/registation
pkgrmgr - steps that communicates with pkgrmgr API
Change-Id: Icfbf39b9e23d5ee470e9eb50501b1b8e0f7a6b7c
Pawel Sikorski [Mon, 3 Aug 2015 11:37:14 +0000 (13:37 +0200)]
Fix in "shared" feature for tizen 3.0.
Instead of required_version, widget version was used to check the platform
version.
But, required_version should be used here.
Change-Id: I30fea9280937bec0759854ef999941b2530f3926
Kyungwook Tak [Tue, 28 Jul 2015 02:45:16 +0000 (11:45 +0900)]
Catch exception occured from cert-svc-vcore
Change-Id: I04b9d4121ffd213ec1b978de23cbc1bed4989085
Signed-off-by: Kyungwook Tak <k.tak@samsung.com>
Tomasz Iwanek [Mon, 27 Jul 2015 14:37:36 +0000 (16:37 +0200)]
Extending "shared" directory functionality for update installation
New step implements supplementary logic for update as
the step StepWgtCreateStorageDirectories changes operations
on shared directories for new installation mode.
Change-Id: Ic4078e6a395bcd59e162bfde9a611dc30dd122ed
Tomasz Iwanek [Fri, 31 Jul 2015 08:43:47 +0000 (10:43 +0200)]
Fixture for directory climbing prevention
boost::filesystem::canonical need file existance.
This broke installation mode.
Change-Id: I1f81bcabd405bc186229dad9b435f16e1d089205
Tomasz Iwanek [Tue, 28 Jul 2015 08:43:06 +0000 (10:43 +0200)]
Prevent 'directory climbing' attack in unzip step
This commit prevents directory attack presented by SRK
in installer. Additional check is added to confirm that
zip relative path in input archieve are not pointing
outside of package root.
In general, app-installer should not install files of
widget outside of package directory if widget package
is malformed.
Change-Id: I9703d416d0964a073f45226340a38d11482c949d
Pawel Sikorski [Thu, 23 Jul 2015 12:51:56 +0000 (14:51 +0200)]
Extending "shared" directory functionality.
Tizen 3.x defines new requirement, in which resources located
in "res/wgt/shared" folder should be moved to package ./shared directory.
Additionally, symbolic link should be created ./res/wgt/shared -> ./shared
On the other hand, tizen 2.x applications, should follow old policy (no data
movement)
Solution:
Introduction of derived StepWgtCreateStorageDirectories that adds above
functionality.
Change-Id: I3de99339f7d1123d9501f94577b9e2a79383511d
Tomasz Iwanek [Fri, 12 Jun 2015 13:35:18 +0000 (15:35 +0200)]
Restore 2.x directory structure of package
Example:
$HOME/apps_rw/{PKGID}/bin/{APPID_1}, {APPID_2} (symlink)
$HOME/apps_rw/{PKGID}/data/
$HOME/apps_rw/{PKGID}/shared/data/
$HOME/apps_rw/{PKGID}/shared/res/
$HOME/apps_rw/{PKGID}/shared/trusted/
$HOME/apps_rw/{PKGID}/res/wgt/... (all wgt contents)
Installation/Update/Deinstallation/RDS modes should work.
BUT NOTE THAT:
- runtime requires to known where to look for widget files after
this change,
- security-manager should not require app_id,
- security-manager must not block installation when path without
app_id is passed,
- C API must be aware of new paths.
Change-Id: Idc3609ae355389a9df696c85315e5bcd71a9a3ef
Tomasz Iwanek [Wed, 15 Jul 2015 12:16:21 +0000 (14:16 +0200)]
Gardening - cmake
Change-Id: I275cee8bdd6be81d002aa1edfb461e26b3ca60ea
Tomasz Iwanek [Thu, 16 Jul 2015 09:11:58 +0000 (11:11 +0200)]
Forbid installation for superuser
App-installers binaries should be run with
normal user or tizenglobalapp.
Change-Id: I0b13457e6760678fe21843a60bb98f035d5f50f8
Pawel Sikorski [Wed, 15 Jul 2015 15:02:10 +0000 (17:02 +0200)]
Doxygen documentation started.
Step, StepConfigure and StepUnzip documentation added
Change-Id: I2730c562602d96b64600d5aa06bbb2fb4ce93eaa
Pawel Sikorski [Wed, 15 Jul 2015 12:35:11 +0000 (14:35 +0200)]
Cleanup
* Inline clean/undo/precheck/process if empty
* wgt_backend_data.cc removal as it is empty
Change-Id: Ifd4136230b08225fce4da9eef5415f001763b211
Pawel Sikorski [Wed, 15 Jul 2015 08:44:16 +0000 (10:44 +0200)]
small coding style fix
Change-Id: I77d5c37b7003c7d804c09fedacc766ba621fdb7a
Inhwan Lee [Thu, 16 Jul 2015 06:24:16 +0000 (15:24 +0900)]
add label, author element under manifest element
not only <label> in <ui-application> but also <label> in <manifest>
and add <author> in <manifest>
request from pkgmgr team for work their C API
Change-Id: Ic460254662b001598dfe23c75e89cb382895898d
Tomasz Iwanek [Tue, 14 Jul 2015 12:25:31 +0000 (14:25 +0200)]
Rollback for StepUnregisterApp
Implement rollback operations for unregistering app.
Package should be fully restored in pkgmgr database
in case of failure of any subsequent step failures.
StepBackupManifest was changed to create copy of manifest
instead of moving it.
Original xml manifest file is used to
unregister application in StepUnregisterApplication and
is removed by uninstallation later.
Backup xml manifest file is used to restore package in
pkgmgr in case of rollback and is removed by StepBackupManifest
(this step is managing lifetime of backup file).
Change-Id: I51a055deb690425151d287262eed73d8b19acbf1
Tomasz Iwanek [Tue, 14 Jul 2015 11:23:21 +0000 (13:23 +0200)]
Rollback for StepRemoveFiles
Implement rollback operations for StepRemoveFiles.
If any action after file removal fails then the old
content of package should be restored.
Icons removal was moved to another step.
Change-Id: I532ad5d03bbd99ed29db4db565a6a2ea4d96a7d4