disconnection fix
This commit is contained in:
parent
6a9cc9bf37
commit
88d5e9cbc3
2 changed files with 11 additions and 15 deletions
|
|
@ -32,12 +32,12 @@ class OpenVPNThreadv3(var service: VPNService): ClientAPI_OpenVPNClient(), Runna
|
|||
private var mService: VPNService = service
|
||||
|
||||
override fun run() {
|
||||
|
||||
val config: ClientAPI_Config = ClientAPI_Config()
|
||||
config.content = mService.getVpnConfig().getString("openvpn_config_data")
|
||||
|
||||
eval_config(config)
|
||||
|
||||
val status = connect()
|
||||
|
||||
if (status.getError()) {
|
||||
Log.i(tag, "connect() error: " + status.getError() + ": " + status.getMessage())
|
||||
}
|
||||
|
|
@ -109,12 +109,6 @@ class OpenVPNThreadv3(var service: VPNService): ClientAPI_OpenVPNClient(), Runna
|
|||
return true
|
||||
}
|
||||
|
||||
|
||||
fun stopVPN(): Boolean {
|
||||
stop()
|
||||
return false
|
||||
}
|
||||
|
||||
override fun stop() {
|
||||
super.stop()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ class VPNService : android.net.VpnService() {
|
|||
get() {
|
||||
return currentTunnelHandle >= 0
|
||||
}
|
||||
private set(value) {
|
||||
set(value) {
|
||||
if (value) {
|
||||
mBinder.dispatchEvent(VPNServiceBinder.EVENTS.connected, "")
|
||||
mConnectionTime = System.currentTimeMillis()
|
||||
|
|
@ -189,7 +189,7 @@ class VPNService : android.net.VpnService() {
|
|||
Log.v(tag, "Try to disable tunnel")
|
||||
when(mProtocol){
|
||||
"wireguard" -> wgTurnOff(currentTunnelHandle)
|
||||
"openvpn" -> mOpenVPNThreadv3?.stopVPN()
|
||||
"openvpn" -> ovpnTurnOff()
|
||||
else -> {
|
||||
Log.e(tag, "No protocol")
|
||||
}
|
||||
|
|
@ -201,6 +201,12 @@ class VPNService : android.net.VpnService() {
|
|||
stopSelf();
|
||||
}
|
||||
|
||||
|
||||
private fun ovpnTurnOff() {
|
||||
mOpenVPNThreadv3?.stop()
|
||||
mOpenVPNThreadv3 = null
|
||||
Log.e(tag, "mOpenVPNThreadv3?.stop()")
|
||||
}
|
||||
/**
|
||||
* Configures an Android VPN Service Tunnel
|
||||
* with a given Wireguard Config
|
||||
|
|
@ -299,16 +305,12 @@ class VPNService : android.net.VpnService() {
|
|||
}
|
||||
|
||||
private fun startOpenVpn() {
|
||||
mOpenVPNThreadv3 = OpenVPNThreadv3 (this)
|
||||
Thread ({
|
||||
mOpenVPNThreadv3?.run()
|
||||
}).start()
|
||||
}
|
||||
|
||||
fun openvpnConnected(){
|
||||
isUp = true;
|
||||
}
|
||||
|
||||
|
||||
private fun startWireGuard(){
|
||||
val wireguard_conf = buildWireugardConfig(mConfig!!)
|
||||
if (currentTunnelHandle != -1) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue