diff --git a/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.cpp b/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.cpp index bcaf9486392b689abb1355ed7cf0e7c76a5c3537..3362f4b248edb1d846ce3cfe53e1e7554954bca4 100644 --- a/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.cpp +++ b/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.cpp @@ -302,16 +302,15 @@ void ChChainNetSrvVpn::tunCreate() streamer()->upstreamSocket()); #ifdef ANDROID jint tunSocket = 0; - bool l_permGranted = QAndroidJniObject::callStaticMethod<jboolean>("com/demlabs/dapchain/DapChainVpnService", - "checkPermissions", "()Z"); - if (!l_permGranted) { - emit tunError("Invalid socket"); - return; - } for (; tunSocket == 0;) { QThread::msleep(1000); tunSocket = QtAndroid::androidService().callMethod<jint>("getTunSocket"); } + if (tunSocket == -1) { + qCritical() << "Permission denied!"; + emit androidPermissionDenied(); + return; + } qInfo() << "Socket num: " << tunSocket; workerStart(tunSocket); #else diff --git a/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.h b/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.h index 08af58b7c7808d16c1b054b50865679cae69972c..268476cf5237616c2c52423ef3efa6563675be17 100644 --- a/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.h +++ b/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.h @@ -129,6 +129,7 @@ namespace Dap { void tunCreated(); void tunDestroyed(); void tunError(const QString&); + void androidPermissionDenied(); void tunWriteData(); void sendCmdAll(const QString&);