%define _ux_define tizen2.3
Name: download-provider
Summary: Download the contents in background
-Version: 2.1.55
+Version: 2.1.56
Release: 0
Group: Development/Libraries
License: Apache-2.0
Requires(post): libdevice-node
Requires(post): sqlite
Requires(post): connman
+Requires: security-config
BuildRequires: cmake
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(gobject-2.0)
#make notify dir in post section for smack
mkdir %{TZ_SYS_DATA}/download-provider
mkdir -p %{_notifydir}
+chown -R web_fw:web_fw %{_notifydir}
chsmack -a 'System::Shared' %{_notifydir}
-chsmack -t %{_notifydir}
+chsmack -t %{_notifydir}
mkdir -p --mode=0700 %{_databasedir}
-#chsmack -a 'download-provider' %{_databasedir}
+chown -R web_fw:web_fw %{_databasedir}
+chsmack -a 'System' %{_databasedir}
mkdir -p --mode=0700 %{_database_client_dir}
-#chsmack -a 'download-provider' %{_database_client_dir}
+chsmack -a 'System' %{_database_client_dir}
+chown -R web_fw:web_fw %{_database_client_dir}
+chown -R web_fw:web_fw %{_data_install_path}
%files
%defattr(-,root,root,-)
if (lstat_info.st_mode == fstat_info.st_mode &&
lstat_info.st_ino == fstat_info.st_ino &&
lstat_info.st_dev == fstat_info.st_dev) {
- if ((fchown(fd, cred.uid, cred.gid) != 0) ||
- (fchmod(fd, S_IRUSR | S_IWUSR |
- S_IRGRP | S_IROTH) != 0)) {
+ if (fchown(fd, cred.uid, cred.gid) != 0) {
TRACE_ERROR("[ERROR][%d] permission user:%d group:%d",
request->id, cred.uid, cred.gid);
errorcode = DP_ERROR_PERMISSION_DENIED;
TRACE_ERROR("lstat call failed");
errorcode = DP_ERROR_PERMISSION_DENIED;
}
- if (errorcode == DP_ERROR_NONE && dp_smack_is_mounted() == 1) {
- // get smack_label from sql
- char *smack_label = dp_db_get_client_smack_label(slot->pkgname);
- if (smack_label == NULL) {
- TRACE_SECURE_ERROR("[SMACK][%d] no label", request->id);
- errorcode = DP_ERROR_PERMISSION_DENIED;
- } else {
- size_t len = str - (saved_path);
- char *dir_path = (char *)calloc(len + 1, sizeof(char));
- if (dir_path != NULL) {
- strncpy(dir_path, saved_path, len);
- errorcode = dp_smack_set_label(smack_label, dir_path, saved_path);
- free(dir_path);
- } else {
- TRACE_ERROR("[ERROR] calloc");
- errorcode = DP_ERROR_OUT_OF_MEMORY;
- }
- free(smack_label);
- }
- }
return errorcode;
}