diff options
author | Danny Baumann <dannybaumann@web.de> | 2013-06-01 13:36:27 +0200 |
---|---|---|
committer | Danny Baumann <dannybaumann@web.de> | 2013-06-01 13:51:14 +0200 |
commit | 84643363d6c2c55b04a787c610e8b7a3eb16740f (patch) | |
tree | ecc047192fc0c626c7a57d010fecc936a85c35c1 | |
parent | 2bb4e7612cb3f14b0ce58e270ebad21befc94b61 (diff) | |
download | packages_apps_Mms-84643363d6c2c55b04a787c610e8b7a3eb16740f.zip packages_apps_Mms-84643363d6c2c55b04a787c610e8b7a3eb16740f.tar.gz packages_apps_Mms-84643363d6c2c55b04a787c610e8b7a3eb16740f.tar.bz2 |
Fix up receiver declaration.
The intent this receiver listens to is used by the BT MAP implementation
to send out SMS it queued. As the manifest and the
SmsReceiverService.java were in disagreement about the action name, this
didn't work.
Also secure the receiver in the process, it can be used to send out SMS
without having the SEND_SMS permission otherwise.
Change-Id: Ia8d181731baea586865ce3f18fe0864636c2b6f4
-rw-r--r-- | AndroidManifest.xml | 11 | ||||
-rw-r--r-- | src/com/android/mms/transaction/SmsReceiver.java | 6 |
2 files changed, 14 insertions, 3 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 62d65ae..4ed4a34 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -227,6 +227,14 @@ </intent-filter> </receiver> + <!-- Require sender permissions as it can be used to indirectly send SMS --> + <receiver android:name=".transaction.PrivilegedSmsReceiver" + android:permission="android.permission.SEND_SMS"> + <intent-filter> + <action android:name="com.android.mms.transaction.SEND_MESSAGE" /> + </intent-filter> + </receiver> + <!-- Catch-all receiver for broadcasts that don't have associated security --> <receiver android:name=".transaction.SmsReceiver"> <intent-filter> @@ -237,9 +245,6 @@ <!-- TODO Do a better data match here. --> <data android:scheme="content" /> </intent-filter> - <intent-filter> - <action android:name="android.intent.action.SEND_MESSAGE" /> - </intent-filter> </receiver> <receiver android:name=".transaction.MessageStatusReceiver"> diff --git a/src/com/android/mms/transaction/SmsReceiver.java b/src/com/android/mms/transaction/SmsReceiver.java index 22eb4e6..8e52ea7 100644 --- a/src/com/android/mms/transaction/SmsReceiver.java +++ b/src/com/android/mms/transaction/SmsReceiver.java @@ -53,6 +53,12 @@ public class SmsReceiver extends BroadcastReceiver { return; } + // same thing applies to the send-queued-messages request: it can be used to send + // SMS without having the SEND_SMS permission + if (!privileged && intent.getAction().equals(SmsReceiverService.ACTION_SEND_MESSAGE)) { + return; + } + intent.setClass(context, SmsReceiverService.class); intent.putExtra("result", getResultCode()); beginStartingService(context, intent); |