From d2cf5453e2ec138bfe4f55f0224708f93d26146f Mon Sep 17 00:00:00 2001 From: Nathan Freitas Date: Mon, 26 Sep 2016 12:03:30 -0400 Subject: [PATCH] move jni code and VPN logic from app module to service --- app/src/main/AndroidManifest.xml | 12 +++- .../torproject/android/OnBootReceiver.java | 2 +- .../java/org/torproject/android/OrbotApp.java | 23 ++++++- .../torproject/android/OrbotMainActivity.java | 4 +- .../android/settings/SettingsPreferences.java | 2 +- .../org/torproject/android/ui/AppManager.java | 4 +- .../android/ui/OrbotDiagnosticsActivity.java | 3 +- .../android/vpn/VPNEnableActivity.java | 9 +-- .../android/service/StartTorReceiver.java | 2 + .../android/service/TorEventHandler.java | 5 +- .../android/service/TorService.java | 45 +++----------- .../{ => transproxy}/TorTransProxy.java | 7 ++- .../service/{ => transproxy}/TorifiedApp.java | 2 +- .../service/{ => util}/DummyActivity.java | 2 +- .../android/service/{ => util}/Prefs.java | 5 +- .../{ => util}/TorResourceInstaller.java | 6 +- .../service/{ => util}/TorServiceUtils.java | 10 ++- .../android/service/{ => util}/Utils.java | 2 +- .../android/service}/vpn/OrbotVpnManager.java | 35 +++++------ .../android/service/vpn/TorVpnService.java | 62 +++++++++++++++++++ .../android/service}/vpn/Tun2Socks.java | 8 +-- {app => orbotservice}/src/main/jni/Android.mk | 0 .../src/main/jni/Application.mk | 0 .../src/main/jni/libancillary/API | 0 .../src/main/jni/libancillary/COPYING | 0 .../src/main/jni/libancillary/Makefile | 0 .../src/main/jni/libancillary/ancillary.h | 0 .../src/main/jni/libancillary/fd_recv.c | 0 .../src/main/jni/libancillary/fd_send.c | 0 .../src/main/jni/libancillary/test.c | 0 .../src/main/jni/pdnsd/AUTHORS | 0 .../src/main/jni/pdnsd/COPYING | 0 .../src/main/jni/pdnsd/COPYING.BSD | 0 .../src/main/jni/pdnsd/ChangeLog | 0 .../src/main/jni/pdnsd/ChangeLog.old | 0 .../src/main/jni/pdnsd/INSTALL | 0 .../src/main/jni/pdnsd/Makefile.am | 0 .../src/main/jni/pdnsd/Makefile.in | 0 {app => orbotservice}/src/main/jni/pdnsd/NEWS | 0 .../src/main/jni/pdnsd/PKGBUILD.in | 0 .../src/main/jni/pdnsd/README | 0 .../src/main/jni/pdnsd/README.par | 0 .../src/main/jni/pdnsd/README.par.old | 0 .../src/main/jni/pdnsd/THANKS | 0 {app => orbotservice}/src/main/jni/pdnsd/TODO | 0 .../src/main/jni/pdnsd/acconfig.h | 0 .../src/main/jni/pdnsd/aclocal.m4 | 0 .../src/main/jni/pdnsd/compile | 0 .../src/main/jni/pdnsd/config.h | 0 .../src/main/jni/pdnsd/config.h.in | 0 .../src/main/jni/pdnsd/configure | 0 .../src/main/jni/pdnsd/configure.in | 0 .../src/main/jni/pdnsd/contrib/Makefile.am | 0 .../src/main/jni/pdnsd/contrib/Makefile.in | 0 .../src/main/jni/pdnsd/contrib/README | 0 .../pdnsd/contrib/change_pdnsd_server_ip.pl | 0 .../src/main/jni/pdnsd/contrib/dhcp2pdnsd | 0 .../src/main/jni/pdnsd/contrib/pdnsd_dhcp.pl | 0 .../src/main/jni/pdnsd/depcomp | 0 .../src/main/jni/pdnsd/file-list.base.in | 0 .../src/main/jni/pdnsd/install-sh | 0 .../src/main/jni/pdnsd/missing | 0 .../src/main/jni/pdnsd/pdnsd.spec.in | 0 .../src/main/jni/pdnsd/src/Makefile.am | 0 .../src/main/jni/pdnsd/src/Makefile.in | 0 .../src/main/jni/pdnsd/src/cache.c | 0 .../src/main/jni/pdnsd/src/cache.h | 0 .../src/main/jni/pdnsd/src/conf-keywords.h | 0 .../src/main/jni/pdnsd/src/conf-parser.c | 0 .../src/main/jni/pdnsd/src/conf-parser.h | 0 .../src/main/jni/pdnsd/src/conff.c | 0 .../src/main/jni/pdnsd/src/conff.h | 0 .../src/main/jni/pdnsd/src/consts.c | 0 .../src/main/jni/pdnsd/src/consts.h | 0 .../src/main/jni/pdnsd/src/debug.c | 0 .../src/main/jni/pdnsd/src/debug.h | 0 .../src/main/jni/pdnsd/src/dns.c | 0 .../src/main/jni/pdnsd/src/dns.h | 0 .../src/main/jni/pdnsd/src/dns_answer.c | 0 .../src/main/jni/pdnsd/src/dns_answer.h | 0 .../src/main/jni/pdnsd/src/dns_query.c | 0 .../src/main/jni/pdnsd/src/dns_query.h | 0 .../src/main/jni/pdnsd/src/error.c | 0 .../src/main/jni/pdnsd/src/error.h | 0 .../jni/pdnsd/src/freebsd_netinet_ip_icmp.h | 0 .../src/main/jni/pdnsd/src/hash.c | 0 .../src/main/jni/pdnsd/src/hash.h | 0 .../src/main/jni/pdnsd/src/helpers.c | 0 .../src/main/jni/pdnsd/src/helpers.h | 0 .../src/main/jni/pdnsd/src/icmp.c | 0 .../src/main/jni/pdnsd/src/icmp.h | 0 .../src/main/jni/pdnsd/src/ipvers.h | 0 .../src/main/jni/pdnsd/src/list.c | 0 .../src/main/jni/pdnsd/src/list.h | 0 .../src/main/jni/pdnsd/src/main.c | 0 .../src/main/jni/pdnsd/src/make_rr_types_h.pl | 0 .../src/main/jni/pdnsd/src/netdev.c | 0 .../src/main/jni/pdnsd/src/netdev.h | 0 .../main/jni/pdnsd/src/pdnsd-ctl/Makefile.am | 0 .../main/jni/pdnsd/src/pdnsd-ctl/Makefile.in | 0 .../main/jni/pdnsd/src/pdnsd-ctl/pdnsd-ctl.c | 0 .../src/main/jni/pdnsd/src/pdnsd_assert.h | 0 .../jni/pdnsd/src/rc/ArchLinux/Makefile.am | 0 .../jni/pdnsd/src/rc/ArchLinux/Makefile.in | 0 .../main/jni/pdnsd/src/rc/ArchLinux/pdnsd.in | 0 .../main/jni/pdnsd/src/rc/Debian/Makefile.am | 0 .../main/jni/pdnsd/src/rc/Debian/Makefile.in | 0 .../src/main/jni/pdnsd/src/rc/Debian/pdnsd.in | 0 .../src/main/jni/pdnsd/src/rc/Makefile.am | 0 .../src/main/jni/pdnsd/src/rc/Makefile.in | 0 .../src/main/jni/pdnsd/src/rc/README | 0 .../main/jni/pdnsd/src/rc/RedHat/Makefile.am | 0 .../main/jni/pdnsd/src/rc/RedHat/Makefile.in | 0 .../src/main/jni/pdnsd/src/rc/RedHat/pdnsd.in | 0 .../jni/pdnsd/src/rc/Slackware/Makefile.am | 0 .../jni/pdnsd/src/rc/Slackware/Makefile.in | 0 .../jni/pdnsd/src/rc/Slackware/rc.pdnsd.in | 0 .../main/jni/pdnsd/src/rc/SuSE/Makefile.am | 0 .../main/jni/pdnsd/src/rc/SuSE/Makefile.in | 0 .../src/main/jni/pdnsd/src/rc/SuSE/pdnsd.in | 0 .../src/main/jni/pdnsd/src/rr_types.c | 0 .../src/main/jni/pdnsd/src/rr_types.h | 0 .../src/main/jni/pdnsd/src/rr_types.in | 0 .../src/main/jni/pdnsd/src/servers.c | 0 .../src/main/jni/pdnsd/src/servers.h | 0 .../src/main/jni/pdnsd/src/sort_namevalues.pl | 0 .../src/main/jni/pdnsd/src/status.c | 0 .../src/main/jni/pdnsd/src/status.h | 0 .../src/main/jni/pdnsd/src/test/Makefile.am | 0 .../src/main/jni/pdnsd/src/test/Makefile.in | 0 .../src/main/jni/pdnsd/src/test/if_up.c | 0 .../main/jni/pdnsd/src/test/is_local_addr.c | 0 .../src/main/jni/pdnsd/src/test/random.c | 0 .../src/main/jni/pdnsd/src/test/tping.c | 0 .../src/main/jni/pdnsd/src/thread.c | 0 .../src/main/jni/pdnsd/src/thread.h | 0 .../src/main/jni/pdnsd/version | 0 137 files changed, 152 insertions(+), 98 deletions(-) rename orbotservice/src/main/java/org/torproject/android/service/{ => transproxy}/TorTransProxy.java (98%) rename orbotservice/src/main/java/org/torproject/android/service/{ => transproxy}/TorifiedApp.java (97%) rename orbotservice/src/main/java/org/torproject/android/service/{ => util}/DummyActivity.java (84%) rename orbotservice/src/main/java/org/torproject/android/service/{ => util}/Prefs.java (97%) rename orbotservice/src/main/java/org/torproject/android/service/{ => util}/TorResourceInstaller.java (98%) rename orbotservice/src/main/java/org/torproject/android/service/{ => util}/TorServiceUtils.java (96%) rename orbotservice/src/main/java/org/torproject/android/service/{ => util}/Utils.java (97%) rename {app/src/main/java/org/torproject/android => orbotservice/src/main/java/org/torproject/android/service}/vpn/OrbotVpnManager.java (97%) create mode 100644 orbotservice/src/main/java/org/torproject/android/service/vpn/TorVpnService.java rename {app/src/main/java/org/torproject/android => orbotservice/src/main/java/org/torproject/android/service}/vpn/Tun2Socks.java (98%) rename {app => orbotservice}/src/main/jni/Android.mk (100%) rename {app => orbotservice}/src/main/jni/Application.mk (100%) rename {app => orbotservice}/src/main/jni/libancillary/API (100%) rename {app => orbotservice}/src/main/jni/libancillary/COPYING (100%) rename {app => orbotservice}/src/main/jni/libancillary/Makefile (100%) rename {app => orbotservice}/src/main/jni/libancillary/ancillary.h (100%) rename {app => orbotservice}/src/main/jni/libancillary/fd_recv.c (100%) rename {app => orbotservice}/src/main/jni/libancillary/fd_send.c (100%) rename {app => orbotservice}/src/main/jni/libancillary/test.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/AUTHORS (100%) rename {app => orbotservice}/src/main/jni/pdnsd/COPYING (100%) rename {app => orbotservice}/src/main/jni/pdnsd/COPYING.BSD (100%) rename {app => orbotservice}/src/main/jni/pdnsd/ChangeLog (100%) rename {app => orbotservice}/src/main/jni/pdnsd/ChangeLog.old (100%) rename {app => orbotservice}/src/main/jni/pdnsd/INSTALL (100%) rename {app => orbotservice}/src/main/jni/pdnsd/Makefile.am (100%) rename {app => orbotservice}/src/main/jni/pdnsd/Makefile.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/NEWS (100%) rename {app => orbotservice}/src/main/jni/pdnsd/PKGBUILD.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/README (100%) rename {app => orbotservice}/src/main/jni/pdnsd/README.par (100%) rename {app => orbotservice}/src/main/jni/pdnsd/README.par.old (100%) rename {app => orbotservice}/src/main/jni/pdnsd/THANKS (100%) rename {app => orbotservice}/src/main/jni/pdnsd/TODO (100%) rename {app => orbotservice}/src/main/jni/pdnsd/acconfig.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/aclocal.m4 (100%) rename {app => orbotservice}/src/main/jni/pdnsd/compile (100%) rename {app => orbotservice}/src/main/jni/pdnsd/config.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/config.h.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/configure (100%) rename {app => orbotservice}/src/main/jni/pdnsd/configure.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/contrib/Makefile.am (100%) rename {app => orbotservice}/src/main/jni/pdnsd/contrib/Makefile.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/contrib/README (100%) rename {app => orbotservice}/src/main/jni/pdnsd/contrib/change_pdnsd_server_ip.pl (100%) rename {app => orbotservice}/src/main/jni/pdnsd/contrib/dhcp2pdnsd (100%) rename {app => orbotservice}/src/main/jni/pdnsd/contrib/pdnsd_dhcp.pl (100%) rename {app => orbotservice}/src/main/jni/pdnsd/depcomp (100%) rename {app => orbotservice}/src/main/jni/pdnsd/file-list.base.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/install-sh (100%) rename {app => orbotservice}/src/main/jni/pdnsd/missing (100%) rename {app => orbotservice}/src/main/jni/pdnsd/pdnsd.spec.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/Makefile.am (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/Makefile.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/cache.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/cache.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/conf-keywords.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/conf-parser.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/conf-parser.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/conff.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/conff.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/consts.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/consts.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/debug.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/debug.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/dns.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/dns.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/dns_answer.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/dns_answer.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/dns_query.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/dns_query.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/error.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/error.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/freebsd_netinet_ip_icmp.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/hash.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/hash.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/helpers.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/helpers.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/icmp.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/icmp.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/ipvers.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/list.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/list.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/main.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/make_rr_types_h.pl (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/netdev.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/netdev.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/pdnsd-ctl/Makefile.am (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/pdnsd-ctl/Makefile.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/pdnsd-ctl/pdnsd-ctl.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/pdnsd_assert.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/ArchLinux/Makefile.am (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/ArchLinux/Makefile.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/ArchLinux/pdnsd.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/Debian/Makefile.am (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/Debian/Makefile.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/Debian/pdnsd.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/Makefile.am (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/Makefile.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/README (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/RedHat/Makefile.am (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/RedHat/Makefile.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/RedHat/pdnsd.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/Slackware/Makefile.am (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/Slackware/Makefile.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/Slackware/rc.pdnsd.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/SuSE/Makefile.am (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/SuSE/Makefile.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rc/SuSE/pdnsd.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rr_types.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rr_types.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/rr_types.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/servers.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/servers.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/sort_namevalues.pl (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/status.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/status.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/test/Makefile.am (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/test/Makefile.in (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/test/if_up.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/test/is_local_addr.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/test/random.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/test/tping.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/thread.c (100%) rename {app => orbotservice}/src/main/jni/pdnsd/src/thread.h (100%) rename {app => orbotservice}/src/main/jni/pdnsd/version (100%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 038ee1e0..25707376 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -63,7 +63,7 @@ This is for ensuring the background service still runs when/if the app is swiped away --> + + + + + + + diff --git a/app/src/main/java/org/torproject/android/OnBootReceiver.java b/app/src/main/java/org/torproject/android/OnBootReceiver.java index 7b77c0bb..91d6beba 100644 --- a/app/src/main/java/org/torproject/android/OnBootReceiver.java +++ b/app/src/main/java/org/torproject/android/OnBootReceiver.java @@ -5,7 +5,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import org.torproject.android.service.Prefs; +import org.torproject.android.service.util.Prefs; import org.torproject.android.service.TorService; import org.torproject.android.service.TorServiceConstants; import org.torproject.android.vpn.VPNEnableActivity; diff --git a/app/src/main/java/org/torproject/android/OrbotApp.java b/app/src/main/java/org/torproject/android/OrbotApp.java index b5ee1920..3b1593f3 100644 --- a/app/src/main/java/org/torproject/android/OrbotApp.java +++ b/app/src/main/java/org/torproject/android/OrbotApp.java @@ -1,19 +1,20 @@ package org.torproject.android; +import android.annotation.TargetApi; import android.app.Activity; import android.app.Application; import android.content.Intent; import android.content.res.Configuration; +import android.net.VpnService; +import android.os.Build; import android.util.Log; import org.torproject.android.service.OrbotConstants; -import org.torproject.android.service.Prefs; -import org.torproject.android.service.TorServiceConstants; +import org.torproject.android.service.util.Prefs; import org.torproject.android.settings.Languages; -import java.io.File; import java.util.Locale; public class OrbotApp extends Application implements OrbotConstants @@ -21,6 +22,7 @@ public class OrbotApp extends Application implements OrbotConstants private Locale locale; + private OrbotVpnManager mVpnManager = null; @Override public void onCreate() { @@ -33,6 +35,21 @@ public class OrbotApp extends Application implements OrbotConstants } + @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) + public boolean startVPN (VpnService service, int port) + { + + mVpnManager = new OrbotVpnManager(service); + + Intent intent = new Intent(); + intent.setAction("start"); + intent.putExtra("torSocks", port); + + // mVpnManager.handleIntent(new VpnService.Builder(),intent); + + return true; + } + @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); diff --git a/app/src/main/java/org/torproject/android/OrbotMainActivity.java b/app/src/main/java/org/torproject/android/OrbotMainActivity.java index c06b7dab..c243c672 100644 --- a/app/src/main/java/org/torproject/android/OrbotMainActivity.java +++ b/app/src/main/java/org/torproject/android/OrbotMainActivity.java @@ -17,10 +17,10 @@ import java.util.StringTokenizer; import org.json.JSONArray; import org.torproject.android.service.OrbotConstants; -import org.torproject.android.service.Prefs; +import org.torproject.android.service.util.Prefs; import org.torproject.android.service.TorService; import org.torproject.android.service.TorServiceConstants; -import org.torproject.android.service.TorServiceUtils; +import org.torproject.android.service.util.TorServiceUtils; import org.torproject.android.settings.SettingsPreferences; import org.torproject.android.ui.ImageProgressView; import org.torproject.android.ui.PromoAppsActivity; diff --git a/app/src/main/java/org/torproject/android/settings/SettingsPreferences.java b/app/src/main/java/org/torproject/android/settings/SettingsPreferences.java index c26580f9..00fd251f 100644 --- a/app/src/main/java/org/torproject/android/settings/SettingsPreferences.java +++ b/app/src/main/java/org/torproject/android/settings/SettingsPreferences.java @@ -19,7 +19,7 @@ import android.preference.PreferenceActivity; import org.torproject.android.OrbotApp; import org.torproject.android.R; import org.torproject.android.ui.AppManager; -import org.torproject.android.service.TorServiceUtils; +import org.torproject.android.service.util.TorServiceUtils; import java.util.Locale; diff --git a/app/src/main/java/org/torproject/android/ui/AppManager.java b/app/src/main/java/org/torproject/android/ui/AppManager.java index 7a1faa1c..82a20b3c 100644 --- a/app/src/main/java/org/torproject/android/ui/AppManager.java +++ b/app/src/main/java/org/torproject/android/ui/AppManager.java @@ -12,8 +12,8 @@ import java.util.StringTokenizer; import org.torproject.android.service.OrbotConstants; import org.torproject.android.R; -import org.torproject.android.service.TorServiceUtils; -import org.torproject.android.service.TorifiedApp; +import org.torproject.android.service.util.TorServiceUtils; +import org.torproject.android.service.transproxy.TorifiedApp; import android.app.Activity; import android.content.Context; diff --git a/app/src/main/java/org/torproject/android/ui/OrbotDiagnosticsActivity.java b/app/src/main/java/org/torproject/android/ui/OrbotDiagnosticsActivity.java index 061e1ead..63c54378 100644 --- a/app/src/main/java/org/torproject/android/ui/OrbotDiagnosticsActivity.java +++ b/app/src/main/java/org/torproject/android/ui/OrbotDiagnosticsActivity.java @@ -5,10 +5,9 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; -import java.util.ArrayList; import org.torproject.android.R; -import org.torproject.android.service.TorResourceInstaller; +import org.torproject.android.service.util.TorResourceInstaller; import org.torproject.android.service.TorServiceConstants; import android.app.Activity; diff --git a/app/src/main/java/org/torproject/android/vpn/VPNEnableActivity.java b/app/src/main/java/org/torproject/android/vpn/VPNEnableActivity.java index 427c9377..6bbae302 100644 --- a/app/src/main/java/org/torproject/android/vpn/VPNEnableActivity.java +++ b/app/src/main/java/org/torproject/android/vpn/VPNEnableActivity.java @@ -1,7 +1,7 @@ package org.torproject.android.vpn; import org.torproject.android.R; -import org.torproject.android.service.Prefs; +import org.torproject.android.service.util.Prefs; import org.torproject.android.service.TorService; import org.torproject.android.service.TorServiceConstants; @@ -12,15 +12,10 @@ import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.net.VpnService; -import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.util.Log; -import android.view.LayoutInflater; -import android.view.View; import android.view.Window; -import android.view.WindowManager; -import android.widget.TextView; /* * To combat background service being stopped/swiped @@ -161,6 +156,8 @@ public class VPNEnableActivity extends Activity { Intent torService = new Intent(this, TorService.class); torService.setAction(action); startService(torService); + + } } diff --git a/orbotservice/src/main/java/org/torproject/android/service/StartTorReceiver.java b/orbotservice/src/main/java/org/torproject/android/service/StartTorReceiver.java index 22e703aa..2b0ebf89 100644 --- a/orbotservice/src/main/java/org/torproject/android/service/StartTorReceiver.java +++ b/orbotservice/src/main/java/org/torproject/android/service/StartTorReceiver.java @@ -6,6 +6,8 @@ import android.content.Context; import android.content.Intent; import android.text.TextUtils; +import org.torproject.android.service.util.Prefs; + public class StartTorReceiver extends BroadcastReceiver implements TorServiceConstants { diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorEventHandler.java b/orbotservice/src/main/java/org/torproject/android/service/TorEventHandler.java index 2af74c8b..f6aa3154 100644 --- a/orbotservice/src/main/java/org/torproject/android/service/TorEventHandler.java +++ b/orbotservice/src/main/java/org/torproject/android/service/TorEventHandler.java @@ -19,11 +19,8 @@ import java.util.Locale; import java.util.StringTokenizer; -import org.json.JSONArray; -import org.json.JSONObject; -import org.torproject.android.control.ConfigEntry; import org.torproject.android.control.EventHandler; -import org.torproject.android.control.TorControlConnection; +import org.torproject.android.service.util.Prefs; /** * Created by n8fr8 on 9/25/16. diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorService.java b/orbotservice/src/main/java/org/torproject/android/service/TorService.java index 6a0b6ac9..452e094f 100644 --- a/orbotservice/src/main/java/org/torproject/android/service/TorService.java +++ b/orbotservice/src/main/java/org/torproject/android/service/TorService.java @@ -22,8 +22,6 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.net.ConnectivityManager; import android.net.NetworkInfo; @@ -35,11 +33,15 @@ import android.text.TextUtils; import android.util.Log; import android.widget.RemoteViews; -import org.json.JSONArray; -import org.json.JSONObject; import org.torproject.android.control.ConfigEntry; -import org.torproject.android.control.EventHandler; import org.torproject.android.control.TorControlConnection; +import org.torproject.android.service.transproxy.TorTransProxy; +import org.torproject.android.service.transproxy.TorifiedApp; +import org.torproject.android.service.util.DummyActivity; +import org.torproject.android.service.util.Prefs; +import org.torproject.android.service.util.TorResourceInstaller; +import org.torproject.android.service.util.TorServiceUtils; +import org.torproject.android.service.util.Utils; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; @@ -50,27 +52,15 @@ import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; import java.io.PrintStream; import java.io.PrintWriter; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.Proxy; import java.net.Socket; -import java.net.URL; -import java.net.URLConnection; import java.text.Normalizer; -import java.text.NumberFormat; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; import java.util.Iterator; import java.util.List; -import java.util.Locale; import java.util.Properties; -import java.util.Queue; import java.util.Set; import java.util.StringTokenizer; import java.util.concurrent.ExecutorService; @@ -121,8 +111,6 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon TorEventHandler mEventHandler; - // private OrbotVpnManager mVpnManager; - public static File appBinHome; public static File appCacheHome; @@ -1190,25 +1178,6 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon return mPortSOCKS; } - @TargetApi(14) - public void enableVpnProxy () { - debug ("enabling VPN Proxy"); - - Prefs.putUseVpn(true); - processTransparentProxying(); - - updateConfiguration("DNSPort",TOR_VPN_DNS_LISTEN_ADDRESS + ":" + TorServiceConstants.TOR_DNS_PORT_DEFAULT,false); - - // if (mVpnManager == null) - // mVpnManager = new OrbotVpnManager (this); - - Intent intent = new Intent(); - intent.setAction("start"); - intent.putExtra("torSocks", mPortSOCKS); - - // mVpnManager.handleIntent(new Builder(),intent); - - } @TargetApi(14) public void clearVpnProxy () diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorTransProxy.java b/orbotservice/src/main/java/org/torproject/android/service/transproxy/TorTransProxy.java similarity index 98% rename from orbotservice/src/main/java/org/torproject/android/service/TorTransProxy.java rename to orbotservice/src/main/java/org/torproject/android/service/transproxy/TorTransProxy.java index 86c872a9..2aeb58dc 100644 --- a/orbotservice/src/main/java/org/torproject/android/service/TorTransProxy.java +++ b/orbotservice/src/main/java/org/torproject/android/service/transproxy/TorTransProxy.java @@ -1,4 +1,4 @@ -package org.torproject.android.service; +package org.torproject.android.service.transproxy; import java.io.File; import java.util.ArrayList; @@ -14,6 +14,11 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import org.torproject.android.service.OrbotConstants; +import org.torproject.android.service.util.Prefs; +import org.torproject.android.service.TorService; +import org.torproject.android.service.TorServiceConstants; + public class TorTransProxy implements TorServiceConstants { private String mSysIptables = null; diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorifiedApp.java b/orbotservice/src/main/java/org/torproject/android/service/transproxy/TorifiedApp.java similarity index 97% rename from orbotservice/src/main/java/org/torproject/android/service/TorifiedApp.java rename to orbotservice/src/main/java/org/torproject/android/service/transproxy/TorifiedApp.java index bcadbae0..1ca5a125 100644 --- a/orbotservice/src/main/java/org/torproject/android/service/TorifiedApp.java +++ b/orbotservice/src/main/java/org/torproject/android/service/transproxy/TorifiedApp.java @@ -1,4 +1,4 @@ -package org.torproject.android.service; +package org.torproject.android.service.transproxy; import android.graphics.drawable.Drawable; diff --git a/orbotservice/src/main/java/org/torproject/android/service/DummyActivity.java b/orbotservice/src/main/java/org/torproject/android/service/util/DummyActivity.java similarity index 84% rename from orbotservice/src/main/java/org/torproject/android/service/DummyActivity.java rename to orbotservice/src/main/java/org/torproject/android/service/util/DummyActivity.java index 5400ba4f..20804b95 100644 --- a/orbotservice/src/main/java/org/torproject/android/service/DummyActivity.java +++ b/orbotservice/src/main/java/org/torproject/android/service/util/DummyActivity.java @@ -1,4 +1,4 @@ -package org.torproject.android.service; +package org.torproject.android.service.util; import android.app.Activity; import android.os.Bundle; diff --git a/orbotservice/src/main/java/org/torproject/android/service/Prefs.java b/orbotservice/src/main/java/org/torproject/android/service/util/Prefs.java similarity index 97% rename from orbotservice/src/main/java/org/torproject/android/service/Prefs.java rename to orbotservice/src/main/java/org/torproject/android/service/util/Prefs.java index 4b9ea3d7..38f2399c 100644 --- a/orbotservice/src/main/java/org/torproject/android/service/Prefs.java +++ b/orbotservice/src/main/java/org/torproject/android/service/util/Prefs.java @@ -1,11 +1,8 @@ -package org.torproject.android.service; +package org.torproject.android.service.util; import android.content.Context; import android.content.SharedPreferences; -import android.text.TextUtils; - -import org.torproject.android.service.TorServiceUtils; import java.util.Locale; diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorResourceInstaller.java b/orbotservice/src/main/java/org/torproject/android/service/util/TorResourceInstaller.java similarity index 98% rename from orbotservice/src/main/java/org/torproject/android/service/TorResourceInstaller.java rename to orbotservice/src/main/java/org/torproject/android/service/util/TorResourceInstaller.java index f3683261..36369aac 100644 --- a/orbotservice/src/main/java/org/torproject/android/service/TorResourceInstaller.java +++ b/orbotservice/src/main/java/org/torproject/android/service/util/TorResourceInstaller.java @@ -1,7 +1,7 @@ /* Copyright (c) 2009, Nathan Freitas, Orbot / The Guardian Project - http://openideals.com/guardian */ /* See LICENSE for licensing information */ -package org.torproject.android.service; +package org.torproject.android.service.util; import java.io.DataInputStream; import java.io.DataOutputStream; @@ -22,6 +22,10 @@ import android.content.Context; import android.os.Build; import android.util.Log; +import org.torproject.android.service.OrbotConstants; +import org.torproject.android.service.R; +import org.torproject.android.service.TorServiceConstants; + public class TorResourceInstaller implements TorServiceConstants { diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorServiceUtils.java b/orbotservice/src/main/java/org/torproject/android/service/util/TorServiceUtils.java similarity index 96% rename from orbotservice/src/main/java/org/torproject/android/service/TorServiceUtils.java rename to orbotservice/src/main/java/org/torproject/android/service/util/TorServiceUtils.java index fc48faa5..9fa8bb80 100644 --- a/orbotservice/src/main/java/org/torproject/android/service/TorServiceUtils.java +++ b/orbotservice/src/main/java/org/torproject/android/service/util/TorServiceUtils.java @@ -1,23 +1,21 @@ /* Copyright (c) 2009, Nathan Freitas, Orbot / The Guardian Project - http://openideals.com/guardian */ /* See LICENSE for licensing information */ -package org.torproject.android.service; +package org.torproject.android.service.util; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; -import java.io.OutputStreamWriter; import java.net.ConnectException; import java.net.InetSocketAddress; import java.net.Socket; -import java.util.StringTokenizer; -import android.annotation.SuppressLint; -import android.annotation.TargetApi; import android.content.Context; import android.content.SharedPreferences; import android.os.Build; -import android.util.Log; + +import org.torproject.android.service.OrbotConstants; +import org.torproject.android.service.TorServiceConstants; public class TorServiceUtils implements TorServiceConstants { diff --git a/orbotservice/src/main/java/org/torproject/android/service/Utils.java b/orbotservice/src/main/java/org/torproject/android/service/util/Utils.java similarity index 97% rename from orbotservice/src/main/java/org/torproject/android/service/Utils.java rename to orbotservice/src/main/java/org/torproject/android/service/util/Utils.java index a89e03fe..0fac4019 100644 --- a/orbotservice/src/main/java/org/torproject/android/service/Utils.java +++ b/orbotservice/src/main/java/org/torproject/android/service/util/Utils.java @@ -2,7 +2,7 @@ /* See LICENSE for licensing information */ -package org.torproject.android.service; +package org.torproject.android.service.util; import java.io.BufferedReader; import java.io.File; diff --git a/app/src/main/java/org/torproject/android/vpn/OrbotVpnManager.java b/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java similarity index 97% rename from app/src/main/java/org/torproject/android/vpn/OrbotVpnManager.java rename to orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java index 8a5ac7e3..b4aad92a 100644 --- a/app/src/main/java/org/torproject/android/vpn/OrbotVpnManager.java +++ b/orbotservice/src/main/java/org/torproject/android/service/vpn/OrbotVpnManager.java @@ -14,27 +14,9 @@ * limitations under the License. */ -package org.torproject.android.vpn; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.PrintStream; -import java.net.InetAddress; -import java.util.ArrayList; -import java.util.concurrent.TimeoutException; - -import org.torproject.android.OrbotApp; -import org.torproject.android.R; -import org.torproject.android.service.TorService; -import org.torproject.android.service.TorServiceConstants; -import org.torproject.android.service.TorServiceUtils; -import org.torproject.android.service.TorifiedApp; -import org.torproject.android.ui.AppManager; +package org.torproject.android.service.vpn; import android.annotation.TargetApi; -import android.app.Application; import android.app.PendingIntent; import android.app.Service; import android.content.Context; @@ -53,6 +35,21 @@ import android.widget.Toast; import com.runjva.sourceforge.jsocks.protocol.ProxyServer; import com.runjva.sourceforge.jsocks.server.ServerAuthenticatorNone; +import org.torproject.android.R; +import org.torproject.android.service.TorServiceConstants; +import org.torproject.android.service.transproxy.TorifiedApp; +import org.torproject.android.service.util.TorServiceUtils; +import org.torproject.android.ui.AppManager; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintStream; +import java.net.InetAddress; +import java.util.ArrayList; +import java.util.concurrent.TimeoutException; + @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) public class OrbotVpnManager implements Handler.Callback { private static final String TAG = "OrbotVpnService"; diff --git a/orbotservice/src/main/java/org/torproject/android/service/vpn/TorVpnService.java b/orbotservice/src/main/java/org/torproject/android/service/vpn/TorVpnService.java new file mode 100644 index 00000000..1bd81738 --- /dev/null +++ b/orbotservice/src/main/java/org/torproject/android/service/vpn/TorVpnService.java @@ -0,0 +1,62 @@ +package org.torproject.android.service.vpn; + +import android.annotation.TargetApi; +import android.app.Service; +import android.content.Intent; +import android.net.VpnService; +import android.os.Build; +import android.text.TextUtils; +import android.util.Log; + +import org.torproject.android.service.OrbotConstants; +import org.torproject.android.service.TorServiceConstants; +import org.torproject.android.service.util.Prefs; + +/** + * Created by n8fr8 on 9/26/16. + */ +@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) +public class TorVpnService extends VpnService { + + + + /* (non-Javadoc) + * @see android.app.Service#onStart(android.content.Intent, int) + */ + public int onStartCommand(Intent intent, int flags, int startId) { + + + + if (!TextUtils.isEmpty(intent.getAction())) + { + if (intent.getAction().equals("start")) + enableVpnProxy();; + } + + return Service.START_STICKY; + } + + + public void enableVpnProxy () { + // debug ("enabling VPN Proxy"); + + OrbotVpnManager vpnManager = new OrbotVpnManager(this); + + int portSocks = 9050; + + Prefs.putUseVpn(true); + // processTransparentProxying(); + + //updateConfiguration("DNSPort",TOR_VPN_DNS_LISTEN_ADDRESS + ":" + TorServiceConstants.TOR_DNS_PORT_DEFAULT,false); + + // if (mVpnManager == null) + // mVpnManager = new OrbotVpnManager (this); + + Intent intent = new Intent(); + intent.setAction("start"); + intent.putExtra("torSocks", portSocks); + + vpnManager.handleIntent(new Builder(),intent); + + } +} diff --git a/app/src/main/java/org/torproject/android/vpn/Tun2Socks.java b/orbotservice/src/main/java/org/torproject/android/service/vpn/Tun2Socks.java similarity index 98% rename from app/src/main/java/org/torproject/android/vpn/Tun2Socks.java rename to orbotservice/src/main/java/org/torproject/android/service/vpn/Tun2Socks.java index a7c638e9..6f61bb4e 100644 --- a/app/src/main/java/org/torproject/android/vpn/Tun2Socks.java +++ b/orbotservice/src/main/java/org/torproject/android/service/vpn/Tun2Socks.java @@ -1,4 +1,4 @@ -package org.torproject.android.vpn; +package org.torproject.android.service.vpn; /* * Copyright (c) 2013, Psiphon Inc. @@ -19,14 +19,14 @@ package org.torproject.android.vpn; * */ -import java.net.DatagramSocket; -import java.net.Socket; - import android.annotation.TargetApi; import android.os.Build; import android.os.ParcelFileDescriptor; import android.util.Log; +import java.net.DatagramSocket; +import java.net.Socket; + @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1) public class Tun2Socks { diff --git a/app/src/main/jni/Android.mk b/orbotservice/src/main/jni/Android.mk similarity index 100% rename from app/src/main/jni/Android.mk rename to orbotservice/src/main/jni/Android.mk diff --git a/app/src/main/jni/Application.mk b/orbotservice/src/main/jni/Application.mk similarity index 100% rename from app/src/main/jni/Application.mk rename to orbotservice/src/main/jni/Application.mk diff --git a/app/src/main/jni/libancillary/API b/orbotservice/src/main/jni/libancillary/API similarity index 100% rename from app/src/main/jni/libancillary/API rename to orbotservice/src/main/jni/libancillary/API diff --git a/app/src/main/jni/libancillary/COPYING b/orbotservice/src/main/jni/libancillary/COPYING similarity index 100% rename from app/src/main/jni/libancillary/COPYING rename to orbotservice/src/main/jni/libancillary/COPYING diff --git a/app/src/main/jni/libancillary/Makefile b/orbotservice/src/main/jni/libancillary/Makefile similarity index 100% rename from app/src/main/jni/libancillary/Makefile rename to orbotservice/src/main/jni/libancillary/Makefile diff --git a/app/src/main/jni/libancillary/ancillary.h b/orbotservice/src/main/jni/libancillary/ancillary.h similarity index 100% rename from app/src/main/jni/libancillary/ancillary.h rename to orbotservice/src/main/jni/libancillary/ancillary.h diff --git a/app/src/main/jni/libancillary/fd_recv.c b/orbotservice/src/main/jni/libancillary/fd_recv.c similarity index 100% rename from app/src/main/jni/libancillary/fd_recv.c rename to orbotservice/src/main/jni/libancillary/fd_recv.c diff --git a/app/src/main/jni/libancillary/fd_send.c b/orbotservice/src/main/jni/libancillary/fd_send.c similarity index 100% rename from app/src/main/jni/libancillary/fd_send.c rename to orbotservice/src/main/jni/libancillary/fd_send.c diff --git a/app/src/main/jni/libancillary/test.c b/orbotservice/src/main/jni/libancillary/test.c similarity index 100% rename from app/src/main/jni/libancillary/test.c rename to orbotservice/src/main/jni/libancillary/test.c diff --git a/app/src/main/jni/pdnsd/AUTHORS b/orbotservice/src/main/jni/pdnsd/AUTHORS similarity index 100% rename from app/src/main/jni/pdnsd/AUTHORS rename to orbotservice/src/main/jni/pdnsd/AUTHORS diff --git a/app/src/main/jni/pdnsd/COPYING b/orbotservice/src/main/jni/pdnsd/COPYING similarity index 100% rename from app/src/main/jni/pdnsd/COPYING rename to orbotservice/src/main/jni/pdnsd/COPYING diff --git a/app/src/main/jni/pdnsd/COPYING.BSD b/orbotservice/src/main/jni/pdnsd/COPYING.BSD similarity index 100% rename from app/src/main/jni/pdnsd/COPYING.BSD rename to orbotservice/src/main/jni/pdnsd/COPYING.BSD diff --git a/app/src/main/jni/pdnsd/ChangeLog b/orbotservice/src/main/jni/pdnsd/ChangeLog similarity index 100% rename from app/src/main/jni/pdnsd/ChangeLog rename to orbotservice/src/main/jni/pdnsd/ChangeLog diff --git a/app/src/main/jni/pdnsd/ChangeLog.old b/orbotservice/src/main/jni/pdnsd/ChangeLog.old similarity index 100% rename from app/src/main/jni/pdnsd/ChangeLog.old rename to orbotservice/src/main/jni/pdnsd/ChangeLog.old diff --git a/app/src/main/jni/pdnsd/INSTALL b/orbotservice/src/main/jni/pdnsd/INSTALL similarity index 100% rename from app/src/main/jni/pdnsd/INSTALL rename to orbotservice/src/main/jni/pdnsd/INSTALL diff --git a/app/src/main/jni/pdnsd/Makefile.am b/orbotservice/src/main/jni/pdnsd/Makefile.am similarity index 100% rename from app/src/main/jni/pdnsd/Makefile.am rename to orbotservice/src/main/jni/pdnsd/Makefile.am diff --git a/app/src/main/jni/pdnsd/Makefile.in b/orbotservice/src/main/jni/pdnsd/Makefile.in similarity index 100% rename from app/src/main/jni/pdnsd/Makefile.in rename to orbotservice/src/main/jni/pdnsd/Makefile.in diff --git a/app/src/main/jni/pdnsd/NEWS b/orbotservice/src/main/jni/pdnsd/NEWS similarity index 100% rename from app/src/main/jni/pdnsd/NEWS rename to orbotservice/src/main/jni/pdnsd/NEWS diff --git a/app/src/main/jni/pdnsd/PKGBUILD.in b/orbotservice/src/main/jni/pdnsd/PKGBUILD.in similarity index 100% rename from app/src/main/jni/pdnsd/PKGBUILD.in rename to orbotservice/src/main/jni/pdnsd/PKGBUILD.in diff --git a/app/src/main/jni/pdnsd/README b/orbotservice/src/main/jni/pdnsd/README similarity index 100% rename from app/src/main/jni/pdnsd/README rename to orbotservice/src/main/jni/pdnsd/README diff --git a/app/src/main/jni/pdnsd/README.par b/orbotservice/src/main/jni/pdnsd/README.par similarity index 100% rename from app/src/main/jni/pdnsd/README.par rename to orbotservice/src/main/jni/pdnsd/README.par diff --git a/app/src/main/jni/pdnsd/README.par.old b/orbotservice/src/main/jni/pdnsd/README.par.old similarity index 100% rename from app/src/main/jni/pdnsd/README.par.old rename to orbotservice/src/main/jni/pdnsd/README.par.old diff --git a/app/src/main/jni/pdnsd/THANKS b/orbotservice/src/main/jni/pdnsd/THANKS similarity index 100% rename from app/src/main/jni/pdnsd/THANKS rename to orbotservice/src/main/jni/pdnsd/THANKS diff --git a/app/src/main/jni/pdnsd/TODO b/orbotservice/src/main/jni/pdnsd/TODO similarity index 100% rename from app/src/main/jni/pdnsd/TODO rename to orbotservice/src/main/jni/pdnsd/TODO diff --git a/app/src/main/jni/pdnsd/acconfig.h b/orbotservice/src/main/jni/pdnsd/acconfig.h similarity index 100% rename from app/src/main/jni/pdnsd/acconfig.h rename to orbotservice/src/main/jni/pdnsd/acconfig.h diff --git a/app/src/main/jni/pdnsd/aclocal.m4 b/orbotservice/src/main/jni/pdnsd/aclocal.m4 similarity index 100% rename from app/src/main/jni/pdnsd/aclocal.m4 rename to orbotservice/src/main/jni/pdnsd/aclocal.m4 diff --git a/app/src/main/jni/pdnsd/compile b/orbotservice/src/main/jni/pdnsd/compile similarity index 100% rename from app/src/main/jni/pdnsd/compile rename to orbotservice/src/main/jni/pdnsd/compile diff --git a/app/src/main/jni/pdnsd/config.h b/orbotservice/src/main/jni/pdnsd/config.h similarity index 100% rename from app/src/main/jni/pdnsd/config.h rename to orbotservice/src/main/jni/pdnsd/config.h diff --git a/app/src/main/jni/pdnsd/config.h.in b/orbotservice/src/main/jni/pdnsd/config.h.in similarity index 100% rename from app/src/main/jni/pdnsd/config.h.in rename to orbotservice/src/main/jni/pdnsd/config.h.in diff --git a/app/src/main/jni/pdnsd/configure b/orbotservice/src/main/jni/pdnsd/configure similarity index 100% rename from app/src/main/jni/pdnsd/configure rename to orbotservice/src/main/jni/pdnsd/configure diff --git a/app/src/main/jni/pdnsd/configure.in b/orbotservice/src/main/jni/pdnsd/configure.in similarity index 100% rename from app/src/main/jni/pdnsd/configure.in rename to orbotservice/src/main/jni/pdnsd/configure.in diff --git a/app/src/main/jni/pdnsd/contrib/Makefile.am b/orbotservice/src/main/jni/pdnsd/contrib/Makefile.am similarity index 100% rename from app/src/main/jni/pdnsd/contrib/Makefile.am rename to orbotservice/src/main/jni/pdnsd/contrib/Makefile.am diff --git a/app/src/main/jni/pdnsd/contrib/Makefile.in b/orbotservice/src/main/jni/pdnsd/contrib/Makefile.in similarity index 100% rename from app/src/main/jni/pdnsd/contrib/Makefile.in rename to orbotservice/src/main/jni/pdnsd/contrib/Makefile.in diff --git a/app/src/main/jni/pdnsd/contrib/README b/orbotservice/src/main/jni/pdnsd/contrib/README similarity index 100% rename from app/src/main/jni/pdnsd/contrib/README rename to orbotservice/src/main/jni/pdnsd/contrib/README diff --git a/app/src/main/jni/pdnsd/contrib/change_pdnsd_server_ip.pl b/orbotservice/src/main/jni/pdnsd/contrib/change_pdnsd_server_ip.pl similarity index 100% rename from app/src/main/jni/pdnsd/contrib/change_pdnsd_server_ip.pl rename to orbotservice/src/main/jni/pdnsd/contrib/change_pdnsd_server_ip.pl diff --git a/app/src/main/jni/pdnsd/contrib/dhcp2pdnsd b/orbotservice/src/main/jni/pdnsd/contrib/dhcp2pdnsd similarity index 100% rename from app/src/main/jni/pdnsd/contrib/dhcp2pdnsd rename to orbotservice/src/main/jni/pdnsd/contrib/dhcp2pdnsd diff --git a/app/src/main/jni/pdnsd/contrib/pdnsd_dhcp.pl b/orbotservice/src/main/jni/pdnsd/contrib/pdnsd_dhcp.pl similarity index 100% rename from app/src/main/jni/pdnsd/contrib/pdnsd_dhcp.pl rename to orbotservice/src/main/jni/pdnsd/contrib/pdnsd_dhcp.pl diff --git a/app/src/main/jni/pdnsd/depcomp b/orbotservice/src/main/jni/pdnsd/depcomp similarity index 100% rename from app/src/main/jni/pdnsd/depcomp rename to orbotservice/src/main/jni/pdnsd/depcomp diff --git a/app/src/main/jni/pdnsd/file-list.base.in b/orbotservice/src/main/jni/pdnsd/file-list.base.in similarity index 100% rename from app/src/main/jni/pdnsd/file-list.base.in rename to orbotservice/src/main/jni/pdnsd/file-list.base.in diff --git a/app/src/main/jni/pdnsd/install-sh b/orbotservice/src/main/jni/pdnsd/install-sh similarity index 100% rename from app/src/main/jni/pdnsd/install-sh rename to orbotservice/src/main/jni/pdnsd/install-sh diff --git a/app/src/main/jni/pdnsd/missing b/orbotservice/src/main/jni/pdnsd/missing similarity index 100% rename from app/src/main/jni/pdnsd/missing rename to orbotservice/src/main/jni/pdnsd/missing diff --git a/app/src/main/jni/pdnsd/pdnsd.spec.in b/orbotservice/src/main/jni/pdnsd/pdnsd.spec.in similarity index 100% rename from app/src/main/jni/pdnsd/pdnsd.spec.in rename to orbotservice/src/main/jni/pdnsd/pdnsd.spec.in diff --git a/app/src/main/jni/pdnsd/src/Makefile.am b/orbotservice/src/main/jni/pdnsd/src/Makefile.am similarity index 100% rename from app/src/main/jni/pdnsd/src/Makefile.am rename to orbotservice/src/main/jni/pdnsd/src/Makefile.am diff --git a/app/src/main/jni/pdnsd/src/Makefile.in b/orbotservice/src/main/jni/pdnsd/src/Makefile.in similarity index 100% rename from app/src/main/jni/pdnsd/src/Makefile.in rename to orbotservice/src/main/jni/pdnsd/src/Makefile.in diff --git a/app/src/main/jni/pdnsd/src/cache.c b/orbotservice/src/main/jni/pdnsd/src/cache.c similarity index 100% rename from app/src/main/jni/pdnsd/src/cache.c rename to orbotservice/src/main/jni/pdnsd/src/cache.c diff --git a/app/src/main/jni/pdnsd/src/cache.h b/orbotservice/src/main/jni/pdnsd/src/cache.h similarity index 100% rename from app/src/main/jni/pdnsd/src/cache.h rename to orbotservice/src/main/jni/pdnsd/src/cache.h diff --git a/app/src/main/jni/pdnsd/src/conf-keywords.h b/orbotservice/src/main/jni/pdnsd/src/conf-keywords.h similarity index 100% rename from app/src/main/jni/pdnsd/src/conf-keywords.h rename to orbotservice/src/main/jni/pdnsd/src/conf-keywords.h diff --git a/app/src/main/jni/pdnsd/src/conf-parser.c b/orbotservice/src/main/jni/pdnsd/src/conf-parser.c similarity index 100% rename from app/src/main/jni/pdnsd/src/conf-parser.c rename to orbotservice/src/main/jni/pdnsd/src/conf-parser.c diff --git a/app/src/main/jni/pdnsd/src/conf-parser.h b/orbotservice/src/main/jni/pdnsd/src/conf-parser.h similarity index 100% rename from app/src/main/jni/pdnsd/src/conf-parser.h rename to orbotservice/src/main/jni/pdnsd/src/conf-parser.h diff --git a/app/src/main/jni/pdnsd/src/conff.c b/orbotservice/src/main/jni/pdnsd/src/conff.c similarity index 100% rename from app/src/main/jni/pdnsd/src/conff.c rename to orbotservice/src/main/jni/pdnsd/src/conff.c diff --git a/app/src/main/jni/pdnsd/src/conff.h b/orbotservice/src/main/jni/pdnsd/src/conff.h similarity index 100% rename from app/src/main/jni/pdnsd/src/conff.h rename to orbotservice/src/main/jni/pdnsd/src/conff.h diff --git a/app/src/main/jni/pdnsd/src/consts.c b/orbotservice/src/main/jni/pdnsd/src/consts.c similarity index 100% rename from app/src/main/jni/pdnsd/src/consts.c rename to orbotservice/src/main/jni/pdnsd/src/consts.c diff --git a/app/src/main/jni/pdnsd/src/consts.h b/orbotservice/src/main/jni/pdnsd/src/consts.h similarity index 100% rename from app/src/main/jni/pdnsd/src/consts.h rename to orbotservice/src/main/jni/pdnsd/src/consts.h diff --git a/app/src/main/jni/pdnsd/src/debug.c b/orbotservice/src/main/jni/pdnsd/src/debug.c similarity index 100% rename from app/src/main/jni/pdnsd/src/debug.c rename to orbotservice/src/main/jni/pdnsd/src/debug.c diff --git a/app/src/main/jni/pdnsd/src/debug.h b/orbotservice/src/main/jni/pdnsd/src/debug.h similarity index 100% rename from app/src/main/jni/pdnsd/src/debug.h rename to orbotservice/src/main/jni/pdnsd/src/debug.h diff --git a/app/src/main/jni/pdnsd/src/dns.c b/orbotservice/src/main/jni/pdnsd/src/dns.c similarity index 100% rename from app/src/main/jni/pdnsd/src/dns.c rename to orbotservice/src/main/jni/pdnsd/src/dns.c diff --git a/app/src/main/jni/pdnsd/src/dns.h b/orbotservice/src/main/jni/pdnsd/src/dns.h similarity index 100% rename from app/src/main/jni/pdnsd/src/dns.h rename to orbotservice/src/main/jni/pdnsd/src/dns.h diff --git a/app/src/main/jni/pdnsd/src/dns_answer.c b/orbotservice/src/main/jni/pdnsd/src/dns_answer.c similarity index 100% rename from app/src/main/jni/pdnsd/src/dns_answer.c rename to orbotservice/src/main/jni/pdnsd/src/dns_answer.c diff --git a/app/src/main/jni/pdnsd/src/dns_answer.h b/orbotservice/src/main/jni/pdnsd/src/dns_answer.h similarity index 100% rename from app/src/main/jni/pdnsd/src/dns_answer.h rename to orbotservice/src/main/jni/pdnsd/src/dns_answer.h diff --git a/app/src/main/jni/pdnsd/src/dns_query.c b/orbotservice/src/main/jni/pdnsd/src/dns_query.c similarity index 100% rename from app/src/main/jni/pdnsd/src/dns_query.c rename to orbotservice/src/main/jni/pdnsd/src/dns_query.c diff --git a/app/src/main/jni/pdnsd/src/dns_query.h b/orbotservice/src/main/jni/pdnsd/src/dns_query.h similarity index 100% rename from app/src/main/jni/pdnsd/src/dns_query.h rename to orbotservice/src/main/jni/pdnsd/src/dns_query.h diff --git a/app/src/main/jni/pdnsd/src/error.c b/orbotservice/src/main/jni/pdnsd/src/error.c similarity index 100% rename from app/src/main/jni/pdnsd/src/error.c rename to orbotservice/src/main/jni/pdnsd/src/error.c diff --git a/app/src/main/jni/pdnsd/src/error.h b/orbotservice/src/main/jni/pdnsd/src/error.h similarity index 100% rename from app/src/main/jni/pdnsd/src/error.h rename to orbotservice/src/main/jni/pdnsd/src/error.h diff --git a/app/src/main/jni/pdnsd/src/freebsd_netinet_ip_icmp.h b/orbotservice/src/main/jni/pdnsd/src/freebsd_netinet_ip_icmp.h similarity index 100% rename from app/src/main/jni/pdnsd/src/freebsd_netinet_ip_icmp.h rename to orbotservice/src/main/jni/pdnsd/src/freebsd_netinet_ip_icmp.h diff --git a/app/src/main/jni/pdnsd/src/hash.c b/orbotservice/src/main/jni/pdnsd/src/hash.c similarity index 100% rename from app/src/main/jni/pdnsd/src/hash.c rename to orbotservice/src/main/jni/pdnsd/src/hash.c diff --git a/app/src/main/jni/pdnsd/src/hash.h b/orbotservice/src/main/jni/pdnsd/src/hash.h similarity index 100% rename from app/src/main/jni/pdnsd/src/hash.h rename to orbotservice/src/main/jni/pdnsd/src/hash.h diff --git a/app/src/main/jni/pdnsd/src/helpers.c b/orbotservice/src/main/jni/pdnsd/src/helpers.c similarity index 100% rename from app/src/main/jni/pdnsd/src/helpers.c rename to orbotservice/src/main/jni/pdnsd/src/helpers.c diff --git a/app/src/main/jni/pdnsd/src/helpers.h b/orbotservice/src/main/jni/pdnsd/src/helpers.h similarity index 100% rename from app/src/main/jni/pdnsd/src/helpers.h rename to orbotservice/src/main/jni/pdnsd/src/helpers.h diff --git a/app/src/main/jni/pdnsd/src/icmp.c b/orbotservice/src/main/jni/pdnsd/src/icmp.c similarity index 100% rename from app/src/main/jni/pdnsd/src/icmp.c rename to orbotservice/src/main/jni/pdnsd/src/icmp.c diff --git a/app/src/main/jni/pdnsd/src/icmp.h b/orbotservice/src/main/jni/pdnsd/src/icmp.h similarity index 100% rename from app/src/main/jni/pdnsd/src/icmp.h rename to orbotservice/src/main/jni/pdnsd/src/icmp.h diff --git a/app/src/main/jni/pdnsd/src/ipvers.h b/orbotservice/src/main/jni/pdnsd/src/ipvers.h similarity index 100% rename from app/src/main/jni/pdnsd/src/ipvers.h rename to orbotservice/src/main/jni/pdnsd/src/ipvers.h diff --git a/app/src/main/jni/pdnsd/src/list.c b/orbotservice/src/main/jni/pdnsd/src/list.c similarity index 100% rename from app/src/main/jni/pdnsd/src/list.c rename to orbotservice/src/main/jni/pdnsd/src/list.c diff --git a/app/src/main/jni/pdnsd/src/list.h b/orbotservice/src/main/jni/pdnsd/src/list.h similarity index 100% rename from app/src/main/jni/pdnsd/src/list.h rename to orbotservice/src/main/jni/pdnsd/src/list.h diff --git a/app/src/main/jni/pdnsd/src/main.c b/orbotservice/src/main/jni/pdnsd/src/main.c similarity index 100% rename from app/src/main/jni/pdnsd/src/main.c rename to orbotservice/src/main/jni/pdnsd/src/main.c diff --git a/app/src/main/jni/pdnsd/src/make_rr_types_h.pl b/orbotservice/src/main/jni/pdnsd/src/make_rr_types_h.pl similarity index 100% rename from app/src/main/jni/pdnsd/src/make_rr_types_h.pl rename to orbotservice/src/main/jni/pdnsd/src/make_rr_types_h.pl diff --git a/app/src/main/jni/pdnsd/src/netdev.c b/orbotservice/src/main/jni/pdnsd/src/netdev.c similarity index 100% rename from app/src/main/jni/pdnsd/src/netdev.c rename to orbotservice/src/main/jni/pdnsd/src/netdev.c diff --git a/app/src/main/jni/pdnsd/src/netdev.h b/orbotservice/src/main/jni/pdnsd/src/netdev.h similarity index 100% rename from app/src/main/jni/pdnsd/src/netdev.h rename to orbotservice/src/main/jni/pdnsd/src/netdev.h diff --git a/app/src/main/jni/pdnsd/src/pdnsd-ctl/Makefile.am b/orbotservice/src/main/jni/pdnsd/src/pdnsd-ctl/Makefile.am similarity index 100% rename from app/src/main/jni/pdnsd/src/pdnsd-ctl/Makefile.am rename to orbotservice/src/main/jni/pdnsd/src/pdnsd-ctl/Makefile.am diff --git a/app/src/main/jni/pdnsd/src/pdnsd-ctl/Makefile.in b/orbotservice/src/main/jni/pdnsd/src/pdnsd-ctl/Makefile.in similarity index 100% rename from app/src/main/jni/pdnsd/src/pdnsd-ctl/Makefile.in rename to orbotservice/src/main/jni/pdnsd/src/pdnsd-ctl/Makefile.in diff --git a/app/src/main/jni/pdnsd/src/pdnsd-ctl/pdnsd-ctl.c b/orbotservice/src/main/jni/pdnsd/src/pdnsd-ctl/pdnsd-ctl.c similarity index 100% rename from app/src/main/jni/pdnsd/src/pdnsd-ctl/pdnsd-ctl.c rename to orbotservice/src/main/jni/pdnsd/src/pdnsd-ctl/pdnsd-ctl.c diff --git a/app/src/main/jni/pdnsd/src/pdnsd_assert.h b/orbotservice/src/main/jni/pdnsd/src/pdnsd_assert.h similarity index 100% rename from app/src/main/jni/pdnsd/src/pdnsd_assert.h rename to orbotservice/src/main/jni/pdnsd/src/pdnsd_assert.h diff --git a/app/src/main/jni/pdnsd/src/rc/ArchLinux/Makefile.am b/orbotservice/src/main/jni/pdnsd/src/rc/ArchLinux/Makefile.am similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/ArchLinux/Makefile.am rename to orbotservice/src/main/jni/pdnsd/src/rc/ArchLinux/Makefile.am diff --git a/app/src/main/jni/pdnsd/src/rc/ArchLinux/Makefile.in b/orbotservice/src/main/jni/pdnsd/src/rc/ArchLinux/Makefile.in similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/ArchLinux/Makefile.in rename to orbotservice/src/main/jni/pdnsd/src/rc/ArchLinux/Makefile.in diff --git a/app/src/main/jni/pdnsd/src/rc/ArchLinux/pdnsd.in b/orbotservice/src/main/jni/pdnsd/src/rc/ArchLinux/pdnsd.in similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/ArchLinux/pdnsd.in rename to orbotservice/src/main/jni/pdnsd/src/rc/ArchLinux/pdnsd.in diff --git a/app/src/main/jni/pdnsd/src/rc/Debian/Makefile.am b/orbotservice/src/main/jni/pdnsd/src/rc/Debian/Makefile.am similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/Debian/Makefile.am rename to orbotservice/src/main/jni/pdnsd/src/rc/Debian/Makefile.am diff --git a/app/src/main/jni/pdnsd/src/rc/Debian/Makefile.in b/orbotservice/src/main/jni/pdnsd/src/rc/Debian/Makefile.in similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/Debian/Makefile.in rename to orbotservice/src/main/jni/pdnsd/src/rc/Debian/Makefile.in diff --git a/app/src/main/jni/pdnsd/src/rc/Debian/pdnsd.in b/orbotservice/src/main/jni/pdnsd/src/rc/Debian/pdnsd.in similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/Debian/pdnsd.in rename to orbotservice/src/main/jni/pdnsd/src/rc/Debian/pdnsd.in diff --git a/app/src/main/jni/pdnsd/src/rc/Makefile.am b/orbotservice/src/main/jni/pdnsd/src/rc/Makefile.am similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/Makefile.am rename to orbotservice/src/main/jni/pdnsd/src/rc/Makefile.am diff --git a/app/src/main/jni/pdnsd/src/rc/Makefile.in b/orbotservice/src/main/jni/pdnsd/src/rc/Makefile.in similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/Makefile.in rename to orbotservice/src/main/jni/pdnsd/src/rc/Makefile.in diff --git a/app/src/main/jni/pdnsd/src/rc/README b/orbotservice/src/main/jni/pdnsd/src/rc/README similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/README rename to orbotservice/src/main/jni/pdnsd/src/rc/README diff --git a/app/src/main/jni/pdnsd/src/rc/RedHat/Makefile.am b/orbotservice/src/main/jni/pdnsd/src/rc/RedHat/Makefile.am similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/RedHat/Makefile.am rename to orbotservice/src/main/jni/pdnsd/src/rc/RedHat/Makefile.am diff --git a/app/src/main/jni/pdnsd/src/rc/RedHat/Makefile.in b/orbotservice/src/main/jni/pdnsd/src/rc/RedHat/Makefile.in similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/RedHat/Makefile.in rename to orbotservice/src/main/jni/pdnsd/src/rc/RedHat/Makefile.in diff --git a/app/src/main/jni/pdnsd/src/rc/RedHat/pdnsd.in b/orbotservice/src/main/jni/pdnsd/src/rc/RedHat/pdnsd.in similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/RedHat/pdnsd.in rename to orbotservice/src/main/jni/pdnsd/src/rc/RedHat/pdnsd.in diff --git a/app/src/main/jni/pdnsd/src/rc/Slackware/Makefile.am b/orbotservice/src/main/jni/pdnsd/src/rc/Slackware/Makefile.am similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/Slackware/Makefile.am rename to orbotservice/src/main/jni/pdnsd/src/rc/Slackware/Makefile.am diff --git a/app/src/main/jni/pdnsd/src/rc/Slackware/Makefile.in b/orbotservice/src/main/jni/pdnsd/src/rc/Slackware/Makefile.in similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/Slackware/Makefile.in rename to orbotservice/src/main/jni/pdnsd/src/rc/Slackware/Makefile.in diff --git a/app/src/main/jni/pdnsd/src/rc/Slackware/rc.pdnsd.in b/orbotservice/src/main/jni/pdnsd/src/rc/Slackware/rc.pdnsd.in similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/Slackware/rc.pdnsd.in rename to orbotservice/src/main/jni/pdnsd/src/rc/Slackware/rc.pdnsd.in diff --git a/app/src/main/jni/pdnsd/src/rc/SuSE/Makefile.am b/orbotservice/src/main/jni/pdnsd/src/rc/SuSE/Makefile.am similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/SuSE/Makefile.am rename to orbotservice/src/main/jni/pdnsd/src/rc/SuSE/Makefile.am diff --git a/app/src/main/jni/pdnsd/src/rc/SuSE/Makefile.in b/orbotservice/src/main/jni/pdnsd/src/rc/SuSE/Makefile.in similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/SuSE/Makefile.in rename to orbotservice/src/main/jni/pdnsd/src/rc/SuSE/Makefile.in diff --git a/app/src/main/jni/pdnsd/src/rc/SuSE/pdnsd.in b/orbotservice/src/main/jni/pdnsd/src/rc/SuSE/pdnsd.in similarity index 100% rename from app/src/main/jni/pdnsd/src/rc/SuSE/pdnsd.in rename to orbotservice/src/main/jni/pdnsd/src/rc/SuSE/pdnsd.in diff --git a/app/src/main/jni/pdnsd/src/rr_types.c b/orbotservice/src/main/jni/pdnsd/src/rr_types.c similarity index 100% rename from app/src/main/jni/pdnsd/src/rr_types.c rename to orbotservice/src/main/jni/pdnsd/src/rr_types.c diff --git a/app/src/main/jni/pdnsd/src/rr_types.h b/orbotservice/src/main/jni/pdnsd/src/rr_types.h similarity index 100% rename from app/src/main/jni/pdnsd/src/rr_types.h rename to orbotservice/src/main/jni/pdnsd/src/rr_types.h diff --git a/app/src/main/jni/pdnsd/src/rr_types.in b/orbotservice/src/main/jni/pdnsd/src/rr_types.in similarity index 100% rename from app/src/main/jni/pdnsd/src/rr_types.in rename to orbotservice/src/main/jni/pdnsd/src/rr_types.in diff --git a/app/src/main/jni/pdnsd/src/servers.c b/orbotservice/src/main/jni/pdnsd/src/servers.c similarity index 100% rename from app/src/main/jni/pdnsd/src/servers.c rename to orbotservice/src/main/jni/pdnsd/src/servers.c diff --git a/app/src/main/jni/pdnsd/src/servers.h b/orbotservice/src/main/jni/pdnsd/src/servers.h similarity index 100% rename from app/src/main/jni/pdnsd/src/servers.h rename to orbotservice/src/main/jni/pdnsd/src/servers.h diff --git a/app/src/main/jni/pdnsd/src/sort_namevalues.pl b/orbotservice/src/main/jni/pdnsd/src/sort_namevalues.pl similarity index 100% rename from app/src/main/jni/pdnsd/src/sort_namevalues.pl rename to orbotservice/src/main/jni/pdnsd/src/sort_namevalues.pl diff --git a/app/src/main/jni/pdnsd/src/status.c b/orbotservice/src/main/jni/pdnsd/src/status.c similarity index 100% rename from app/src/main/jni/pdnsd/src/status.c rename to orbotservice/src/main/jni/pdnsd/src/status.c diff --git a/app/src/main/jni/pdnsd/src/status.h b/orbotservice/src/main/jni/pdnsd/src/status.h similarity index 100% rename from app/src/main/jni/pdnsd/src/status.h rename to orbotservice/src/main/jni/pdnsd/src/status.h diff --git a/app/src/main/jni/pdnsd/src/test/Makefile.am b/orbotservice/src/main/jni/pdnsd/src/test/Makefile.am similarity index 100% rename from app/src/main/jni/pdnsd/src/test/Makefile.am rename to orbotservice/src/main/jni/pdnsd/src/test/Makefile.am diff --git a/app/src/main/jni/pdnsd/src/test/Makefile.in b/orbotservice/src/main/jni/pdnsd/src/test/Makefile.in similarity index 100% rename from app/src/main/jni/pdnsd/src/test/Makefile.in rename to orbotservice/src/main/jni/pdnsd/src/test/Makefile.in diff --git a/app/src/main/jni/pdnsd/src/test/if_up.c b/orbotservice/src/main/jni/pdnsd/src/test/if_up.c similarity index 100% rename from app/src/main/jni/pdnsd/src/test/if_up.c rename to orbotservice/src/main/jni/pdnsd/src/test/if_up.c diff --git a/app/src/main/jni/pdnsd/src/test/is_local_addr.c b/orbotservice/src/main/jni/pdnsd/src/test/is_local_addr.c similarity index 100% rename from app/src/main/jni/pdnsd/src/test/is_local_addr.c rename to orbotservice/src/main/jni/pdnsd/src/test/is_local_addr.c diff --git a/app/src/main/jni/pdnsd/src/test/random.c b/orbotservice/src/main/jni/pdnsd/src/test/random.c similarity index 100% rename from app/src/main/jni/pdnsd/src/test/random.c rename to orbotservice/src/main/jni/pdnsd/src/test/random.c diff --git a/app/src/main/jni/pdnsd/src/test/tping.c b/orbotservice/src/main/jni/pdnsd/src/test/tping.c similarity index 100% rename from app/src/main/jni/pdnsd/src/test/tping.c rename to orbotservice/src/main/jni/pdnsd/src/test/tping.c diff --git a/app/src/main/jni/pdnsd/src/thread.c b/orbotservice/src/main/jni/pdnsd/src/thread.c similarity index 100% rename from app/src/main/jni/pdnsd/src/thread.c rename to orbotservice/src/main/jni/pdnsd/src/thread.c diff --git a/app/src/main/jni/pdnsd/src/thread.h b/orbotservice/src/main/jni/pdnsd/src/thread.h similarity index 100% rename from app/src/main/jni/pdnsd/src/thread.h rename to orbotservice/src/main/jni/pdnsd/src/thread.h diff --git a/app/src/main/jni/pdnsd/version b/orbotservice/src/main/jni/pdnsd/version similarity index 100% rename from app/src/main/jni/pdnsd/version rename to orbotservice/src/main/jni/pdnsd/version