From 5f39f6aecd3456c18cf54a382e5470f23ca97d49 Mon Sep 17 00:00:00 2001 From: Constantin Papizh <p.const@bk.ru> Date: Fri, 25 Sep 2020 15:19:32 +0300 Subject: [PATCH] Fixed Android denial case --- .../chain/net/srv/vpn/DapStreamChChainNetSrvVpn.cpp | 11 +++++------ .../ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.h | 1 + 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.cpp b/stream/ch/chain/net/srv/vpn/DapStreamChChainNetSrvVpn.cpp index bcaf9486..3362f4b2 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 08af58b7..268476cf 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&); -- GitLab