improve the code for launching the pdnsd daemon

This commit is contained in:
Nathan Freitas 2016-10-12 16:46:53 -04:00
parent da0fb101f3
commit 330860216a
1 changed files with 19 additions and 18 deletions

View File

@ -41,10 +41,13 @@ import org.torproject.android.service.TorServiceConstants;
import org.torproject.android.service.transproxy.TorifiedApp; import org.torproject.android.service.transproxy.TorifiedApp;
import org.torproject.android.service.util.TorServiceUtils; import org.torproject.android.service.util.TorServiceUtils;
import java.io.BufferedReader;
import java.io.File; import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream; import java.io.PrintStream;
import java.net.InetAddress; import java.net.InetAddress;
import java.util.ArrayList; import java.util.ArrayList;
@ -405,14 +408,26 @@ public class OrbotVpnManager implements Handler.Callback {
ArrayList<String> customEnv = new ArrayList<String>(); ArrayList<String> customEnv = new ArrayList<String>();
String baseDirectory = filePdnsd.getParent(); String baseDirectory = filePdnsd.getParent();
String cmdString = "sh " + filePdnsd.getCanonicalPath() + String[] cmdString = {filePdnsd.getCanonicalPath(),"-c",baseDirectory + "/pdnsd.conf"};
" -c " + baseDirectory + "/pdnsd.conf"; ProcessBuilder pb = new ProcessBuilder(cmdString);
pb.redirectErrorStream(true);
Process proc = Runtime.getRuntime().exec(cmdString); Process proc = pb.start();
try { proc.waitFor();} catch (Exception e){} try { proc.waitFor();} catch (Exception e){}
Log.i(TAG,"PDNSD: " + proc.exitValue()); 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);
}
}
} }
public static void makePdnsdConf(Context context, String dns, int port, File fileDir) throws FileNotFoundException { public static void makePdnsdConf(Context context, String dns, int port, File fileDir) throws FileNotFoundException {
@ -429,20 +444,6 @@ public class OrbotVpnManager implements Handler.Callback {
ps.print(conf); ps.print(conf);
ps.close(); ps.close();
//f.withWriter { out -> out.print conf };
/**
*
server {
label= "upstream";
ip = %s;
port = %d;
uptest = none;
}
*/
File cache = new File(fileDir,"pdnsd.cache"); File cache = new File(fileDir,"pdnsd.cache");
if (!cache.exists()) { if (!cache.exists()) {