diff options
author | Geremy Condra <gcondra@google.com> | 2013-03-25 22:26:56 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-03-25 22:26:56 -0700 |
commit | 9fa57b74d8acb99c86f761a98f6e76998de8aff2 (patch) | |
tree | 55b90a887342131ae8a17d73812470283f315768 | |
parent | 33d388b05759cbd715d65de4ee9dd01be0bc210a (diff) | |
parent | 2aee33c1cdf89c0754bb660cd2e0ec95a007d4a8 (diff) | |
download | frameworks_base-9fa57b74d8acb99c86f761a98f6e76998de8aff2.zip frameworks_base-9fa57b74d8acb99c86f761a98f6e76998de8aff2.tar.gz frameworks_base-9fa57b74d8acb99c86f761a98f6e76998de8aff2.tar.bz2 |
am 2aee33c1: Merge "BackupManagerService files need new security labeling."
* commit '2aee33c1cdf89c0754bb660cd2e0ec95a007d4a8':
BackupManagerService files need new security labeling.
-rw-r--r-- | core/java/com/android/internal/backup/LocalTransport.java | 5 | ||||
-rw-r--r-- | services/java/com/android/server/BackupManagerService.java | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/core/java/com/android/internal/backup/LocalTransport.java b/core/java/com/android/internal/backup/LocalTransport.java index eed3e67..eb2d1fe 100644 --- a/core/java/com/android/internal/backup/LocalTransport.java +++ b/core/java/com/android/internal/backup/LocalTransport.java @@ -27,6 +27,7 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.os.Environment; import android.os.ParcelFileDescriptor; import android.os.RemoteException; +import android.os.SELinux; import android.util.Log; import com.android.org.bouncycastle.util.encoders.Base64; @@ -64,6 +65,10 @@ public class LocalTransport extends IBackupTransport.Stub { public LocalTransport(Context context) { mContext = context; + mDataDir.mkdirs(); + if (!SELinux.restorecon(mDataDir)) { + Log.e(TAG, "SELinux restorecon failed for " + mDataDir); + } } public Intent configurationIntent() { diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java index 61eada2..b0561df 100644 --- a/services/java/com/android/server/BackupManagerService.java +++ b/services/java/com/android/server/BackupManagerService.java @@ -63,6 +63,7 @@ import android.os.ParcelFileDescriptor; import android.os.PowerManager; import android.os.Process; import android.os.RemoteException; +import android.os.SELinux; import android.os.ServiceManager; import android.os.SystemClock; import android.os.UserHandle; @@ -743,6 +744,9 @@ class BackupManagerService extends IBackupManager.Stub { // correct directory. mBaseStateDir = new File(Environment.getSecureDataDirectory(), "backup"); mBaseStateDir.mkdirs(); + if (!SELinux.restorecon(mBaseStateDir)) { + Slog.e(TAG, "SELinux restorecon failed on " + mBaseStateDir); + } mDataDir = Environment.getDownloadCacheDirectory(); mPasswordHashFile = new File(mBaseStateDir, "pwhash"); @@ -2133,6 +2137,10 @@ class BackupManagerService extends IBackupManager.Stub { ParcelFileDescriptor.MODE_CREATE | ParcelFileDescriptor.MODE_TRUNCATE); + if (!SELinux.restorecon(mBackupDataName)) { + Slog.e(TAG, "SELinux restorecon failed on " + mBackupDataName); + } + mNewState = ParcelFileDescriptor.open(mNewStateName, ParcelFileDescriptor.MODE_READ_WRITE | ParcelFileDescriptor.MODE_CREATE | @@ -4572,6 +4580,10 @@ class BackupManagerService extends IBackupManager.Stub { ParcelFileDescriptor.MODE_CREATE | ParcelFileDescriptor.MODE_TRUNCATE); + if (!SELinux.restorecon(mBackupDataName)) { + Slog.e(TAG, "SElinux restorecon failed for " + mBackupDataName); + } + if (mTransport.getRestoreData(mBackupData) != BackupConstants.TRANSPORT_OK) { // Transport-level failure, so we wind everything up and // terminate the restore operation. |