Commit b6ff502
Leadaxe
Filter VPN transport from the getActiveNetwork() seed in DefaultNetworkMonitor
start() seeds defaultNetwork from getActiveNetwork(), which returns the
per-app default and may be the app's own VPN when the tun is already up.
LocalResolver then queries DNS through the tun (auto_route) and loops, so
apps under the VPN fail to resolve names.
The async DefaultNetworkListener callback overwrites the seed with the
NOT_VPN-filtered network shortly after, but the synchronous seed is used
for the first resolutions; on ROMs where the tun is up at start() it is the
VPN until the callback corrects it. The request's NOT_VPN capability does
not apply to the direct getActiveNetwork() getter, so filter the VPN
transport from the seed explicitly.1 parent 19c3a58 commit b6ff502
1 file changed
Lines changed: 12 additions & 1 deletion
Lines changed: 12 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
20 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
21 | 28 | | |
22 | 29 | | |
23 | 30 | | |
24 | 31 | | |
25 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
26 | 37 | | |
27 | 38 | | |
28 | 39 | | |
| |||
0 commit comments