Fixes b/37629504 by not creating attachments from file URIs shared via
intent. Sharing file URIs is disallowed by Android N and later and is no
longer supported for this app.
Test: manual using the Debug command added in this change
Change-Id: Ibff486c94ac703a9a4c5a80e33b934a460804a8f
Merged-In: Ibff486c94ac703a9a4c5a80e33b934a460804a8f
* A security researcher crafted a gif that would cause the Android
Bitmap code to throw an NPE. That would cause messaging to crash when
decoding the NPE. The frameworks team is changing the underlying code to
throw an OutOfMemoryError instead of a NullPointerException.
In order to catch both errors, the code needs to catch Throwable.
Test: I added code to GifImageResource.getDrawable to throw a new
OutOfMemoryError and then used the debugger to verify it was caught by the
new catch Throwable statement. I did the same test with NullPointerException.
I tested attaching gif images and sending them to verify the gif path still
worked.
BUG=37742976
Change-Id: If71a7e65f8c0b083fe6c4b79f78358666338d59d
* A security researcher crafted a gif that would cause the Android
Bitmap code to throw an NPE. That would cause messaging to crash when
decoding the NPE. Catch the NPE.
Test: manually tested the "crash.gif" attached to the bug. Stepped
through the debugger to verify we're catching the NPE and logging
the attempt. Verified normal gifs still work.
Bug: 37742976
Change-Id: Iab814d5b0b514bed0cecddd9a76f1fc095f90892
(cherry picked from commit 3671fd94ae)
* A security researcher crafted a gif that would cause the Android
Bitmap code to throw an NPE. That would cause messaging to crash when
decoding the NPE. Catch the NPE.
Test: manually tested the "crash.gif" attached to the bug. Stepped
through the debugger to verify we're catching the NPE and logging
the attempt. Verified normal gifs still work.
BUG=37742976
Change-Id: Iab814d5b0b514bed0cecddd9a76f1fc095f90892
ActionBarActivity has been deprecated for 2+ years and has been
extending AppCompatActivity for all that time. These changes
should be no-ops.
Bug: 35253513
Test: None
Change-Id: I699f327aaa99b26a0a0b562cf425203e4b625c33
(cherry picked from commit 11224977e7)
ActionBarActivity has been deprecated for 2+ years and has been
extending AppCompatActivity for all that time. These changes
should be no-ops.
Bug: 35253513
Test: None
Change-Id: I699f327aaa99b26a0a0b562cf425203e4b625c33
* The PduPersister had some code where it checked uris for
equality, but didn't use the safe .equals method.
Test: manual test of sending and receiving mms's.
Bug: 37544704
Change-Id: I6dfd037068b4eff04c34cd9d41760e36e11915d6
This bug and AOSP patch arrived last July. Supposedly, I
merged the change, but it's certainly not fixed in bugler, nor in various
copies of PduPersister in Android's master. Fixing all the locations
now.
Test: manual - sent/received MMS's to verify the change didn't break
existing behavior.
Bug: 22851197
Change-Id: Ia79bd9951b1820ebc42baf0eef38667753d77ab9
attach private files from "/data/data/com.android.messaging/"
directory to the messaging app.
* This is a manual merge from ag/871758 -- backporting a security fix from
Bugle to Kazoo.
* Don't export the MediaScratchFileProvider or the MmsFileProvider. This
will block external access from third party apps. In addition, make both
providers more robust in handling path names. Make sure the file paths
handled in the providers point to the expected directory.
Change-Id: I9e6b3ae0e122e3f5022243418f2893d4a0859edb
Fixes: 32807795
in AOSP Messaging
* Check to make sure the returned uri from the gallery picker does
not point to bugle's data directory (or any subdir).
* Test:
Manual-
* I created the test app in the bug, the one that injects the bad
uri into Bugle. I verified the bad behavior before the fix and the
good behavior after.
* I tested the gallery to make sure picking photos,
from the photos app and drive, still work.
* I verified the behavior in the debugger to be sure the code is
catching the bad uri from the test app.
Change-Id: I3393f3b886c837a49758b91945cf1e17ec9bee41
Fixes: 32161610
Precompute is_enterprise and stored the value in conversation table.
Include is_enterprise in the ConversationList view.
Change-Id: I2e31bd61c08d25a296aaa3e99cb24631ae2e7976
We've been informed it's possible for an app to create a world
readable hardlink in L in its own /data directory that links to
another apps private data, including Messenger data. The hardlink
bypassed our existing checks. So now we simply refuse all file: uris
in the /data/ directory.
Other apps shouldn't be sending file uris anyway, and we dont know
of any that send file:///data/ uris.
Bug: 28793303
Change-Id: I778bb2bcb9e11185357093c59fc1fa3f6caa26a1
1. Remove isWorkProfileSupported checking, api level checking is enough.
2. Replace the hardcoded uri with the corresponding api.
BUG=26797244
BUG=28016344
(cherry picked from commit 0d7a1cce157e4ffb26d5fefb9908bbeffcb1d03c)
Change-Id: I76edad19dc6a19aa77b523cb960f716fca08944d
This change allows sms app to show search result of different directories
in different partitions.
Currently, only personal default and enterprise default directory are
searched.
BUG=26021888
BUG=28016344
(cherry picked from commit 59666b32c192bd28807ccd2f9153c796668bdf13)
Change-Id: I733ceaae806d13661861126ce61c34108ac7e662
TODO: Update the UI to show enterprise result separately (b/26021888)
Bug: 28016344, 25977180
(cherry picked from commit 5c621e57256f5068a43f1456f9bab1194f0d27b2)
Change-Id: I7130ae5e057ed750a29f64c5497a04b868613579
-Previously, Messaging allowed sharing of any file it had permission
to reach. This meant that bad apps could share a link to
file:///data/data/com.android.messaging/databases/bugle_db
and Messaging would happily send all this sensitive information to
the target. Worse, a bad app could share a softlink to this file,
where the symlink was picture.jpg with the image/jpg type.
-Now, when sanitizing attachments, we make sure any filepaths don't
lead to any Bugle-specific directories.
-getApplicationInfo().dataDir is a symlink to
/data/data/com.android.messaging, and appears to be the
only directory where we store personal data.
-Most apps share as contentUris, including Messaging, so Messaging
can still share to itself.
Change-Id: Ic464bc1f099029a030793c478aaf88b957d8bad1
Fixes:28076752
For platforms with insecure handling of media files, media files should
be opened only after the user chooses to play the media.
Change-Id: I5f9bbd1f8468a704a5962f0dddd3c8b11bba8bea