From 96d2889a6c5223173e435a1eae62ecec861384ad Mon Sep 17 00:00:00 2001 From: akwizgran <akwizgran@users.sourceforge.net> Date: Fri, 23 Jun 2017 14:57:00 +0100 Subject: [PATCH] Notify Tor controller if Tor has crashed. --- bramble-android/libs/jtorctl-briar.jar | Bin 21074 -> 20429 bytes patches/jtorctl.patch | 71 ++++++++++++++++++++++++- 2 files changed, 69 insertions(+), 2 deletions(-) diff --git a/bramble-android/libs/jtorctl-briar.jar b/bramble-android/libs/jtorctl-briar.jar index a299bcdb39e4ec965dd35fc56263dabecce069ad..4a65f0b74fd0bb16b91432cd98129cee1283aac6 100644 GIT binary patch delta 16790 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 H*RTHv?g>B+ delta 17380 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 J%kcrp0sx-5z3%`3 diff --git a/patches/jtorctl.patch b/patches/jtorctl.patch index 7d346eff0c..29a4f751af 100644 --- a/patches/jtorctl.patch +++ b/patches/jtorctl.patch @@ -1,3 +1,16 @@ +diff --git a/README.md b/README.md +index 902d727..359cc69 100644 +--- a/README.md ++++ b/README.md +@@ -1,7 +1,4 @@ +- + A Java library for controlling a Tor instance via its control port. It is + used in the Android app Orbot as well as others. + +-To add this library to a gradle project: +- +- compile 'net.freehaven.tor.control:jtorctl:0.2' ++This fork includes patches for managing onion services. diff --git a/net/freehaven/tor/control/TorControlCommands.java b/net/freehaven/tor/control/TorControlCommands.java index 36482d5..14486e3 100644 --- a/net/freehaven/tor/control/TorControlCommands.java @@ -12,10 +25,64 @@ index 36482d5..14486e3 100644 } diff --git a/net/freehaven/tor/control/TorControlConnection.java b/net/freehaven/tor/control/TorControlConnection.java -index 9524612..c0f2070 100644 +index 9524612..eacdd66 100644 --- a/net/freehaven/tor/control/TorControlConnection.java +++ b/net/freehaven/tor/control/TorControlConnection.java -@@ -736,11 +736,111 @@ public class TorControlConnection implements TorControlCommands { +@@ -40,10 +40,14 @@ public class TorControlConnection implements TorControlCommands { + static class Waiter { + + List<ReplyLine> response; // Locking: this ++ boolean interrupted; + + synchronized List<ReplyLine> getResponse() throws InterruptedException { + while (response == null) { + wait(); ++ if (interrupted) { ++ throw new InterruptedException(); ++ } + } + return response; + } +@@ -52,6 +56,11 @@ public class TorControlConnection implements TorControlCommands { + this.response = response; + notifyAll(); + } ++ ++ synchronized void interrupt() { ++ interrupted = true; ++ notifyAll(); ++ } + } + + static class ReplyLine { +@@ -171,7 +180,7 @@ public class TorControlConnection implements TorControlCommands { + + protected synchronized List<ReplyLine> sendAndWaitForResponse(String s, + String rest) throws IOException { +- if(parseThreadException != null) throw parseThreadException; ++ if (parseThreadException != null) throw parseThreadException; + checkThread(); + Waiter w = new Waiter(); + if (debugOutput != null) +@@ -305,8 +314,15 @@ public class TorControlConnection implements TorControlCommands { + while (true) { + ArrayList<ReplyLine> lst = readReply(); + if (lst.isEmpty()) { +- // connection has been closed remotely! end the loop! +- return; ++ // interrupted queued waiters, there won't be any response. ++ synchronized (waiters) { ++ if (!waiters.isEmpty()) { ++ for (Waiter w : waiters) { ++ w.interrupt(); ++ } ++ } ++ } ++ throw new IOException("Tor is no longer running"); + } + if ((lst.get(0)).status.startsWith("6")) + handleEvent(lst); +@@ -736,11 +752,111 @@ public class TorControlConnection implements TorControlCommands { sendAndWaitForResponse("TAKEOWNERSHIP\r\n", null); } -- GitLab