Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 307c5253 authored by Rubin Xu's avatar Rubin Xu
Browse files

Do not disconnect existing VPN if seamless handover fails

If error happens during establishing of VPN, the cleanup logic tries to
disconnect the partially-created VPN network. At the moment this is not
working during VPN seamless handover since in this case no new network is
created and the existing VPN will be disconnected. Fix by not disconnecting
during the VPN handover case.

Test: cts-tradefed run commandAndExit cts-dev -m CtsHostsideNetworkTests -t com.android.cts.net.HostsideVpnTests
Bug: 110238496
Change-Id: I8cb2ab50596e61b0ac09e89eb1048816f00180d6
parent d32d766a
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1141,7 +1141,11 @@ public class Vpn {
            }
        } catch (RuntimeException e) {
            IoUtils.closeQuietly(tun);
            // If this is not seamless handover, disconnect partially-established network when error
            // occurs.
            if (oldNetworkAgent != mNetworkAgent) {
                agentDisconnect();
            }
            // restore old state
            mConfig = oldConfig;
            mConnection = oldConnection;