ConfigUpdateInstallReceiver: pass content via content provider
When receiving a request to update ConfigUpdater content, don't
try to open by filename. Fetch the content via a file descriptor
delivered from a content provider. This avoids the files needing to
be marked world-readable, and resolves an SELinux violation.
Bug: 14989241
Change-Id: I10ad0d710c9a833a45995c545ba585a533c35b0d
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 7db478d..1a3c66d 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -2893,36 +2893,42 @@
<receiver android:name="com.android.server.updates.CertPinInstallReceiver" >
<intent-filter>
<action android:name="android.intent.action.UPDATE_PINS" />
+ <data android:scheme="content" android:host="*" android:mimeType="*/*" />
</intent-filter>
</receiver>
<receiver android:name="com.android.server.updates.IntentFirewallInstallReceiver" >
<intent-filter>
<action android:name="android.intent.action.UPDATE_INTENT_FIREWALL" />
+ <data android:scheme="content" android:host="*" android:mimeType="*/*" />
</intent-filter>
</receiver>
<receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver" >
<intent-filter>
<action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
+ <data android:scheme="content" android:host="*" android:mimeType="*/*" />
</intent-filter>
</receiver>
<receiver android:name="com.android.server.updates.CarrierProvisioningUrlsInstallReceiver" >
<intent-filter>
<action android:name="android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS" />
+ <data android:scheme="content" android:host="*" android:mimeType="*/*" />
</intent-filter>
</receiver>
<receiver android:name="com.android.server.updates.TZInfoInstallReceiver" >
<intent-filter>
<action android:name="android.intent.action.UPDATE_TZINFO" />
+ <data android:scheme="content" android:host="*" android:mimeType="*/*" />
</intent-filter>
</receiver>
<receiver android:name="com.android.server.updates.SELinuxPolicyInstallReceiver" >
<intent-filter>
<action android:name="android.intent.action.UPDATE_SEPOLICY" />
+ <data android:scheme="content" android:host="*" android:mimeType="*/*" />
</intent-filter>
</receiver>