summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGeremy Condra <gcondra@google.com>2013-04-03 19:07:45 -0700
committerrepo sync <gcondra@google.com>2013-04-05 13:16:37 -0700
commit498f62e2da65df9e11e8da6feb959ed0d513f792 (patch)
tree4e8403b91d3c8ea01cb86d47e51ac40bea76059e /src
parent5048492e352be8134d92178d757a60117491e292 (diff)
downloadandroid_packages_providers_DownloadProvider-498f62e2da65df9e11e8da6feb959ed0d513f792.tar.gz
android_packages_providers_DownloadProvider-498f62e2da65df9e11e8da6feb959ed0d513f792.tar.bz2
android_packages_providers_DownloadProvider-498f62e2da65df9e11e8da6feb959ed0d513f792.zip
Restore the appropriate SELinux context to the downloads dir.
Change-Id: I4839fd07abdd1c6b866f1d94dc36567df047e30c
Diffstat (limited to 'src')
-rw-r--r--src/com/android/providers/downloads/DownloadProvider.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/com/android/providers/downloads/DownloadProvider.java b/src/com/android/providers/downloads/DownloadProvider.java
index 2d0c807a..e0b5842d 100644
--- a/src/com/android/providers/downloads/DownloadProvider.java
+++ b/src/com/android/providers/downloads/DownloadProvider.java
@@ -37,6 +37,7 @@ import android.os.Binder;
import android.os.Environment;
import android.os.ParcelFileDescriptor;
import android.os.Process;
+import android.os.SELinux;
import android.provider.BaseColumns;
import android.provider.Downloads;
import android.provider.OpenableColumns;
@@ -441,8 +442,7 @@ public final class DownloadProvider extends ContentProvider {
appInfo = getContext().getPackageManager().
getApplicationInfo("com.android.defcontainer", 0);
} catch (NameNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ Log.wtf(Constants.TAG, "Could not get ApplicationInfo for com.android.defconatiner", e);
}
if (appInfo != null) {
mDefContainerUid = appInfo.uid;
@@ -452,6 +452,11 @@ public final class DownloadProvider extends ContentProvider {
Context context = getContext();
context.startService(new Intent(context, DownloadService.class));
mDownloadsDataDir = StorageManager.getDownloadDataDirectory(getContext());
+ try {
+ SELinux.restorecon(mDownloadsDataDir.getCanonicalPath());
+ } catch (IOException e) {
+ Log.wtf(Constants.TAG, "Could not get canonical path for download directory", e);
+ }
return true;
}