[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [orbot/master] update new onions
commit e152dd381014a1f77681d446b5d4ff07c443ee94
Author: Juan Ezquerro LLanes <juan@xxxxxxxxxxxxx>
Date: Thu Nov 17 15:43:50 2016 +0100
update new onions
---
.../org/torproject/android/service/TorService.java | 46 +++++++++++++++++++++-
1 file changed, 45 insertions(+), 1 deletion(-)
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 cd2285b..915aad7 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/TorService.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/TorService.java
@@ -17,6 +17,7 @@ import android.app.PendingIntent;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
+import android.content.ContentValues;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.Intent;
@@ -762,7 +763,50 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon
enableTransparentProxy();
}
- // TODO: Tor is running, update new .onion names at db
+ // Tor is running, update new .onion names at db
+ ContentResolver mCR = getApplicationContext().getContentResolver();
+ Cursor hidden_services = mCR.query(CONTENT_URI, mProjection, null, null, null);
+ if(hidden_services != null) {
+ try {
+ while (hidden_services.moveToNext()) {
+ String HSDomain = hidden_services.getString(hidden_services.getColumnIndex(HiddenService.DOMAIN));
+ Integer HSLocalPort = hidden_services.getInt(hidden_services.getColumnIndex(HiddenService.PORT));
+
+ // Update only new domains
+ if(!"".equals(HSDomain))
+ continue;
+
+ String hsDirPath = new File(appCacheHome,"hs" + HSLocalPort).getCanonicalPath();
+ File file = new File(hsDirPath, "hostname");
+
+ if (file.exists())
+ {
+ ContentValues fields = new ContentValues();
+
+ try {
+ String onionHostname = Utils.readString(new FileInputStream(file)).trim();
+ fields.put("domain", onionHostname);
+ mCR.update(CONTENT_URI, fields, "port=" + HSLocalPort , null);
+ } catch (FileNotFoundException e) {
+ logException("unable to read onion hostname file",e);
+ showToolbarNotification(getString(R.string.unable_to_read_hidden_service_name), HS_NOTIFY_ID, R.drawable.ic_stat_notifyerr);
+ }
+ }
+ else
+ {
+ showToolbarNotification(getString(R.string.unable_to_read_hidden_service_name), HS_NOTIFY_ID, R.drawable.ic_stat_notifyerr);
+
+ }
+ }
+
+ } catch (NumberFormatException e) {
+ Log.e(OrbotConstants.TAG,"error parsing hsport",e);
+ } catch (Exception e) {
+ Log.e(OrbotConstants.TAG,"error starting share server",e);
+ }
+
+ hidden_services.close();
+ }
} catch (Exception e) {
logException("Unable to start Tor: " + e.toString(), e);
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits