Commit Graph

69766 Commits

Author SHA1 Message Date
Hugo Benichi
b800e8520e Merge "ConnectivityManager: improve argument validation" am: cdfd3a186f
am: 0187514f74

Change-Id: I7ffbc1799d9da901fb38db469720479760892bba
2017-05-23 03:26:32 +00:00
Hugo Benichi
e7678517b3 ConnectivityManager: improve argument validation
Using Preconditions and dedicated static methods for checking arguments
to improve error stack traces without error messages.

Test: covered by previously added unit test
Bug: 36701874
Change-Id: Id872b2c887a4bca43a8c3644622add1c2ee57c6d
2017-05-23 10:39:45 +09:00
Nick Kralevich
604a49118f ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8 am: 8965cd6a39 am: 47beaa8fab am: 55c8a1ede9 am: 66a08a5413 am: 7a06357519 am: a07389b446 am: 5f4382e2a6 am: 3946a75cb3 am: 3c529012d3
am: ce8a0dea71

Change-Id: I7f963478355bf0019520c6d9242a6670398698f0
2017-05-23 00:47:08 +00:00
Nick Kralevich
f00f966fcf system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973 am: c46889e2d2 am: f5bd84b82d am: 982b8018af am: 7fd2d8ea31 am: 5bfe82c3ee am: 12c5f0da9f am: dc87ac995a am: 02f0044d98 am: 6cadbad153
am: fdf1fdfc1b

Change-Id: I76b74d2ec3f72bfc6b3ec6247beb40589112fdfd
2017-05-23 00:46:08 +00:00
Nick Kralevich
ce8a0dea71 ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8 am: 8965cd6a39 am: 47beaa8fab am: 55c8a1ede9 am: 66a08a5413 am: 7a06357519 am: a07389b446 am: 5f4382e2a6 am: 3946a75cb3
am: 3c529012d3

Change-Id: I9b3ea4577928b601f81525390fa6dae525275323
2017-05-23 00:39:49 +00:00
Nick Kralevich
fdf1fdfc1b system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973 am: c46889e2d2 am: f5bd84b82d am: 982b8018af am: 7fd2d8ea31 am: 5bfe82c3ee am: 12c5f0da9f am: dc87ac995a am: 02f0044d98
am: 6cadbad153

Change-Id: I05c01c682c89b4ae42ef9f66a94da611c7378148
2017-05-23 00:38:33 +00:00
Nick Kralevich
3c529012d3 ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8 am: 8965cd6a39 am: 47beaa8fab am: 55c8a1ede9 am: 66a08a5413 am: 7a06357519 am: a07389b446 am: 5f4382e2a6
am: 3946a75cb3

Change-Id: I9992c35cfc2b2ad8c4bbff7bf4bf9ca79b6f4568
2017-05-23 00:25:35 +00:00
Nick Kralevich
6cadbad153 system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973 am: c46889e2d2 am: f5bd84b82d am: 982b8018af am: 7fd2d8ea31 am: 5bfe82c3ee am: 12c5f0da9f am: dc87ac995a
am: 02f0044d98

Change-Id: I8fbd6580c4b6c1595b0ff1c34faaec5e1b9ad4de
2017-05-23 00:24:33 +00:00
Nick Kralevich
3946a75cb3 ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8 am: 8965cd6a39 am: 47beaa8fab am: 55c8a1ede9 am: 66a08a5413 am: 7a06357519 am: a07389b446
am: 5f4382e2a6

Change-Id: Ieab172a133b0d9198cef008b037c4a1107d0746c
2017-05-23 00:18:31 +00:00
Nick Kralevich
02f0044d98 system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973 am: c46889e2d2 am: f5bd84b82d am: 982b8018af am: 7fd2d8ea31 am: 5bfe82c3ee am: 12c5f0da9f
am: dc87ac995a

Change-Id: Ic7e65852a72cde3d2e285774e9cb85e9590e7fd2
2017-05-23 00:17:22 +00:00
Nick Kralevich
5f4382e2a6 ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8 am: 8965cd6a39 am: 47beaa8fab am: 55c8a1ede9 am: 66a08a5413 am: 7a06357519
am: a07389b446

Change-Id: I5e8fdff89b3d8d1e36f24767dc60efa1dc352dcb
2017-05-23 00:07:43 +00:00
Nick Kralevich
dc87ac995a system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973 am: c46889e2d2 am: f5bd84b82d am: 982b8018af am: 7fd2d8ea31 am: 5bfe82c3ee
am: 12c5f0da9f

Change-Id: I8ce1d6a2399967cf0408adf7ffbe1839f471e1e7
2017-05-23 00:06:55 +00:00
Nick Kralevich
a07389b446 ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8 am: 8965cd6a39 am: 47beaa8fab am: 55c8a1ede9 am: 66a08a5413
am: 7a06357519

Change-Id: I9301189268f519d4b87d8c9bfa88d1da4e8a53cd
2017-05-22 23:51:48 +00:00
Nick Kralevich
12c5f0da9f system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973 am: c46889e2d2 am: f5bd84b82d am: 982b8018af am: 7fd2d8ea31
am: 5bfe82c3ee

Change-Id: I95333a7ff3d6ee1a3161d436a2a0b312931b663e
2017-05-22 23:50:57 +00:00
Nick Kralevich
7a06357519 ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8 am: 8965cd6a39 am: 47beaa8fab am: 55c8a1ede9
am: 66a08a5413

Change-Id: Ica5cb7828a37bd597dc0d83f7a65e89380d1e31c
2017-05-22 23:36:12 +00:00
Nick Kralevich
5bfe82c3ee system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973 am: c46889e2d2 am: f5bd84b82d am: 982b8018af
am: 7fd2d8ea31

Change-Id: I4b57d119b9b8d512a017ede0fb62658fb25f9580
2017-05-22 23:35:04 +00:00
Nick Kralevich
66a08a5413 ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8 am: 8965cd6a39 am: 47beaa8fab
am: 55c8a1ede9

Change-Id: Ia3e4d749c5b5475640325fd47eb4260d52e61365
2017-05-22 23:19:09 +00:00
Nick Kralevich
7fd2d8ea31 system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973 am: c46889e2d2 am: f5bd84b82d
am: 982b8018af

Change-Id: I8cb5052694668ee8021f75778244e4d1b6cc3bb5
2017-05-22 23:18:24 +00:00
Nick Kralevich
55c8a1ede9 ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8 am: 8965cd6a39
am: 47beaa8fab

Change-Id: Ie697e5e8bfb7664b410d564a84ae5784be890f90
2017-05-22 23:02:54 +00:00
Nick Kralevich
982b8018af system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973 am: c46889e2d2
am: f5bd84b82d

Change-Id: I163a9224d6b0ff5f42f52656773e1c297661b977
2017-05-22 23:02:13 +00:00
Nick Kralevich
47beaa8fab ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c am: 1cc9ec47c8
am: 8965cd6a39

Change-Id: If549cda5fd1a640fee746311745b9b08ebf63b91
2017-05-22 22:46:18 +00:00
Nick Kralevich
f5bd84b82d system_server: add CAP_SYS_PTRACE am: 966619d0ab am: b8d972e973
am: c46889e2d2

Change-Id: I840740012d9ba0c434f7de0fd9ca83a44926d018
2017-05-22 22:45:44 +00:00
Nick Kralevich
8965cd6a39 ZygoteInit: Remove CAP_SYS_RESOURCE am: 4911af2b8c
am: 1cc9ec47c8

Change-Id: Ic81685686dabbc1f0004a30785a021bf89420846
2017-05-22 22:24:39 +00:00
Nick Kralevich
c46889e2d2 system_server: add CAP_SYS_PTRACE am: 966619d0ab
am: b8d972e973

Change-Id: I4d9e2d9b53523b9182a9f9272d06a93a87b0c61b
2017-05-22 22:23:47 +00:00
Nick Kralevich
1cc9ec47c8 ZygoteInit: Remove CAP_SYS_RESOURCE
am: 4911af2b8c

Change-Id: I4aa46981edb8fd711e1aec8c889528e596e5c233
2017-05-22 22:05:18 +00:00
Nick Kralevich
b8d972e973 system_server: add CAP_SYS_PTRACE
am: 966619d0ab

Change-Id: Ie5f95f2c078cd0bec7a2b2321c3303301ec9ec74
2017-05-22 22:04:57 +00:00
Nick Kralevich
4911af2b8c ZygoteInit: Remove CAP_SYS_RESOURCE
Please see commit 3082eb7c72 for an
explanation of this change.

This capability is not used by system_server.

Bug: 34951864
Bug: 38496951
Test: code compiles, device boots, no selinux errors ever reported.
Change-Id: I4242b1abaa8679b9bfa0d31a1df565b46b7b3cc3
(cherry picked from commit 35775783fc)
2017-05-22 12:19:29 -07:00
Nick Kralevich
966619d0ab system_server: add CAP_SYS_PTRACE
Commit https://android.googlesource.com/kernel/common/+/f0ce0eee added
CAP_SYS_RESOURCE as a capability check which would allow access to
sensitive /proc/PID files. system_server uses this capability to collect
smaps from managed processes. Presumably this was done to avoid the
implications of granting CAP_SYS_PTRACE to system_server.

However, with SELinux enforcement, we can grant CAP_SYS_PTRACE but not
allow ptrace attach() to other processes. The net result of this is that
CAP_SYS_PTRACE and CAP_SYS_RESOURCE have identical security controls, as
long as system_server:process ptrace is never granted.

Add CAP_SYS_PTRACE to the set of capabilities granted to system_server.

Don't delete CAP_SYS_RESOURCE for now. SELinux has blocked the use of
CAP_SYS_RESOURCE, but we still want to generate audit logs if it's
triggered. CAP_SYS_RESOURCE can be deleted in a future commit.

Bug: 34951864
Bug: 38496951
Test: Device boots, functionality remains identical, no sys_resource
denials from system_server.
Change-Id: I2570266165396dba2b600eac7c42c94800d9c65b
(cherry picked from commit 3082eb7c72)
2017-05-22 11:28:48 -07:00
Hugo Benichi
08ab9ea526 Merge "Address ConnectivityManager API comments." am: b5d6e45e8d
am: b57db6ef97

Change-Id: If38be1435c55c66890bb5c702a7b9b23240c0b64
2017-05-19 23:24:56 +00:00
Hugo Benichi
b5d6e45e8d Merge "Address ConnectivityManager API comments." 2017-05-19 23:05:57 +00:00
Hugo Benichi
6246ddc338 Merge "Add a method to start the captive portal login app." am: 30f2544f0c
am: f238a96172

Change-Id: Ie42fa5148bc7fcaf5b64b767c06aba9f618c0aa7
2017-05-19 02:48:01 +00:00
Lorenzo Colitti
2965d33afc Add a method to start the captive portal login app.
Bug: 36203355
Bug: 36656914
Test: ConnectivityServiceTest (including new test) passes
Change-Id: Ide82858af67024623560ab79beea27c201b63447
Merged-In: I82a9a9a8da47870ba3f1bbef5941b37e970c844f

(cherry picked from commit 4734cdbbc3)
2017-05-19 00:58:41 +00:00
Hugo Benichi
0eec03f75c Address ConnectivityManager API comments.
This patch is a cherry pick of the two following commits:
  - 15fd4395e1 which addresses several
    issues in the public api of ConnectivityManager.
  - e2d48ff57c which fixes the documentation
    of several methods in ConnectivityManager public api.

Because the first commit change the public api that is referenced in
the documentation fixed by the second commit, it is not possible to one
without the other. In both cases trying to cherry pick only one of them
results in a build error.

The first commit was submitted successfully on an internal branch before
the checks done in the built got stricter.

Bug: 36370941
Test: marlin builds and boots
Change-Id: I86dcf056e6b165e527c3ee88dbabc2764ac09a08
Merged-In: I693ee5270bf186c88c7c5056293519f7237504ff

(cherry picked from commit 15fd4395e1)
2017-05-17 21:48:05 +09:00
Andreas Gampe
85c5e1c123 Merge "Zygote: Allow arbitrary-length wrap property names" am: 11780f1ad3
am: c942ae61e9

Change-Id: I06a030f61b15aae3bb971c5f5666c940592f48e0
2017-05-16 21:09:51 +00:00
Treehugger Robot
11780f1ad3 Merge "Zygote: Allow arbitrary-length wrap property names" 2017-05-16 20:49:56 +00:00
Jakub Pawlowski
23105d57d5 Merge "Discover primary service by UUID for PTS tests (4/4)" am: abb732fc40
am: 7e80b882b7

Change-Id: I048c7b1ca915744da1e06e0280be125e7da2b796
2017-05-16 20:40:58 +00:00
Treehugger Robot
abb732fc40 Merge "Discover primary service by UUID for PTS tests (4/4)" 2017-05-16 20:20:19 +00:00
Jakub Pawlowski
fe2bf16a2b Discover primary service by UUID for PTS tests (4/4)
Bug: 38123054
Test: manual
Change-Id: I89e088e60f4325f1ece59d22efda0c907a3b716a
2017-05-16 11:37:00 -07:00
Hugo Benichi
e13c192d0f Merge "Remove unused import in ConnectivityManager" am: db6fc1afe8
am: fe098f8207

Change-Id: I64a2a607769d7194161e7728465c38cabbfa9345
2017-05-16 13:18:33 +00:00
Andreas Gampe
4c88a8c684 Zygote: Allow arbitrary-length wrap property names
The restriction on system property key length has been lifted.
Update the invoke-with code to first check the full-length property.
Then fall back to the truncated version for backwards-compatibility.

Test: m
Test: manual with long package name (Maps)
Change-Id: I9f714af093a6017307cfef18c84de769f0de7c3e
2017-05-15 19:51:29 -07:00
Hugo Benichi
d5ad3e8a0c Remove unused import in ConnectivityManager
This makes the pre-upload verification pass.

Test: no functional change.
Change-Id: I6beccea10ccfcb39d975cb8f6f34fc9d79f1e170
2017-05-16 11:39:08 +09:00
Paul Duffin
19e2a75bf0 Merge "Moved c.a.i.u.Predicate[s] into legacy-test" am: e476a30575
am: 3215c85de9

Change-Id: Ib64efa0332d5f5bdbab99f3271bc058c54bfaa35
2017-05-15 19:19:30 +00:00
Paul Duffin
4455130610 Moved c.a.i.u.Predicate[s] into legacy-test
These classes are only used by android.test classes that are
being removed. As their name suggests they should not be in the
Android API at all so it makes sense to remove them. Especially
as there is java.lang.function.Predicate available now.

It appears as though Predicate was only added in to the API
because it was used by a method in the API as the directory in
which it and Predicates live was not on the list of classes to
explicitly index. Moving it into legacy-test meant that they are
now being indexed explicitly which means that Predicates needs
to be hidden.

Keeps running the tests as part of the existing target.

At runtime apps targeted at the API version before these are
removed will have the legacy-test library automatically added
to their classpath so they should see no effect. Apps that
target a later API will have to include those classes from the
android.legacy.test.jar which will contain all the android.test
classes that depend on it as well.

Bug: 30188076
Test: make checkbuild
Change-Id: Ia8502ec77ac11f85e078d70b68df214a9435eee7
Merged-In: I6f6f5f16fe93bd80227a450c6254166632fc6813
2017-05-15 15:17:48 +01:00
Svetoslav Ganov
b1274a057f Merge "Init MemoryIntArray#mFd with -1" am: d6eaa80590
am: a3f14a1531

Change-Id: Ieba327ed8b18c66906746e34e857e774c181fcf0
2017-05-12 00:22:00 +00:00
Svetoslav Ganov
d6eaa80590 Merge "Init MemoryIntArray#mFd with -1" 2017-05-11 23:34:24 +00:00
Hugo Benichi
164854bde2 Merge changes Ie762ce75,I611fd791 am: 21a57f263f
am: cc9f695ba0

Change-Id: I39dbc3c3c7e69e87e12977fb173379e60c74a3d9
2017-05-11 13:56:22 +00:00
Hugo Benichi
21a57f263f Merge changes Ie762ce75,I611fd791
* changes:
  ConnectivityManager: unit test for argument validation
  ConnectivityManager: uses service error codes and exceptions
2017-05-11 12:31:41 +00:00
Hugo Benichi
cb88323dd2 ConnectivityManager: uses service error codes and exceptions
This patch introduces between ConnectivityManager and
ConnectivityService a mechanism for propagating back to clients
informative errors in the form of error codes and associated custom
runtime exceptions.

Without error code, the service can only throw a limited number of
different exceptions over Binder. Furthermore the throw site stack
traces are always loss. Although for individual instances of a throw,
the error message can be inspected, aggregations of stack traces from
app crashes sanitize error messages and only leaves the stack traces.

This makes debugging dificult for some service calls such as
requestNetwork that can have a variety of failure modes.

In this patch only one failure mode is codified. More can be added later
at a light cost by: 1) defining an error code, 2) defining an
associated exception, 3) mapping the code to the exception. This patch
can serves as a template for doing so.

Test: $ runtest frameworks-net,
      #testNetworkRequestMaximum() detects the new exception type.
Bug:  36556809, 36701874
Change-Id: I611fd7915575c9e418f7149fcdc8a879d2a3716d
2017-05-11 14:15:15 +09:00
Andre Eisenbach
01d1188a8b Merge "Bluetooth: HID: Add support for Set Idle and Get Idle Commands (3/4)" am: 51876abe82
am: 9413fd9e1f

Change-Id: If065f6d25da71238b3788af0ee0854321a905e47
2017-05-11 01:10:49 +00:00
Andre Eisenbach
51876abe82 Merge "Bluetooth: HID: Add support for Set Idle and Get Idle Commands (3/4)" 2017-05-11 00:37:44 +00:00