Make DownloadProvider honor the cleartext traffic policy.
authorAlex Klyubin <klyubin@google.com>
Fri, 27 Mar 2015 17:17:55 +0000 (10:17 -0700)
committerAlex Klyubin <klyubin@google.com>
Wed, 1 Apr 2015 18:37:07 +0000 (11:37 -0700)
commitf5c662d5ac2ffc887660ff2957dfe4e1e8abc56a
treebf3ed70565f460a32ffae744d75976c0ca97c5e2
parent5e116a6d63b4f5060041adeeb1bdc2b0585266cd
Make DownloadProvider honor the cleartext traffic policy.

This makes the Provider-side of the DownloadManager framework honor
the per-UID cleartext network traffic policy. The policy is enforced
in the Provider rather than in its client (DownloadManager) because
download URLs could get redirected between HTTPS and HTTP and only
the Provider currently has visibility into and control over this.

Whether cleartext network traffic is permitted is a per-package
policy. However, the DownloadProvider can only access the UID of the
requesting application. Multiple packages can run under the same UID.
In that scenario, cleartext traffic is permited for the UID if
cleartext traffic is permitted for any of the packages running under
the UID. This could be improved by making the DownloadManager provide
the package name in addition to the UID.

Bug: 19215516
Change-Id: Ib37585a7a2fc2869954d52a1b08052926f49bc9b
src/com/android/providers/downloads/DownloadThread.java
src/com/android/providers/downloads/RealSystemFacade.java
src/com/android/providers/downloads/SystemFacade.java
tests/src/com/android/providers/downloads/DownloadProviderFunctionalTest.java
tests/src/com/android/providers/downloads/FakeSystemFacade.java