[tor-commits] [orbot/master] improve the code for launching the pdnsd daemon

n8fr8 at torproject.org n8fr8 at torproject.org
Thu Oct 13 19:38:51 UTC 2016


commit 330860216a27897aa4c1dd943ea8375af78f889a
Author: Nathan Freitas <nathan at freitas.net>
Date:   Wed Oct 12 16:46:53 2016 -0400

    improve the code for launching the pdnsd daemon
---
 .../android/service/vpn/OrbotVpnManager.java       | 37 +++++++++++-----------
 1 file changed, 19 insertions(+), 18 deletions(-)

diff --git a/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java b/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java
index 5830a85..1b4cca0 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java
@@ -41,10 +41,13 @@ import org.torproject.android.service.TorServiceConstants;
 import org.torproject.android.service.transproxy.TorifiedApp;
 import org.torproject.android.service.util.TorServiceUtils;
 
+import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.io.PrintStream;
 import java.net.InetAddress;
 import java.util.ArrayList;
@@ -405,13 +408,25 @@ public class OrbotVpnManager implements Handler.Callback {
         ArrayList<String> customEnv = new ArrayList<String>();
     	String baseDirectory = filePdnsd.getParent();
 
-        String cmdString = "sh " + filePdnsd.getCanonicalPath() +
-        		" -c " + baseDirectory + "/pdnsd.conf";
-
-		Process proc = Runtime.getRuntime().exec(cmdString);
+        String[] cmdString = {filePdnsd.getCanonicalPath(),"-c",baseDirectory + "/pdnsd.conf"};
+        ProcessBuilder pb = new ProcessBuilder(cmdString);
+        pb.redirectErrorStream(true);
+		Process proc = pb.start();
 		try { proc.waitFor();} catch (Exception e){}
 
         Log.i(TAG,"PDNSD: " + proc.exitValue());
+
+        if (proc.exitValue() != 0)
+        {
+            BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+
+            String line = null;
+            while ((line = br.readLine ()) != null) {
+                Log.d(TAG,"pdnsd: " + line);
+            }
+
+        }
+
         
     }
     
@@ -428,20 +443,6 @@ public class OrbotVpnManager implements Handler.Callback {
     	PrintStream ps = new PrintStream(fos);
     	ps.print(conf);
     	ps.close();
-    	
-        //f.withWriter { out -> out.print conf };
-
-        /**
-		 *
-
-		 server {
-		 label= "upstream";
-		 ip = %s;
-		 port = %d;
-		 uptest = none;
-		 }
-		 */
-
 
         File cache = new File(fileDir,"pdnsd.cache");
 





More information about the tor-commits mailing list