Webkit PAC processor cannot be created before the user is unlocked,
this is currently causing crashes during boot.
With this CL PacProcessor instantiation is delayed and will happen
only when the user is unlocked either when handling a request or
when PAC script is set.
Instantiation of PacProcessor can take substantial time, on order
of a second.
Bug: 200241231
Test: manual, set PAC proxy and reboot
Change-Id: Id42d857289a0b0f7df5b1c48f94d1b363d94235e
Android's libpac is replaced with WebView implementation.
This will allow to remove V8 which is used only by libpac.
Bug: 165006496
Test: Manual. Remove libpac and v8 from manifest, check there are no
compilation errors.
Test: atest com.android.cts.devicepolicy.DeviceOwnerTest#testProxyPacProxyTest
Change-Id: Id6b9a223c176ce1b2dd7f7c4dd9ee54001dae1a4
Change-Id: If3ee10fcd0306b4b7a3c8b498e877d59398f642a
Add config flag to choose between PacService implementations.
Added flag (config_useWebViewPacProcessor) is disabled
by default for now.
Bug: 148516710
Test: atest DeviceOwnerTest#testProxyPacProxyTest
Change-Id: I5d376a2a37f1bfb7ba5268c0088bf4417434b8f5
There are some design limitations in PacService (one-way aidl calls
from ConnectivityService) that causes it to be racy when PAC proxy are
set and cleared in quick succession. Attempt to mitigate them with the
following changes:
1. Make PacNative a singleton instead of one instance per binder. The
underlying v8 engine is singleton so it makes little sense to have
multiple instances of the PacNative wrapper.
2. Remove the startPacSystem and stopPacSystem API and bind the
PacNative lifecycle to the PacService. Otherwise the one-way
stopPacSystem() binder call could have raced with a next
startPacSystem() call when PAC proxy is cleared and then set.
For this change, startPacSystem() and stopPacSystem() and made no-op
only. They will be fully removed in the next change.
Test: atest --iterations 200 com.android.cts.devicepolicy.DeviceOwnerTest#testProxyPacProxyTest
Bug: 147359729
Change-Id: Ie3ce098167694421f8bd2a6dec85d7c437cfb0be
EDIT
Java and AIDL source files under frameworks/base are now modularized
using filegroup. Each filegroup has 'path' property set to the base
directory of the ssource files. This allows us to not rely on
aidl.[local_]include_dirs and srcs_lib_whitelist_dirs to get the base
directories.
Bug: 70046217
Test: m
Exempt-From-Owner-Approval: Approved internally
Merged-In: I0705ddf76b3c628127f65d75e0a8b06c6c250fe2
(cherry picked from commit b360931bf0)
Change-Id: I0705ddf76b3c628127f65d75e0a8b06c6c250fe2
Do not throw NullPointerException from PacService
since the calling client may not expect it and crash.
Fix of Bug 18818567
Change-Id: Ic36e8a1ca13cdaa7f605b6ade9cc6783517cbf40
This verifies both the URL and host are valid before they are passed to the
javascript for PAC. This is to protect against injection attacks.
Bug: 10230771
Change-Id: Ib1996181971a49ccd390f181ec3848124801e4d5
This switches the PacProcessor over to an Android Service. The service
is bound and unbound by the PacManager, which also adds it to the
ServiceManager, allowing for Context-Free access by the PacProxySelector
in all DVMs.
bug:10182711
Change-Id: Id1ff7660be56e8976cdcccd76e041feb47a17a61