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