57523 Commits

Author SHA1 Message Date
Ajay Panicker
f78ff48d0d Merge "[DO NOT MERGE] Prevent FDs from being leaked when accepted sockets are closed" into lmp-dev 2016-09-21 21:08:07 +00:00
TreeHugger Robot
19b09dd0d3 Merge "[DO NOT MERGE] Fix setPairingConfirmation permissions issue (2/2)" into lmp-dev 2016-09-21 00:07:38 +00:00
Jeff Sharkey
1547194418 Use "all_downloads" instead of "my_downloads".
We can no longer return the "my_downloads" paths: if those Uris were
shared beyond the app that requested the download, access would be
denied.  Instead, we need to switch to using "all_downloads" Uris so
that permission grants can be issued to third-party viewer apps.

Since an app requesting a download doesn't normally have permission
to "all_downloads" paths, DownloadProvider now issues narrow grants
toward the owner of each download, both at device boot and when new
downloads are started.

Bug: 30537115, 30945409
Change-Id: I533125b36444877f54373d88922f2acc777e250b
2016-09-16 12:04:05 -06:00
Ajay Panicker
27b3d578b9 [DO NOT MERGE] Prevent FDs from being leaked when accepted sockets are closed
Bug: 28672558
Change-Id: I4bc14bd7f098e34012c2ae1eeba2d439145901f0
2016-09-08 13:23:02 -07:00
Ajay Panicker
0ea21bc70e [DO NOT MERGE] Fix setPairingConfirmation permissions issue (2/2)
setPairingConfirmation was set to only require BLUETOOTH_ADMIN
permission which shouldn't be able to set the confirmation itself.

This is restricted to BLUETOOTH_PRIVILEGED permission.

Bug: 29043989
Change-Id: Iddc935f0b02f5ff56e930914b4b664377e786184
2016-09-08 18:03:58 +00:00
Narayan Kamath
7ec85f9d54 Backport changes to whitelist sockets opened by the zygote.
This is the backport of the following commits :

Commit c5f27a7cb2ec816f483a65255034a1b57a8aa22:
-----------------------------------------------

Reopen whitelisted zygote file descriptors after a fork.

We don't want these descriptors to be shared post-fork, so we'll
have to close and reopen them when the zygote forks. The set of
open descriptors is checked against a whitelist and it is a fatal
error if a non whitelisted FD is opened. It is also a fatal error
if anything other than a regular file / character device or socket
is opened at the time of forking.

This work is done in two stages :
- An initial list of FDs is constructed and cached prior to the
  first zygote fork.

- On each subsequent fork, we check whether the list of open FDs
  has changed. We are currently tolerant of changes, but in the
  longer term, it should be a fatal error if the set of open file
  descriptors in the zygote changes.

- Post fork, we traverse the list of open descriptors and reopen
  them if necessary.

bug: 30963384

Commit 3764a260f0c90dcb323caeda14baf903cc108759:
-----------------------------------------------

Add a whitelist of sockets on fork.

Maintain a whitelist of AF_UNIX sockets that are permitted
to exist at the time of forking. If an open socket does not belong
to the whitelist (or is not AF_UNIX), the process will abort. If an
open socket is whitelisted, it will be redirected to /dev/null after
a sucessful fork. This allows us to unify our handling of the special
zygote sockets (/dev/socket/zygote[_secondary]) with the existing
whitelist of non socket file descriptors.

This change also removes non-fatal ALOGW messages since they have the
side effect of reopening the logging socket.

bug: 30963384

Commit 0b76d6a28e6978151bf245a775329cdae5e574d5:
-----------------------------------------------
fd_utils: Fix broken usage of iterators.

There were two separate issues here :
- RestatInternal was using an iterator after a call to erase(). This
  will not work because it will be invalidated.
- The "standard" for loop idiom for iterating over a map while making
  structural changes to it is broken. Switch to a while loop and treat
  cases where elements are erased differently from cases where they
  aren't.

bug: 31092930
bug: 30963384

Plus additional changes:
-----------------------------------------------
- change std::unordered_map to std::tr1::unordered_map.
- add /dev/alarm and /dev/__properties__ to the whitelist.
- map.erase(iterator) returns void prior to C++11, so need the kludge
  of calling erase(it++).

Change-Id: I694ff66d5f227239b0190ffc2287882b16e336fa
2016-09-07 18:48:48 +01:00
Narayan Kamath
e29c6493c0 Process: Fix communication with zygote.
Don't write partial requests, and don't return (or throw) early after
partially reading a response.

bug: 30143607

(cherry-picked from commit 448be0a62209c977593d81617853a8a428d013df)

Change-Id: I5881fdd5e81023cd21fb4d23a471a5031987a1f1
2016-08-16 16:17:29 +00:00
fionaxu
0fffbcb158 DO NOT MERGE revert public api loadSafeLabel
Bug: 28557603
Change-Id: I61f4939864228fb50112502044da599b9cec2430
2016-06-28 00:43:35 -07:00
Sudheer Shanka
e64034a27d Merge "DO NOT MERGE: Reduce shell power over user management." into lmp-dev 2016-06-21 22:03:09 +00:00
Sudheer Shanka
65f53e1445 DO NOT MERGE: Reduce shell power over user management.
Remove MANAGE_USERS permission from shell and whitelist it for
some specific functionality.

Bug: 29189712
Change-Id: Ifb37448c091af91991964511e3efb1bb4dea1ff3
2016-06-21 18:45:13 +00:00
Christopher Tate
c58054f25f Don't trust callers to supply app info to bindBackupAgent()
Get the canonical identity and metadata about the package from the
Package Manager at time of usage rather than rely on the caller to
have gotten things right, even when the caller has the system uid.

Bug 28795098

Change-Id: I215786bc894dedf7ca28e9c80cefabd0e40ca877
2016-06-14 13:28:43 -07:00
fionaxu
2c53526b4b Backport loadSafeLabel changes am: be2865a60a am: 4c50846519
am: 9a825b0fd5

Change-Id: Ie3042058420fbd3018ae238dab4129de58ec69c8
2016-06-07 23:23:10 +00:00
fionaxu
9a825b0fd5 Backport loadSafeLabel changes am: be2865a60a
am: 4c50846519

Change-Id: Ia31592def4d88a3a9e92a7e0c9126691c64a5fc4
2016-06-07 23:20:04 +00:00
fionaxu
4c50846519 Backport loadSafeLabel changes
am: be2865a60a

Change-Id: Ifabe996449c534c5085245c4f07e2d865a23e126
2016-06-07 23:13:08 +00:00
fionaxu
be2865a60a Backport loadSafeLabel changes
Bug:23531798
Bug:28557603
Change-Id: Iee49f7c37d6a42fe74077bb15ed47919d351d172
2016-06-07 22:51:28 +00:00
Paul Jensen
6c35cf2434 Merge "Don\'t pass URL path and username/password to PAC scripts" into klp-dev am: af0b4466ff am: 8940d2b0ff
am: bb27626141

* commit 'bb2762614181a0ee03554a96c070ea1006d7263c':
  Don't pass URL path and username/password to PAC scripts

Change-Id: I9e4d3282765dec1554955b9f72484e9d7e2d6594
2016-05-26 13:44:37 +00:00
Paul Jensen
bb27626141 Merge "Don\'t pass URL path and username/password to PAC scripts" into klp-dev am: af0b4466ff
am: 8940d2b0ff

* commit '8940d2b0ff2fb5a9cc9e12be8a7959670e4390ac':
  Don't pass URL path and username/password to PAC scripts

Change-Id: I03d6273d7ddaecac071ab3d1207d3d684e80159e
2016-05-26 13:37:24 +00:00
Paul Jensen
8940d2b0ff Merge "Don\'t pass URL path and username/password to PAC scripts" into klp-dev
am: af0b4466ff

* commit 'af0b4466ffe2ed09b288014d1d3a9ed308fe3c76':
  Don't pass URL path and username/password to PAC scripts

Change-Id: I8a49a29ed1999ab811d3306dc46769d83c05244e
2016-05-26 13:30:59 +00:00
Paul Jensen
08ec0e53b8 Don't pass URL path and username/password to PAC scripts
The URL path could contain credentials that apps don't want exposed
to a potentially malicious PAC script.

Bug: 27593919
Change-Id: I4bb0362fc91f70ad47c4c7453d77d6f9a1e8eeed
2016-04-29 10:57:13 +00:00
Todd Kennedy
ca133845ef DO NOT MERGE Fix intent filter priorities am: 60351d3
am: 3dfc6d9

* commit '3dfc6d986f6142b1e0020c9970f626c7c435711e':
  DO NOT MERGE Fix intent filter priorities

Change-Id: Id396cca79db8f830a513746f387fb866c773c778
2016-04-11 22:06:38 +00:00
Todd Kennedy
3dfc6d986f DO NOT MERGE Fix intent filter priorities
am: 60351d3

* commit '60351d3be29977dfe0b422de797a0429edf500b7':
  DO NOT MERGE Fix intent filter priorities

Change-Id: Ieca2ee83f22e5d4083f895f52d42a2f697920be7
2016-04-11 22:00:27 +00:00
Todd Kennedy
60351d3be2 DO NOT MERGE Fix intent filter priorities
Since this is a backport, there is only one rule that guards intent
filter priorities:
1) Updates will NOT be granted a priority greater than the priority
   defined on the system image.

NOTE: I had to bring in pieces of ag/526831 so intent filters could
be collected and matched

Bug: 27450489
Change-Id: Ifcec4d7a59e684331399abc41eea1bd6876155a4
2016-04-07 16:40:18 -07:00
Todd Kennedy
d6174e7402 DO NOT MERGE Fix intent filter priorities
Since this is a backport, there is only one rule that guards intent
filter priorities:
1) Updates will NOT be granted a priority greater than the priority
   defined on the system image.

Bug: 27450489
Change-Id: Ifcec4d7a59e684331399abc41eea1bd6876155a4
2016-04-05 10:20:41 -07:00
Matthew Williams
5fc753acaf DO NOT MERGE Redact Account info from getCurrentSyncs am: a5cafd2a93
am: 06ef7dfdf0

* commit '06ef7dfdf0a3efb44326228c55309ec6df134376':
  DO NOT MERGE Redact Account info from getCurrentSyncs
2016-01-21 18:14:32 +00:00
Matthew Williams
06ef7dfdf0 DO NOT MERGE Redact Account info from getCurrentSyncs
am: a5cafd2a93

* commit 'a5cafd2a93ce1c481328e2ce25c3bf2a19b81601':
  DO NOT MERGE Redact Account info from getCurrentSyncs
2016-01-21 18:07:55 +00:00
Matthew Williams
a5cafd2a93 DO NOT MERGE Redact Account info from getCurrentSyncs
BUG:26094635
If the caller to ContentResolver#getCurrentSyncs does not hold the
GET_ACCOUNTS permission, return a SyncInfo object that does not
contain any Account information.

Change-Id: I5628ebe1f56c8e3f784aaf1b3281e6b829d19314
(cherry picked from commit b63057e698a01dafcefc7ba09b397b0336bba43d)
2016-01-21 14:15:11 +00:00
Matthew Williams
f39549e389 Redact Account info from getCurrentSyncs
BUG:26094635
If the caller to ContentResolver#getCurrentSyncs does not hold the
GET_ACCOUNTS permission, return a SyncInfo object that does not
contain any Account information.

Change-Id: I5628ebe1f56c8e3f784aaf1b3281e6b829d19314
(cherry picked from commit b63057e698a01dafcefc7ba09b397b0336bba43d)
2016-01-20 00:02:58 +00:00
Robert Greenwalt
9887f2f50a Protect some new broadcasts.
DEFAULT_*_SUBSCRIPTION_CHANGED broadcasts were added but not protected,
allowing 3rd parties to potentially spoof the bcasts feeding misinformation
to system listeners.

bug:25778215
Change-Id: Ie5fc68a7d2224ce3f6beeca91667fe9b7654f0d5
2015-12-04 15:54:53 -08:00
Shreyas Basarge
cc7c1d3812 Sync extras bundle comparison can throw NPE am: 2f137b7705
am: 294611faa8

* commit '294611faa8bd1bdbf75adc3cee835b69d348df86':
  Sync extras bundle comparison can throw NPE
2015-11-13 01:50:02 +00:00
Shreyas Basarge
294611faa8 Sync extras bundle comparison can throw NPE
am: 2f137b7705

* commit '2f137b7705875ee026319abb8e512d918c118222':
  Sync extras bundle comparison can throw NPE
2015-11-13 01:41:59 +00:00
Shreyas Basarge
2f137b7705 Sync extras bundle comparison can throw NPE
Bug: 23591205
Change-Id: I960dfcc1584c0a17685790d5d722eaf11b930e25
2015-11-12 15:32:44 +00:00
Matthew Williams
c0f39c1ece Sync extras bundle comparison can throw NPE
BUG: 23591205
Change-Id: Ic6404c0befe70c34b078e0eae6a627826173d82c
(cherry picked from commit 9ad2c8403354a985258c098681067e74b9e2f638)
2015-11-11 14:34:04 +00:00
Paul Jensen
ece4ac2105 Merge "Don't mark NetworkRequests restricted when they don't have restricted caps" into lmp-dev 2015-09-23 10:59:31 +00:00
Paul Jensen
a9e9834314 Merge "Fix NOT_RESTRICTED network capability and enforce it." into lmp-dev 2015-09-23 10:58:57 +00:00
Zach Jang
fe4cbf2b1b am cff4e09e: am bdf7f358: DO NOT MERGE - Backport of ag/748165 to klp-dev Security patch level in Settings
* commit 'cff4e09e26e3b976aa0273df78e89f592fc6d287':
  DO NOT MERGE - Backport of ag/748165 to klp-dev Security patch level in Settings
2015-09-17 20:24:00 +00:00
Zach Jang
cff4e09e26 am bdf7f358: DO NOT MERGE - Backport of ag/748165 to klp-dev Security patch level in Settings
* commit 'bdf7f3583c637f370e97e74526df14b9c70e6493':
  DO NOT MERGE - Backport of ag/748165 to klp-dev Security patch level in Settings
2015-09-17 20:09:55 +00:00
Zach Jang
1cf21e443a DO NOT MERGE - Backport of ag/748165 to klp-dev
Security patch level in Settings

b/23946860

Change-Id: I610d4dedf18fe1825d7df5febf29e6f0c006490d
2015-09-17 01:20:27 +00:00
Zach Jang
bdf7f3583c DO NOT MERGE - Backport of ag/748165 to klp-dev
Security patch level in Settings

b/23946860

Change-Id: I610d4dedf18fe1825d7df5febf29e6f0c006490d
2015-09-17 01:17:58 +00:00
Paul Jensen
2b6af396ad Don't mark NetworkRequests restricted when they don't have restricted caps
Requests without NET_CAPABILITIES_INTERNET and just the default network
capabilities should not be marked restricted.  Without this fix apps
can hit permissions exceptions if they inadvertently make requests
without NET_CAPABILITIES_INTERNET.

Bug:23164917
Change-Id: I4c7136821315bcb05dfc42ffbc505a5d4f6109e6
(cherry picked from commit aae613d96134245af7c55976731a49fa59e77470)
2015-08-28 12:50:09 -04:00
Paul Jensen
a12044215b Fix NOT_RESTRICTED network capability and enforce it.
With this change:
1. NOT_RESTRICTED should be removed from NetworkRequests that bring up
   special restricted carrier networks (e.g. IMS, FOTA).
2. NetworkRequests without NOT_RESTRICTED require CONNECTIVITY_INTERNAL
   permission to register
3. Binding sockets to networks without NOT_RESTRICTED requires
   CONNECTIVITY_INTERNAL permission

Bug:21637535
Change-Id: I5991d39facaa6b690e969fe15dcbeec52e918321
(cherry picked from commit 487ffe7d3d84bf65212158f7098e8a84b5b55e09)
2015-08-28 12:48:11 -04:00
Sebastien Hertz
55f86b1811 am 9e7a0ddb: am 18089ceb: Allow debugging only for apps forked from zygote DO NOT MERGE
* commit '9e7a0ddb65ad0bd04d49a24a68aa96730b2ba9a1':
  Allow debugging only for apps forked from zygote DO NOT MERGE
2015-08-21 10:09:22 +00:00
Sebastien Hertz
9e7a0ddb65 am 18089ceb: Allow debugging only for apps forked from zygote DO NOT MERGE
* commit '18089ceb71ad4ce2332096b8e7b5f8c1f8e263db':
  Allow debugging only for apps forked from zygote DO NOT MERGE
2015-08-21 09:50:24 +00:00
Sebastien Hertz
18089ceb71 Allow debugging only for apps forked from zygote DO NOT MERGE
When starting the runtime from app_process, we only pass JDWP options
if starting zygote. It prevents from opening a JDWP connection in
non-zygote programs while Android apps (forked from zygote) remain
debuggable.

Bug: 23050463

(cherry picked from commit 7a09b8322cab26d6e3da1362d3c74964ae66b5d4)

Change-Id: I2400ecc8aea7579c43300efccf288b69f70eef53
2015-08-19 17:12:34 +02:00
Sebastien Hertz
ff8dc21278 Allow debugging only for apps forked from zygote
When starting the runtime from app_process, we only pass JDWP options
if starting zygote. It prevents from opening a JDWP connection in
non-zygote programs while Android apps (forked from zygote) remain
debuggable.

Bug: 23050463

(cherry picked from commit 7a09b8322cab26d6e3da1362d3c74964ae66b5d4)

Change-Id: Ib5b6d3bc4d45389993c3c54226df5a7b72479d19
2015-08-19 11:25:56 +02:00
Amit Mahajan
23444e76d2 am eee86342: am 9edf7ad5: DO NOT MERGE Change to add STK_PERMISSION for stk related commands.
* commit 'eee86342713a7c89c30933a22f8b7e190d3af10f':
  DO NOT MERGE Change to add STK_PERMISSION for stk related commands.
2015-06-26 22:31:49 +00:00
Amit Mahajan
eee8634271 am 9edf7ad5: DO NOT MERGE Change to add STK_PERMISSION for stk related commands.
* commit '9edf7ad563ead119698ac3106b699515bd160ffe':
  DO NOT MERGE Change to add STK_PERMISSION for stk related commands.
2015-06-26 22:14:24 +00:00
Amit Mahajan
791dd2c674 DO NOT MERGE Change to add STK_PERMISSION for stk related commands.
Bug: 21697171
Change-Id: I7649c7341428194963ac74e9ae622dfa76ea738b
2015-06-26 17:33:37 +00:00
Amit Mahajan
9edf7ad563 DO NOT MERGE Change to add STK_PERMISSION for stk related commands.
Bug: 21697171
Change-Id: I7649c7341428194963ac74e9ae622dfa76ea738b
2015-06-26 17:33:32 +00:00
Leon Scroggins III
5b751c8007 am 7496e153: am 0d208173: DO NOT MERGE: Ensure that unparcelling Region only reads the expected number of bytes
* commit '7496e153f4308b39df9c53615770f44f593c3504':
  DO NOT MERGE: Ensure that unparcelling Region only reads the expected number of bytes
2015-06-02 13:12:12 +00:00
Leon Scroggins III
7496e153f4 am 0d208173: DO NOT MERGE: Ensure that unparcelling Region only reads the expected number of bytes
* commit '0d2081734ce124191ac1f3e8585336daa414abbe':
  DO NOT MERGE: Ensure that unparcelling Region only reads the expected number of bytes
2015-06-02 12:59:29 +00:00