Browse Source

ContentProvider for db implemented
small restructuring

Mihai Plasoianu 10 years ago
parent
commit
dd92998c18

+ 7 - 1
AndroidManifest.xml

@@ -69,12 +69,18 @@
             </intent-filter>
         </activity>
 
-        <service android:name="de.tudarmstadt.informatik.hostage.HoneyService" >
+        <service android:name="de.tudarmstadt.informatik.hostage.Hostage" >
         </service>
         <service
             android:name="de.tudarmstadt.informatik.hostage.logging.Logger"
             android:exported="false" >
         </service>
+
+        <provider
+            android:name="de.tudarmstadt.informatik.hostage.provider.HostageContentProvider"
+            android:authorities="de.tudarmstadt.informatik.hostage"
+            android:exported="false" >
+        </provider>
     </application>
 
 </manifest>

+ 23 - 46
src/de/tudarmstadt/informatik/hostage/HoneyHandler.java → src/de/tudarmstadt/informatik/hostage/Handler.java

@@ -11,8 +11,8 @@ import android.content.SharedPreferences;
 import android.content.SharedPreferences.Editor;
 import android.preference.PreferenceManager;
 import android.util.Log;
+import de.tudarmstadt.informatik.hostage.location.MyLocationManager;
 import de.tudarmstadt.informatik.hostage.logging.Logger;
-import de.tudarmstadt.informatik.hostage.logging.MyLocationManager;
 import de.tudarmstadt.informatik.hostage.logging.Record;
 import de.tudarmstadt.informatik.hostage.logging.Record.TYPE;
 import de.tudarmstadt.informatik.hostage.mirror.Mirror;
@@ -28,12 +28,12 @@ import de.tudarmstadt.informatik.hostage.wrapper.Packet;
  * @author Mihai Plasoianu
  * @author Wulf Pfeiffer
  */
-public class HoneyHandler implements Runnable {
+public class Handler implements Runnable {
 
 	/** Time until the socket throws a time out. The time is in milliseconds. */
 	private int TIMEOUT;
 
-	private HoneyService service;
+	private Hostage service;
 	protected Protocol protocol;
 	private Socket client;
 	protected Thread thread;
@@ -44,7 +44,7 @@ public class HoneyHandler implements Runnable {
 	private String BSSID;
 	private String SSID;
 
-	private HoneyListener listener;
+	private Listener listener;
 
 	/**
 	 * Constructor of the class. Initializes class variables for communication
@@ -59,31 +59,24 @@ public class HoneyHandler implements Runnable {
 	 * @param client
 	 *            A Socket for the communication with a remote client.
 	 */
-	public HoneyHandler(HoneyService service, HoneyListener listener,
-			Protocol protocol, Socket client) {
+	public Handler(Hostage service, Listener listener, Protocol protocol, Socket client) {
 		this.service = service;
 		this.listener = listener;
 		this.protocol = protocol;
-		if (protocol.toString().equals("GHOST")) {
+		if (protocol.toString().equals("Mirror")) {
 			((Mirror) protocol).setAttackerIP(client.getInetAddress());
 			((Mirror) protocol).setCurrentPort(listener.getPort());
 		}
 		this.client = client;
 		this.thread = new Thread(this);
-		SharedPreferences pref = PreferenceManager
-				.getDefaultSharedPreferences(service);
+		SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(service);
 		TIMEOUT = pref.getInt("timeout", 30) * 1000;
 		// TODO ThreadSicher?
 		getAndIncrementAttackID(pref);
-		SharedPreferences connInfo = service.getSharedPreferences(
-				service.getString(R.string.connection_info),
-				Context.MODE_PRIVATE);
-		BSSID = connInfo.getString(
-				service.getString(R.string.connection_info_bssid), null);
-		SSID = connInfo.getString(
-				service.getString(R.string.connection_info_ssid), null);
-		externalIP = connInfo.getString(
-				service.getString(R.string.connection_info_external_ip), null);
+		SharedPreferences connInfo = service.getSharedPreferences(service.getString(R.string.connection_info), Context.MODE_PRIVATE);
+		BSSID = connInfo.getString(service.getString(R.string.connection_info_bssid), null);
+		SSID = connInfo.getString(service.getString(R.string.connection_info_ssid), null);
+		externalIP = connInfo.getString(service.getString(R.string.connection_info_external_ip), null);
 		setSoTimeout(client);
 		thread.start();
 	}
@@ -101,11 +94,8 @@ public class HoneyHandler implements Runnable {
 	 * Sets the interrupt flag of the thread and tries to close the socket.
 	 */
 	public void kill() {
-		service.notifyUI(
-				this.getClass().getName(),
-				new String[] { service.getString(R.string.broadcast_started),
-						protocol.toString(),
-						Integer.toString(listener.getPort()) });
+		service.notifyUI(this.getClass().getName(),
+				new String[] { service.getString(R.string.broadcast_started), protocol.toString(), Integer.toString(listener.getPort()) });
 		thread.interrupt();
 		try {
 			client.close();
@@ -125,11 +115,8 @@ public class HoneyHandler implements Runnable {
 	 */
 	@Override
 	public void run() {
-		service.notifyUI(
-				this.getClass().getName(),
-				new String[] { service.getString(R.string.broadcast_started),
-						protocol.toString(),
-						Integer.toString(listener.getPort()) });
+		service.notifyUI(this.getClass().getName(),
+				new String[] { service.getString(R.string.broadcast_started), protocol.toString(), Integer.toString(listener.getPort()) });
 		InputStream in;
 		OutputStream out;
 		try {
@@ -190,23 +177,17 @@ public class HoneyHandler implements Runnable {
 		record.setTimestamp(System.currentTimeMillis());
 		record.setExternalIP(externalIP);
 		record.setLocalIP(client.getLocalAddress().getHostAddress());
-		record.setLocalHost(client.getLocalAddress().getHostAddress());
 		record.setLocalPort(protocol.getPort());
 		record.setRemoteIP(client.getInetAddress().getHostAddress());
-		record.setRemoteHost(client.getInetAddress().getHostAddress());
 		record.setRemotePort(client.getPort());
 		record.setBssid(BSSID);
 		record.setSsid(SSID);
 		record.setPacket(packet);
 		if (MyLocationManager.getNewestLocation() != null) {
-			record.setLatitude(MyLocationManager.getNewestLocation()
-					.getLatitude());
-			record.setLongitude(MyLocationManager.getNewestLocation()
-					.getLongitude());
-			record.setAccuracy(MyLocationManager.getNewestLocation()
-					.getAccuracy());
-			record.setTimestampLocation(MyLocationManager.getNewestLocation()
-					.getTime());
+			record.setLatitude(MyLocationManager.getNewestLocation().getLatitude());
+			record.setLongitude(MyLocationManager.getNewestLocation().getLongitude());
+			record.setAccuracy(MyLocationManager.getNewestLocation().getAccuracy());
+			record.setTimestampLocation(MyLocationManager.getNewestLocation().getTime());
 		} else {
 			record.setLatitude(0.0);
 			record.setLongitude(0.0);
@@ -226,8 +207,7 @@ public class HoneyHandler implements Runnable {
 	 *            OutputStream of the socket.
 	 * @throws IOException
 	 */
-	protected void talkToClient(InputStream in, OutputStream out)
-			throws IOException {
+	protected void talkToClient(InputStream in, OutputStream out) throws IOException {
 		Reader reader = new Reader(in);
 		Writer writer = new Writer(out);
 		Packet inputLine;
@@ -236,19 +216,16 @@ public class HoneyHandler implements Runnable {
 			outputLine = protocol.processMessage(null);
 			writer.write(outputLine);
 			for (Packet o : outputLine) {
-				Logger.log(HoneyService.getContext(),
-						createRecord(TYPE.SEND, o.toString()));
+				Logger.log(Hostage.getContext(), createRecord(TYPE.SEND, o.toString()));
 			}
 		}
 		while (!thread.isInterrupted() && (inputLine = reader.read()) != null) {
 			outputLine = protocol.processMessage(inputLine);
-			Logger.log(HoneyService.getContext(),
-					createRecord(TYPE.RECEIVE, inputLine.toString()));
+			Logger.log(Hostage.getContext(), createRecord(TYPE.RECEIVE, inputLine.toString()));
 			if (outputLine != null) {
 				writer.write(outputLine);
 				for (Packet o : outputLine) {
-					Logger.log(HoneyService.getContext(),
-							createRecord(TYPE.SEND, o.toString()));
+					Logger.log(Hostage.getContext(), createRecord(TYPE.SEND, o.toString()));
 				}
 			}
 			if (protocol.isClosed()) {

+ 22 - 22
src/de/tudarmstadt/informatik/hostage/HoneyService.java → src/de/tudarmstadt/informatik/hostage/Hostage.java

@@ -37,8 +37,8 @@ import android.support.v4.content.LocalBroadcastManager;
 import android.util.Log;
 import android.widget.Toast;
 import de.tudarmstadt.informatik.hostage.commons.HelperUtils;
-import de.tudarmstadt.informatik.hostage.db.HostageDbHelper;
-import de.tudarmstadt.informatik.hostage.logging.MyLocationManager;
+import de.tudarmstadt.informatik.hostage.location.MyLocationManager;
+import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
 import de.tudarmstadt.informatik.hostage.protocol.HTTP;
 import de.tudarmstadt.informatik.hostage.protocol.Protocol;
 import de.tudarmstadt.informatik.hostage.ui.MainActivity;
@@ -53,11 +53,11 @@ import de.tudarmstadt.informatik.hostage.ui.MainActivity;
  * @author Lars Pandikow
  * @author Wulf Pfeiffer
  */
-public class HoneyService extends Service {
+public class Hostage extends Service {
 
 	public class LocalBinder extends Binder {
-		public HoneyService getService() {
-			return HoneyService.this;
+		public Hostage getService() {
+			return Hostage.this;
 		}
 	}
 
@@ -138,11 +138,11 @@ public class HoneyService extends Service {
 	 * @return context.
 	 */
 	public static Context getContext() {
-		return HoneyService.context;
+		return Hostage.context;
 	}
 
 	private LinkedList<Protocol> implementedProtocols;
-	private ArrayList<HoneyListener> listeners = new ArrayList<HoneyListener>();
+	private ArrayList<Listener> listeners = new ArrayList<Listener>();
 
 	private NotificationCompat.Builder builder;
 
@@ -171,7 +171,7 @@ public class HoneyService extends Service {
 		}
 	};
 
-	public List<HoneyListener> getListeners() {
+	public List<Listener> getListeners() {
 		return listeners;
 	}
 
@@ -199,7 +199,7 @@ public class HoneyService extends Service {
 	 * @return Number of active connections
 	 */
 	public int getNumberOfActiveConnections(String protocolName, int port) {
-		for (HoneyListener listener : listeners) {
+		for (Listener listener : listeners) {
 			if (listener.getProtocolName().equals(protocolName) && listener.getPort() == port) {
 				return listener.getHandlerCount();
 			}
@@ -213,7 +213,7 @@ public class HoneyService extends Service {
 	 * @return True if there is a running listener, else false.
 	 */
 	public boolean hasRunningListeners() {
-		for (HoneyListener listener : listeners) {
+		for (Listener listener : listeners) {
 			if (listener.isRunning())
 				return true;
 		}
@@ -244,7 +244,7 @@ public class HoneyService extends Service {
 	 * @return True if protocol is running, else false.
 	 */
 	public boolean isRunning(String protocolName, int port) {
-		for (HoneyListener listener : listeners) {
+		for (Listener listener : listeners) {
 			if (listener.getProtocolName().equals(protocolName) && listener.getPort() == port) {
 				return listener.isRunning();
 			}
@@ -263,7 +263,7 @@ public class HoneyService extends Service {
 	public void notifyUI(String sender, String[] values) {
 		createNotification();
 		// Send Notification
-		if (sender.equals(HoneyHandler.class.getName()) && values[0].equals(R.string.broadcast_started)) {
+		if (sender.equals(Handler.class.getName()) && values[0].equals(R.string.broadcast_started)) {
 			attackNotification();
 		}
 		// Inform UI of Preference Change
@@ -282,7 +282,7 @@ public class HoneyService extends Service {
 	@Override
 	public void onCreate() {
 		super.onCreate();
-		HoneyService.context = getApplicationContext();
+		Hostage.context = getApplicationContext();
 		implementedProtocols = getImplementedProtocols();
 		connectionInfo = getSharedPreferences(getString(R.string.connection_info), Context.MODE_PRIVATE);
 		connectionInfoEditor = connectionInfo.edit();
@@ -333,7 +333,7 @@ public class HoneyService extends Service {
 	 *            The port number in which the listener should run.
 	 */
 	public boolean startListener(String protocolName, int port) {
-		for (HoneyListener listener : listeners) {
+		for (Listener listener : listeners) {
 			if (listener.getProtocolName().equals(protocolName) && listener.getPort() == port) {
 				if (!listener.isRunning()) {
 					if (listener.start()) {
@@ -346,7 +346,7 @@ public class HoneyService extends Service {
 
 			}
 		}
-		HoneyListener listener = createListener(protocolName, port);
+		Listener listener = createListener(protocolName, port);
 		if (listener != null) {
 			if (listener.start()) {
 				Toast.makeText(getApplicationContext(), protocolName + " SERVICE STARTED!", Toast.LENGTH_SHORT).show();
@@ -361,7 +361,7 @@ public class HoneyService extends Service {
 	 * Starts all listeners which are not already running.
 	 */
 	public void startListeners() {
-		for (HoneyListener listener : listeners) {
+		for (Listener listener : listeners) {
 			if (!listener.isRunning()) {
 				listener.start();
 			}
@@ -388,7 +388,7 @@ public class HoneyService extends Service {
 	 *            The port number in which the listener is running.
 	 */
 	public void stopListener(String protocolName, int port) {
-		for (HoneyListener listener : listeners) {
+		for (Listener listener : listeners) {
 			if (listener.getProtocolName().equals(protocolName) && listener.getPort() == port) {
 				if (listener.isRunning()) {
 					listener.stop();
@@ -402,7 +402,7 @@ public class HoneyService extends Service {
 	 * Stops all running listeners.
 	 */
 	public void stopListeners() {
-		for (HoneyListener listener : listeners) {
+		for (Listener listener : listeners) {
 			if (listener.isRunning()) {
 				listener.stop();
 			}
@@ -452,10 +452,10 @@ public class HoneyService extends Service {
 	 * @return Returns the created HoneyListener, if creation failed returns
 	 *         null.
 	 */
-	private HoneyListener createListener(String protocolName, int port) {
+	private Listener createListener(String protocolName, int port) {
 		for (Protocol protocol : implementedProtocols) {
 			if (protocolName.equals(protocol.toString())) {
-				HoneyListener listener = new HoneyListener(this, protocol, port);
+				Listener listener = new Listener(this, protocol, port);
 				listeners.add(listener);
 				return listener;
 			}
@@ -467,12 +467,12 @@ public class HoneyService extends Service {
 	 * Creates a Notification in the notification bar.
 	 */
 	private void createNotification() {
-		HostageDbHelper dbh = new HostageDbHelper(this);
+		HostageDBOpenHelper dbh = new HostageDBOpenHelper(this);
 		boolean activeHandlers = false;
 		boolean bssidSeen = false;
 		boolean listening = false;
 
-		for (HoneyListener listener : listeners) {
+		for (Listener listener : listeners) {
 			if (listener.isRunning())
 				listening = true;
 			if (listener.getHandlerCount() > 0) {

+ 17 - 17
src/de/tudarmstadt/informatik/hostage/HoneyListener.java → src/de/tudarmstadt/informatik/hostage/Listener.java

@@ -17,21 +17,21 @@ import de.tudarmstadt.informatik.hostage.protocol.SSLProtocol;
  * Protocol listener class:<br>
  * Creates a Socket on the port of a given protocol and listens for incoming
  * connections.<br>
- * For each connection creates a Socket and instantiate an {@link HoneyHandler}.
+ * For each connection creates a Socket and instantiate an {@link Handler}.
  * 
  * @author Mihai Plasoianu
  * 
  */
-public class HoneyListener implements Runnable {
+public class Listener implements Runnable {
 
-	private ArrayList<HoneyHandler> handlers = new ArrayList<HoneyHandler>();
+	private ArrayList<Handler> handlers = new ArrayList<Handler>();
 
 	private Protocol protocol;
 
 	private ServerSocket server;
 	private Thread thread;
 	private int port;
-	private HoneyService service;
+	private Hostage service;
 
 	private ConnectionRegister conReg;
 	private boolean running = false;
@@ -44,14 +44,14 @@ public class HoneyListener implements Runnable {
 	 * @param protocol
 	 *            The Protocol on which the listener is running.
 	 */
-	public HoneyListener(HoneyService service, Protocol protocol) {
+	public Listener(Hostage service, Protocol protocol) {
 		this.service = service;
 		this.protocol = protocol;
 		port = protocol.getPort();
 		conReg = new ConnectionRegister(service);
 	}
 
-	public HoneyListener(HoneyService service, Protocol protocol, int port) {
+	public Listener(Hostage service, Protocol protocol, int port) {
 		this.service = service;
 		this.protocol = protocol;
 		this.port = port;
@@ -98,9 +98,9 @@ public class HoneyListener implements Runnable {
 	 * Remove all terminated handlers from its internal ArrayList.
 	 */
 	public void refreshHandlers() {
-		for (Iterator<HoneyHandler> iterator = handlers.iterator(); iterator
+		for (Iterator<Handler> iterator = handlers.iterator(); iterator
 				.hasNext();) {
-			HoneyHandler handler = iterator.next();
+			Handler handler = iterator.next();
 			if (handler.isTerminated()) {
 				conReg.closeConnection();
 				iterator.remove();
@@ -113,7 +113,7 @@ public class HoneyListener implements Runnable {
 		while (!thread.isInterrupted()) {
 			addHandler();
 		}
-		for (HoneyHandler handler : handlers) {
+		for (Handler handler : handlers) {
 			handler.kill();
 		}
 	}
@@ -162,7 +162,7 @@ public class HoneyListener implements Runnable {
 
 	/**
 	 * Waits for an incoming connection, accepts it and starts a
-	 * {@link HoneyHandler}
+	 * {@link Handler}
 	 */
 	private void addHandler() {
 		if (conReg.isConnectionFree()) {
@@ -181,7 +181,7 @@ public class HoneyListener implements Runnable {
 	}
 
 	/**
-	 * Creates a new instance of an {@link HoneyHandler}.
+	 * Creates a new instance of an {@link Handler}.
 	 * 
 	 * @param service
 	 *            The background service
@@ -191,16 +191,16 @@ public class HoneyListener implements Runnable {
 	 *            The Protocol the handler will run on
 	 * @param client
 	 *            The Socket the handler uses
-	 * @return A Instance of a {@link HoneyHandler} with the specified
+	 * @return A Instance of a {@link Handler} with the specified
 	 *         parameter.
 	 */
-	private HoneyHandler newInstance(HoneyService service,
-			HoneyListener listener, Protocol protocol, Socket client) {
-		return new HoneyHandler(service, listener, protocol, client);
+	private Handler newInstance(Hostage service,
+			Listener listener, Protocol protocol, Socket client) {
+		return new Handler(service, listener, protocol, client);
 	}
 
 	/**
-	 * Starts a {@link HoneyHandler} with the given socket.
+	 * Starts a {@link Handler} with the given socket.
 	 * 
 	 * @param client
 	 *            The socket with the accepted connection.
@@ -213,7 +213,7 @@ public class HoneyListener implements Runnable {
 
 	/**
 	 * Creates a SSLSocket out of the given socket and starts a
-	 * {@link HoneyHandler}.
+	 * {@link Handler}.
 	 * 
 	 * @param client
 	 *            The socket with the accepted connection.

+ 2 - 2
src/de/tudarmstadt/informatik/hostage/logging/MyLocationManager.java → src/de/tudarmstadt/informatik/hostage/location/MyLocationManager.java

@@ -1,4 +1,4 @@
-package de.tudarmstadt.informatik.hostage.logging;
+package de.tudarmstadt.informatik.hostage.location;
 
 import java.util.Timer;
 import java.util.TimerTask;
@@ -88,7 +88,7 @@ public class MyLocationManager {
 
 	/**
 	 * Start updating
-	 * {@link de.tudarmstadt.informatik.hostage.logging.MyLocationManager#newestLocatio
+	 * {@link de.tudarmstadt.informatik.hostage.location.MyLocationManager#newestLocatio
 	 * newestLocation} if a location provider is enabled and available.
 	 */
 	public void startUpdates() {

+ 0 - 30
src/de/tudarmstadt/informatik/hostage/logging/LogResultReceiver.java

@@ -1,30 +0,0 @@
-package de.tudarmstadt.informatik.hostage.logging;
-
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.ResultReceiver;
-
-public class LogResultReceiver extends ResultReceiver {
-
-	public interface Receiver {
-		public void onReceiveResult(int resultCode, Bundle resultData);
-	}
-
-	private Receiver mReceiver;
-
-	public LogResultReceiver(Handler handler) {
-		super(handler);
-	}
-
-	public void setReceiver(Receiver receiver) {
-		mReceiver = receiver;
-	}
-
-	@Override
-	protected void onReceiveResult(int resultCode, Bundle resultData) {
-		if (mReceiver != null) {
-			mReceiver.onReceiveResult(resultCode, resultData);
-		}
-	}
-
-}

+ 29 - 242
src/de/tudarmstadt/informatik/hostage/logging/Logger.java

@@ -1,148 +1,48 @@
 package de.tudarmstadt.informatik.hostage.logging;
 
-import java.util.ArrayList;
-
 import android.app.IntentService;
 import android.content.Context;
 import android.content.Intent;
-import android.os.Bundle;
-import android.os.ResultReceiver;
-import de.tudarmstadt.informatik.hostage.db.HostageDbHelper;
+import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
 
-/**
- * An {@link IntentService} subclass for handling asynchronous task requests in
- * a service on a separate handler thread.
- * 
- * @author Mihai Plasoianu
- */
 public class Logger extends IntentService {
 
 	private static final String ACTION_LOG = "de.tudarmstadt.informatik.hostage.action.LOG";
-	private static final String ACTION_GET_RECORD_ALL = "de.tudarmstadt.informatik.hostage.action.GET_RECORD_ALL";
-	private static final String ACTION_GET_RECORD_EACH = "de.tudarmstadt.informatik.hostage.action.GET_RECORD_EACH";
-	private static final String ACTION_GET_RECORD_ID = "de.tudarmstadt.informatik.hostage.action.GET_RECORD_ID";
-	private static final String ACTION_GET_COUNT_ALL = "de.tudarmstadt.informatik.hostage.action.GET_COUNT_ALL";
-	private static final String ACTION_GET_COUNT_PROTOCOL = "de.tudarmstadt.informatik.hostage.action.GET_COUNT_PROTOCOL";
-	private static final String ACTION_GET_ATTACK_MIN = "de.tudarmstadt.informatik.hostage.action.GET_ATTACK_MIN";
-	private static final String ACTION_GET_ATTACK_MAX = "de.tudarmstadt.informatik.hostage.action.GET_ATTACK_MAX";
-	private static final String ACTION_IS_BSSID_SEEN = "de.tudarmstadt.informatik.hostage.action.IS_BSSID_SEEN";
-	private static final String ACTION_GET_BSSID_ALL = "de.tudarmstadt.informatik.hostage.action.GET_BSSID_ALL";
-	private static final String ACTION_GET_SSID_BSSID = "de.tudarmstadt.informatik.hostage.action.GET_SSID_BSSID";
-	private static final String ACTION_CLEAR_DATE = "de.tudarmstadt.informatik.hostage.action.CLEAR_DATE";
-	private static final String ACTION_CLEAR_BSSID = "de.tudarmstadt.informatik.hostage.action.CLEAR_BSSID";
-	private static final String ACTION_CLEAR_ALL = "de.tudarmstadt.informatik.hostage.action.CLEAR_ALL";
+	private static final String ACTION_DELETE_BY_BSSID = "de.tudarmstadt.informatik.hostage.action.DELETE_BY_BSSID";
+	private static final String ACTION_DELETE_BY_DATE = "de.tudarmstadt.informatik.hostage.action.DELETE_BY_DATE";
+	private static final String ACTION_DELETE_ALL = "de.tudarmstadt.informatik.hostage.action.DELETE_ALL";
 
 	private static final String EXTRA_RECORD = "de.tudarmstadt.informatik.hostage.extra.RECORD";
-	private static final String EXTRA_PROTOCOL = "de.tudarmstadt.informatik.hostage.extra.PROTOCOL";
-	private static final String EXTRA_BSSID = "de.tudarmstadt.informatik.hostage.extra.BSSID";
-	private static final String EXTRA_PRIMITIVE = "de.tudarmstadt.informatik.hostage.extra.PRIMITIVE";
-
-	private static final String RESULT_RECEIVER = "de.tudarmstadt.informatik.hostage.RESULT_RECEIVER";
+	private static final String EXTRA_MISC = "de.tudarmstadt.informatik.hostage.extra.MISC";
 
-	public static void deleteAll(Context context) {
+	public static void log(Context context, Record record) {
 		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_CLEAR_ALL);
+		intent.setAction(ACTION_LOG);
+		intent.putExtra(EXTRA_RECORD, record);
 		context.startService(intent);
 	}
 
 	public static void deleteByBssid(Context context, String bssid) {
 		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_CLEAR_BSSID);
-		intent.putExtra(EXTRA_BSSID, bssid);
-		context.startService(intent);
-	}
-
-	public static void deleteByDate(Context context, long time) {
-		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_CLEAR_DATE);
-		intent.putExtra(EXTRA_PRIMITIVE, time);
-		context.startService(intent);
-	}
-
-	public static void getAllBssids(Context context, ResultReceiver receiver) {
-		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_GET_BSSID_ALL);
-		intent.putExtra(RESULT_RECEIVER, receiver);
-		context.startService(intent);
-	}
-
-	public static void getAllRecords(Context context, ResultReceiver receiver) {
-		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_GET_RECORD_ALL);
-		intent.putExtra(RESULT_RECEIVER, receiver);
-		context.startService(intent);
-	}
-
-	public static void getAttackCount(Context context, ResultReceiver receiver) {
-		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_GET_COUNT_ALL);
-		intent.putExtra(RESULT_RECEIVER, receiver);
-		context.startService(intent);
-	}
-
-	public static void getAttackPerProtocolCount(Context context, String protocol, ResultReceiver receiver) {
-		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_GET_COUNT_PROTOCOL);
-		intent.putExtra(EXTRA_PROTOCOL, protocol);
-		intent.putExtra(RESULT_RECEIVER, receiver);
-		context.startService(intent);
-	}
-
-	public static void getMaxAttackId(Context context, ResultReceiver receiver) {
-		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_GET_ATTACK_MAX);
-		intent.putExtra(RESULT_RECEIVER, receiver);
-		context.startService(intent);
-	}
-
-	public static void getMinAttackId(Context context, ResultReceiver receiver) {
-		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_GET_ATTACK_MIN);
-		intent.putExtra(RESULT_RECEIVER, receiver);
-		context.startService(intent);
-	}
-
-	public static void getRecordOfAttackId(Context context, long attack_id, ResultReceiver receiver) {
-		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_GET_RECORD_ID);
-		intent.putExtra(EXTRA_PRIMITIVE, attack_id);
-		intent.putExtra(RESULT_RECEIVER, receiver);
-		context.startService(intent);
-	}
-
-	public static void getRecordOfEachAttack(Context context, int lastUploadedAttackId, ResultReceiver receiver) {
-		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_GET_RECORD_EACH);
-		intent.putExtra(EXTRA_PRIMITIVE, lastUploadedAttackId);
-		intent.putExtra(RESULT_RECEIVER, receiver);
-		context.startService(intent);
-	}
-
-	public static void getSsid(Context context, String bssid, ResultReceiver receiver) {
-		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_GET_SSID_BSSID);
-		intent.putExtra(EXTRA_BSSID, bssid);
-		intent.putExtra(RESULT_RECEIVER, receiver);
+		intent.setAction(ACTION_DELETE_BY_BSSID);
+		intent.putExtra(EXTRA_MISC, bssid);
 		context.startService(intent);
 	}
 
-	public static void isBssidSeen(Context context, String protocol, String bssid, ResultReceiver receiver) {
+	public static void deleteByDate(Context context, long timestamp) {
 		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_IS_BSSID_SEEN);
-		intent.putExtra(EXTRA_PROTOCOL, protocol);
-		intent.putExtra(EXTRA_BSSID, bssid);
-		intent.putExtra(RESULT_RECEIVER, receiver);
+		intent.setAction(ACTION_DELETE_BY_DATE);
+		intent.putExtra(EXTRA_MISC, timestamp);
 		context.startService(intent);
 	}
 
-	public static void log(Context context, Record record) {
+	public static void deleteAll(Context context) {
 		Intent intent = new Intent(context, Logger.class);
-		intent.setAction(ACTION_LOG);
-		intent.putExtra(EXTRA_RECORD, record);
+		intent.setAction(ACTION_DELETE_ALL);
 		context.startService(intent);
 	}
 
-	private HostageDbHelper mDbHelper;
+	private HostageDBOpenHelper mDbHelper;
 
 	public Logger() {
 		super("Logger");
@@ -151,69 +51,23 @@ public class Logger extends IntentService {
 	@Override
 	public void onCreate() {
 		super.onCreate();
-		mDbHelper = new HostageDbHelper(getApplicationContext());
-	}
-
-	private boolean handleActionBssidSeen(String protocol, String bssid) {
-		return mDbHelper.bssidSeen(protocol, bssid);
+		mDbHelper = new HostageDBOpenHelper(getApplicationContext());
 	}
 
-	/**
-	 * Delete all records.
-	 */
-	private void handleActionDeleteAll() {
-		mDbHelper.clearData();
+	private void handleActionLog(Record record) {
+		mDbHelper.addRecord(record);
 	}
 
 	private void handleActionDeleteByBssid(String bssid) {
 		mDbHelper.deleteByBSSID(bssid);
 	}
 
-	private void handleActionDeleteByDate(long time) {
-		mDbHelper.deleteByDate(time);
+	private void handleActionDeleteByDate(long timestamp) {
+		mDbHelper.deleteByDate(timestamp);
 	}
 
-	private String[] handleActionGetAllBssids() {
-		return mDbHelper.getAllBSSIDS();
-	}
-
-	private ArrayList<Record> handleActionGetAllRecords() {
-		return mDbHelper.getAllRecords();
-	}
-
-	private int handleActionGetAttackCount() {
-		return mDbHelper.getAttackCount();
-	}
-
-	private int handleActionGetAttackPerProtocolCount(String protocol) {
-		return mDbHelper.getAttackPerProtocolCount(protocol);
-	}
-
-	private long handleActionGetMaxAttackId() {
-		return mDbHelper.getHighestAttackId();
-	}
-
-	private long handleActionGetMinAttackId() {
-		return mDbHelper.getSmallestAttackId();
-	}
-
-	private Record handleActionGetRecordOfAttackId(long attack_id) {
-		return mDbHelper.getRecordOfAttackId(attack_id);
-	}
-
-	private ArrayList<Record> handleActionGetRecordOfEachAttack(int lastUploadedAttackId) {
-		return mDbHelper.getRecordOfEachAttack(lastUploadedAttackId);
-	}
-
-	private String handleActionGetSsid(String bssid) {
-		return mDbHelper.getSSID(bssid);
-	}
-
-	/**
-	 * Log a record.
-	 */
-	private void handleActionLog(Record record) {
-		mDbHelper.addRecord(record);
+	private void handleActionDeleteAll() {
+		mDbHelper.clearData();
 	}
 
 	@Override
@@ -223,80 +77,13 @@ public class Logger extends IntentService {
 			if (ACTION_LOG.equals(action)) {
 				final Record record = intent.getParcelableExtra(EXTRA_RECORD);
 				handleActionLog(record);
-			} else if (ACTION_GET_RECORD_ALL.equals(action)) {
-				ResultReceiver receiver = intent.getParcelableExtra(RESULT_RECEIVER);
-				ArrayList<Record> r = handleActionGetAllRecords();
-				Bundle result = new Bundle();
-				result.putParcelableArrayList("result", r);
-				receiver.send(0, result);
-			} else if (ACTION_GET_RECORD_EACH.equals(action)) {
-				final int lastUploadedAttackId = intent.getIntExtra(EXTRA_PRIMITIVE, -1);
-				ResultReceiver receiver = intent.getParcelableExtra(RESULT_RECEIVER);
-				ArrayList<Record> r = handleActionGetRecordOfEachAttack(lastUploadedAttackId);
-				Bundle result = new Bundle();
-				result.putParcelableArrayList("result", r);
-				receiver.send(0, result);
-			} else if (ACTION_GET_RECORD_ID.equals(action)) {
-				final int attack_id = intent.getIntExtra(EXTRA_PRIMITIVE, -1);
-				ResultReceiver receiver = intent.getParcelableExtra(RESULT_RECEIVER);
-				Record r = handleActionGetRecordOfAttackId(attack_id);
-				Bundle result = new Bundle();
-				result.putParcelable("result", r);
-				receiver.send(0, result);
-			} else if (ACTION_GET_COUNT_ALL.equals(action)) {
-				ResultReceiver receiver = intent.getParcelableExtra(RESULT_RECEIVER);
-				int r = handleActionGetAttackCount();
-				Bundle result = new Bundle();
-				result.putInt("result", r);
-				receiver.send(0, result);
-			} else if (ACTION_GET_COUNT_PROTOCOL.equals(action)) {
-				final String protocol = intent.getStringExtra(EXTRA_PROTOCOL);
-				ResultReceiver receiver = intent.getParcelableExtra(RESULT_RECEIVER);
-				int r = handleActionGetAttackPerProtocolCount(protocol);
-				Bundle result = new Bundle();
-				result.putInt("result", r);
-				receiver.send(0, result);
-			} else if (ACTION_GET_ATTACK_MIN.equals(action)) {
-				ResultReceiver receiver = intent.getParcelableExtra(RESULT_RECEIVER);
-				long r = handleActionGetMinAttackId();
-				Bundle result = new Bundle();
-				result.putLong("result", r);
-				receiver.send(0, result);
-				handleActionGetMinAttackId();
-			} else if (ACTION_GET_ATTACK_MAX.equals(action)) {
-				ResultReceiver receiver = intent.getParcelableExtra(RESULT_RECEIVER);
-				long r = handleActionGetMaxAttackId();
-				Bundle result = new Bundle();
-				result.putLong("result", r);
-				receiver.send(0, result);
-			} else if (ACTION_IS_BSSID_SEEN.equals(action)) {
-				final String protocol = intent.getStringExtra(EXTRA_PROTOCOL);
-				final String bssid = intent.getStringExtra(EXTRA_BSSID);
-				ResultReceiver receiver = intent.getParcelableExtra(RESULT_RECEIVER);
-				boolean r = handleActionBssidSeen(protocol, bssid);
-				Bundle result = new Bundle();
-				result.putBoolean("result", r);
-				receiver.send(0, result);
-			} else if (ACTION_GET_BSSID_ALL.equals(action)) {
-				ResultReceiver receiver = intent.getParcelableExtra(RESULT_RECEIVER);
-				String[] r = handleActionGetAllBssids();
-				Bundle result = new Bundle();
-				result.putStringArray("result", r);
-				receiver.send(0, result);
-			} else if (ACTION_GET_SSID_BSSID.equals(action)) {
-				final String bssid = intent.getStringExtra(EXTRA_BSSID);
-				ResultReceiver receiver = intent.getParcelableExtra(RESULT_RECEIVER);
-				String r = handleActionGetSsid(bssid);
-				Bundle result = new Bundle();
-				result.putString("result", r);
-				receiver.send(0, result);
-			} else if (ACTION_CLEAR_DATE.equals(action)) {
-				final long time = intent.getLongExtra(EXTRA_PRIMITIVE, -1L);
-				handleActionDeleteByDate(time);
-			} else if (ACTION_CLEAR_BSSID.equals(action)) {
-				final String bssid = intent.getStringExtra(EXTRA_BSSID);
+			} else if (ACTION_DELETE_BY_BSSID.equals(action)) {
+				final String bssid = intent.getStringExtra(EXTRA_MISC);
 				handleActionDeleteByBssid(bssid);
-			} else if (ACTION_CLEAR_ALL.equals(action)) {
+			} else if (ACTION_DELETE_BY_DATE.equals(action)) {
+				final long timestamp = intent.getLongExtra(EXTRA_MISC, -1L);
+				handleActionDeleteByDate(timestamp);
+			} else if (ACTION_DELETE_ALL.equals(action)) {
 				handleActionDeleteAll();
 			}
 		}

+ 1 - 23
src/de/tudarmstadt/informatik/hostage/logging/Record.java

@@ -10,7 +10,7 @@ import de.tudarmstadt.informatik.hostage.logging.formatter.Formatter;
  * attacker.<br>
  * The class has no own functionality except for getter and setter methods. To
  * change the logging mechanism you have to to change the logger in
- * {@link de.tudarmstadt.informatik.hostage.HoneyService HoneyService} and
+ * {@link de.tudarmstadt.informatik.hostage.Hostage HoneyService} and
  * {@link de.tudarmstadt.informatik.hostage.ui.ViewLog ViewLog}
  * 
  * @author Mihai Plasoianu
@@ -32,10 +32,8 @@ public class Record implements Parcelable {
 
 	// network
 	private String localIP;
-	private String localHost;
 	private int localPort;
 	private String remoteIP;
-	private String remoteHost; //TODO remove host
 	private int remotePort;
 	private String externalIP;
 	private String bssid;
@@ -74,10 +72,8 @@ public class Record implements Parcelable {
 
 		// network
 		this.localIP = source.readString();
-		this.localHost = source.readString();
 		this.localPort = source.readInt();
 		this.remoteIP = source.readString();
-		this.remoteHost = source.readString();
 		this.remotePort = source.readInt();
 		this.externalIP = source.readString();
 		this.bssid = source.readString();
@@ -119,10 +115,6 @@ public class Record implements Parcelable {
 		return latitude;
 	}
 
-	public String getLocalHost() {
-		return localHost;
-	}
-
 	public String getLocalIP() {
 		return localIP;
 	}
@@ -143,10 +135,6 @@ public class Record implements Parcelable {
 		return protocol;
 	}
 
-	public String getRemoteHost() {
-		return remoteHost;
-	}
-
 	public String getRemoteIP() {
 		return remoteIP;
 	}
@@ -195,10 +183,6 @@ public class Record implements Parcelable {
 		this.latitude = latitude;
 	}
 
-	public void setLocalHost(String localHost) {
-		this.localHost = localHost;
-	}
-
 	public void setLocalIP(String localIP) {
 		this.localIP = localIP;
 	}
@@ -219,10 +203,6 @@ public class Record implements Parcelable {
 		this.protocol = protocol;
 	}
 
-	public void setRemoteHost(String remoteHost) {
-		this.remoteHost = remoteHost;
-	}
-
 	public void setRemoteIP(String remoteIP) {
 		this.remoteIP = remoteIP;
 	}
@@ -271,10 +251,8 @@ public class Record implements Parcelable {
 
 		// network
 		dest.writeString(localIP);
-		dest.writeString(localHost);
 		dest.writeInt(localPort);
 		dest.writeString(remoteIP);
-		dest.writeString(remoteHost);
 		dest.writeInt(remotePort);
 		dest.writeString(externalIP);
 		dest.writeString(bssid);

+ 3 - 7
src/de/tudarmstadt/informatik/hostage/logging/formatter/DefaultFormatter.java

@@ -16,13 +16,9 @@ public class DefaultFormatter extends Formatter {
 
 	@Override
 	public synchronized String format(Record record) {
-		ProtocolFormatter formatter = ProtocolFormatter.getFormatter(record
-				.getProtocol());
-		return String.format("%d %s [%d,%s:%d,%s:%d,%s]",
-				record.getAttack_id(), record.getType().name(),
-				record.getTimestamp(), record.getLocalIP(),
-				record.getLocalPort(), record.getRemoteIP(),
-				record.getRemotePort(), formatter.format(record.getPacket()));
+		ProtocolFormatter formatter = ProtocolFormatter.getFormatter(record.getProtocol());
+		return String.format("%d %s [%d,%s:%d,%s:%d,%s]", record.getAttack_id(), record.getType().name(), record.getTimestamp(), record.getLocalIP(),
+				record.getLocalPort(), record.getRemoteIP(), record.getRemotePort(), formatter.format(record.getPacket()));
 	}
 
 }

+ 1 - 3
src/de/tudarmstadt/informatik/hostage/logging/formatter/TraCINgFormatter.java

@@ -17,9 +17,7 @@ public class TraCINgFormatter extends Formatter {
 	public synchronized String format(Record record) {
 		return String
 				.format("{ \"sensor\":{\"type\": \"Honeypot\", \"name\": \"HosTaGe\"}, \"type\": \"%s server access\", \"src\":{\"ip\": \"%s\", \"port\": %d}, \"dst\":{\"ip\": \"%s\", \"port\": %d} }",
-						record.getProtocol(), record.getRemoteIP(),
-						record.getRemotePort(), record.getExternalIP(),
-						record.getLocalPort());
+						record.getProtocol(), record.getRemoteIP(), record.getRemotePort(), record.getExternalIP(), record.getLocalPort());
 	}
 
 }

+ 9 - 4
src/de/tudarmstadt/informatik/hostage/db/HostageDbContract.java → src/de/tudarmstadt/informatik/hostage/persistence/HostageDBContract.java

@@ -1,8 +1,9 @@
-package de.tudarmstadt.informatik.hostage.db;
+package de.tudarmstadt.informatik.hostage.persistence;
 
 import android.provider.BaseColumns;
 
-public final class HostageDbContract {
+public final class HostageDBContract {
+
 	public static abstract class NetworkEntry implements BaseColumns {
 		public static final String TABLE_NAME = "network";
 		public static final String COLUMN_NAME_BSSID = "_bssid";
@@ -11,6 +12,8 @@ public final class HostageDbContract {
 		public static final String COLUMN_NAME_LONGITUDE = "longitude";
 		public static final String COLUMN_NAME_ACCURACY = "accuracy";
 		public static final String COLUMN_NAME_GEO_TIMESTAMP = "geo_timestamp";
+
+		public static final String KEY_ID = COLUMN_NAME_BSSID;
 	}
 
 	public static abstract class AttackEntry implements BaseColumns {
@@ -19,12 +22,12 @@ public final class HostageDbContract {
 		public static final String COLUMN_NAME_PROTOCOL = "protocol";
 		public static final String COLUMN_NAME_EXTERNAL_IP = "externalIP";
 		public static final String COLUMN_NAME_LOCAL_IP = "localIP";
-		public static final String COLUMN_NAME_LOCAL_HOST_NAME = "localHostName";
 		public static final String COLUMN_NAME_LOCAL_PORT = "localPort";
 		public static final String COLUMN_NAME_REMOTE_IP = "remoteIP";
-		public static final String COLUMN_NAME_REMOTE_HOST_NAME = "remoteHostName";
 		public static final String COLUMN_NAME_REMOTE_PORT = "remotePort";
 		public static final String COLUMN_NAME_BSSID = "_bssid";
+
+		public static final String KEY_ID = COLUMN_NAME_ATTACK_ID;
 	}
 
 	public static abstract class PacketEntry implements BaseColumns {
@@ -34,6 +37,8 @@ public final class HostageDbContract {
 		public static final String COLUMN_NAME_TYPE = "type";
 		public static final String COLUMN_NAME_PACKET_TIMESTAMP = "packet_timestamp";
 		public static final String COLUMN_NAME_PACKET = "packet";
+
+		public static final String KEY_ID = COLUMN_NAME_ID;
 	}
 
 }

+ 57 - 40
src/de/tudarmstadt/informatik/hostage/db/HostageDbHelper.java → src/de/tudarmstadt/informatik/hostage/persistence/HostageDBOpenHelper.java

@@ -1,4 +1,4 @@
-package de.tudarmstadt.informatik.hostage.db;
+package de.tudarmstadt.informatik.hostage.persistence;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -9,40 +9,64 @@ import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteOpenHelper;
 import android.util.Log;
-import de.tudarmstadt.informatik.hostage.db.HostageDbContract.AttackEntry;
-import de.tudarmstadt.informatik.hostage.db.HostageDbContract.NetworkEntry;
-import de.tudarmstadt.informatik.hostage.db.HostageDbContract.PacketEntry;
 import de.tudarmstadt.informatik.hostage.logging.Record;
 import de.tudarmstadt.informatik.hostage.logging.Record.TYPE;
+import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.AttackEntry;
+import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.NetworkEntry;
+import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.PacketEntry;
 
-public class HostageDbHelper extends SQLiteOpenHelper {
+public class HostageDBOpenHelper extends SQLiteOpenHelper {
 
 	private static final String DATABASE_NAME = "hostage.db";
 	private static final int DATABASE_VERSION = 1;
 
-	private static final String SQL_CREATE_PACKET_ENTRIES = "CREATE TABLE " + PacketEntry.TABLE_NAME + "(" + PacketEntry.COLUMN_NAME_ID + " INTEGER NOT NULL,"
-			+ PacketEntry.COLUMN_NAME_ATTACK_ID + " INTEGER NOT NULL," + PacketEntry.COLUMN_NAME_TYPE + " TEXT," + PacketEntry.COLUMN_NAME_PACKET_TIMESTAMP
-			+ " INTEGER," + PacketEntry.COLUMN_NAME_PACKET + " TEXT," + "FOREIGN KEY(" + PacketEntry.COLUMN_NAME_ATTACK_ID + ") REFERENCES "
-			+ AttackEntry.TABLE_NAME + "(" + PacketEntry.COLUMN_NAME_ATTACK_ID + ")," + "PRIMARY KEY(" + PacketEntry.COLUMN_NAME_ID + ", "
-			+ PacketEntry.COLUMN_NAME_ATTACK_ID + ")" + ")";
-
-	private static final String SQL_CREATE_ATTACK_ENTRIES = "CREATE TABLE " + AttackEntry.TABLE_NAME + "(" + AttackEntry.COLUMN_NAME_ATTACK_ID
-			+ " INTEGER PRIMARY KEY," + AttackEntry.COLUMN_NAME_PROTOCOL + " TEXT," + AttackEntry.COLUMN_NAME_EXTERNAL_IP + " TEXT,"
-			+ AttackEntry.COLUMN_NAME_LOCAL_IP + " BLOB," + AttackEntry.COLUMN_NAME_LOCAL_HOST_NAME + " TEXT," + AttackEntry.COLUMN_NAME_LOCAL_PORT
-			+ " INTEGER," + AttackEntry.COLUMN_NAME_REMOTE_IP + " BLOB," + AttackEntry.COLUMN_NAME_REMOTE_HOST_NAME + " TEXT,"
-			+ AttackEntry.COLUMN_NAME_REMOTE_PORT + " INTEGER," + AttackEntry.COLUMN_NAME_BSSID + " TEXT," + "FOREIGN KEY(" + AttackEntry.COLUMN_NAME_BSSID
-			+ ") REFERENCES " + NetworkEntry.TABLE_NAME + "(" + NetworkEntry.COLUMN_NAME_BSSID + ")" + ")";
+	static {
+		StringBuilder networkSQLBuilder = new StringBuilder("CREATE TABLE ").append(NetworkEntry.TABLE_NAME).append("(");
+		networkSQLBuilder.append(NetworkEntry.COLUMN_NAME_BSSID).append(" TEXT PRIMARY KEY,");
+		networkSQLBuilder.append(NetworkEntry.COLUMN_NAME_SSID).append(" TEXT,");
+		networkSQLBuilder.append(NetworkEntry.COLUMN_NAME_LATITUDE).append(" INTEGER,");
+		networkSQLBuilder.append(NetworkEntry.COLUMN_NAME_LONGITUDE).append(" INTEGER,");
+		networkSQLBuilder.append(NetworkEntry.COLUMN_NAME_ACCURACY).append(" INTEGER,");
+		networkSQLBuilder.append(NetworkEntry.COLUMN_NAME_GEO_TIMESTAMP).append(" INTEGER");
+		networkSQLBuilder.append(")");
+		SQL_CREATE_NETWORK_ENTRIES = networkSQLBuilder.toString();
+
+		StringBuilder attackSQLBuilder = new StringBuilder("CREATE TABLE ").append(AttackEntry.TABLE_NAME).append("(");
+		attackSQLBuilder.append(AttackEntry.COLUMN_NAME_ATTACK_ID).append(" INTEGER PRIMARY KEY,");
+		attackSQLBuilder.append(AttackEntry.COLUMN_NAME_PROTOCOL).append(" TEXT,");
+		attackSQLBuilder.append(AttackEntry.COLUMN_NAME_EXTERNAL_IP).append(" TEXT,");
+		attackSQLBuilder.append(AttackEntry.COLUMN_NAME_LOCAL_IP).append(" BLOB,");
+		attackSQLBuilder.append(AttackEntry.COLUMN_NAME_LOCAL_PORT).append(" INTEGER,");
+		attackSQLBuilder.append(AttackEntry.COLUMN_NAME_REMOTE_IP).append(" BLOB,");
+		attackSQLBuilder.append(AttackEntry.COLUMN_NAME_REMOTE_PORT).append(" INTEGER,");
+		attackSQLBuilder.append(AttackEntry.COLUMN_NAME_BSSID).append(" TEXT,");
+		attackSQLBuilder.append(String.format("FOREIGN KEY(%s) REFERENCES %s(%s)", AttackEntry.COLUMN_NAME_BSSID, NetworkEntry.TABLE_NAME,
+				NetworkEntry.COLUMN_NAME_BSSID));
+		attackSQLBuilder.append(")");
+		SQL_CREATE_ATTACK_ENTRIES = attackSQLBuilder.toString();
+
+		StringBuilder packetSQLBuilder = new StringBuilder("CREATE TABLE ").append(PacketEntry.TABLE_NAME).append("(");
+		packetSQLBuilder.append(PacketEntry.COLUMN_NAME_ID).append(" INTEGER NOT NULL,");
+		packetSQLBuilder.append(PacketEntry.COLUMN_NAME_ATTACK_ID).append(" INTEGER NOT NULL,");
+		packetSQLBuilder.append(PacketEntry.COLUMN_NAME_TYPE).append(" TEXT,");
+		packetSQLBuilder.append(PacketEntry.COLUMN_NAME_PACKET_TIMESTAMP).append(" INTEGER,");
+		packetSQLBuilder.append(PacketEntry.COLUMN_NAME_PACKET).append(" TEXT,");
+		packetSQLBuilder.append(String.format("PRIMARY KEY(%s,%s)", PacketEntry.COLUMN_NAME_ID, PacketEntry.COLUMN_NAME_ATTACK_ID));
+		packetSQLBuilder.append(String.format("FOREIGN KEY(%s) REFERENCES %s(%s)", PacketEntry.COLUMN_NAME_ATTACK_ID, AttackEntry.TABLE_NAME,
+				AttackEntry.COLUMN_NAME_ATTACK_ID));
+		packetSQLBuilder.append(")");
+		SQL_CREATE_PACKET_ENTRIES = packetSQLBuilder.toString();
+	}
 
-	private static final String SQL_CREATE_NETWORK_ENTRIES = "CREATE TABLE " + NetworkEntry.TABLE_NAME + "(" + NetworkEntry.COLUMN_NAME_BSSID
-			+ " TEXT PRIMARY KEY," + NetworkEntry.COLUMN_NAME_SSID + " TEXT," + NetworkEntry.COLUMN_NAME_LATITUDE + " INTEGER,"
-			+ NetworkEntry.COLUMN_NAME_LONGITUDE + " INTEGER," + NetworkEntry.COLUMN_NAME_ACCURACY + " INTEGER," + NetworkEntry.COLUMN_NAME_GEO_TIMESTAMP
-			+ " INTEGER" + ")";
+	private static final String SQL_CREATE_NETWORK_ENTRIES;
+	private static final String SQL_CREATE_ATTACK_ENTRIES;
+	private static final String SQL_CREATE_PACKET_ENTRIES;
 
 	private static final String SQL_DELETE_PACKET_ENTRIES = "DROP TABLE IF EXISTS " + PacketEntry.TABLE_NAME;
 	private static final String SQL_DELETE_ATTACK_ENTRIES = "DROP TABLE IF EXISTS " + AttackEntry.TABLE_NAME;
 	private static final String SQL_DELETE_NETWORK_ENTRIES = "DROP TABLE IF EXISTS " + NetworkEntry.TABLE_NAME;
 
-	public HostageDbHelper(Context context) {
+	public HostageDBOpenHelper(Context context) {
 		super(context, DATABASE_NAME, null, DATABASE_VERSION);
 	}
 
@@ -87,12 +111,10 @@ public class HostageDbHelper extends SQLiteOpenHelper {
 		attackValues.put(AttackEntry.COLUMN_NAME_LOCAL_IP, record.getLocalIP()); // Log
 																					// Local
 																					// IP
-		attackValues.put(AttackEntry.COLUMN_NAME_LOCAL_HOST_NAME, record.getLocalHost());
 		attackValues.put(AttackEntry.COLUMN_NAME_LOCAL_PORT, record.getLocalPort());
 		attackValues.put(AttackEntry.COLUMN_NAME_REMOTE_IP, record.getRemoteIP()); // Log
 																					// Remote
 																					// IP
-		attackValues.put(AttackEntry.COLUMN_NAME_REMOTE_HOST_NAME, record.getRemoteHost());
 		attackValues.put(AttackEntry.COLUMN_NAME_REMOTE_PORT, record.getRemotePort()); // Log
 																						// Remote
 																						// Port
@@ -186,7 +208,6 @@ public class HostageDbHelper extends SQLiteOpenHelper {
 		db.close();
 	}
 
-	// TODO Delete statement �berarbeiten
 	/**
 	 * Deletes all records from {@link #PacketEntry.TABLE_NAME} with a time stamp smaller
 	 * then the given
@@ -197,8 +218,6 @@ public class HostageDbHelper extends SQLiteOpenHelper {
 	public void deleteByDate(long date) {
 		SQLiteDatabase db = this.getReadableDatabase();
 		String deleteQuery = "DELETE  FROM " + PacketEntry.TABLE_NAME + " WHERE " + PacketEntry.COLUMN_NAME_PACKET_TIMESTAMP + " < " + date;
-		// TODO Delete statement überarbeiten
-		// String deleteQuery2 = "DELETE "
 		db.execSQL(deleteQuery);
 		db.close();
 	}
@@ -589,19 +608,17 @@ public class HostageDbHelper extends SQLiteOpenHelper {
 		record.setExternalIP(cursor.getString(6));
 
 		record.setLocalIP(cursor.getString(7));
-		record.setLocalHost(cursor.getString(8));
-		record.setLocalPort(Integer.parseInt(cursor.getString(9)));
-
-		record.setRemoteIP(cursor.getString(10));
-		record.setRemoteHost(cursor.getString(11));
-		record.setRemotePort(Integer.parseInt(cursor.getString(12)));
-
-		record.setBssid(cursor.getString(13));
-		record.setSsid(cursor.getString(14));
-		record.setLatitude(Double.parseDouble(cursor.getString(15)));
-		record.setLongitude(Double.parseDouble(cursor.getString(16)));
-		record.setAccuracy(Float.parseFloat(cursor.getString(17)));
-		record.setTimestampLocation(cursor.getLong(18));
+		record.setLocalPort(Integer.parseInt(cursor.getString(8)));
+
+		record.setRemoteIP(cursor.getString(9));
+		record.setRemotePort(Integer.parseInt(cursor.getString(10)));
+
+		record.setBssid(cursor.getString(11));
+		record.setSsid(cursor.getString(12));
+		record.setLatitude(Double.parseDouble(cursor.getString(13)));
+		record.setLongitude(Double.parseDouble(cursor.getString(14)));
+		record.setAccuracy(Float.parseFloat(cursor.getString(15)));
+		record.setTimestampLocation(cursor.getLong(16));
 
 		return record;
 	}

+ 2 - 2
src/de/tudarmstadt/informatik/hostage/protocol/HTTPS.java

@@ -5,7 +5,7 @@ import java.security.KeyStore;
 import javax.net.ssl.KeyManagerFactory;
 import javax.net.ssl.SSLContext;
 
-import de.tudarmstadt.informatik.hostage.HoneyService;
+import de.tudarmstadt.informatik.hostage.Hostage;
 
 /**
  * HTTPS protocol. Extends HTTP. Implementation of RFC document 2818. It can handle the
@@ -30,7 +30,7 @@ public class HTTPS extends HTTP implements SSLProtocol {
 		try {
 			keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
 			keyStore.load(
-					HoneyService.getContext().getAssets().open(keyStoreName),
+					Hostage.getContext().getAssets().open(keyStoreName),
 					keyStorePassword);
 			keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory
 					.getDefaultAlgorithm());

+ 3 - 3
src/de/tudarmstadt/informatik/hostage/protocol/SMB.java

@@ -9,7 +9,7 @@ import java.util.List;
 import java.util.TimeZone;
 
 import android.content.Context;
-import de.tudarmstadt.informatik.hostage.HoneyService;
+import de.tudarmstadt.informatik.hostage.Hostage;
 import de.tudarmstadt.informatik.hostage.R;
 import de.tudarmstadt.informatik.hostage.commons.HelperUtils;
 import de.tudarmstadt.informatik.hostage.wrapper.Packet;
@@ -98,9 +98,9 @@ public class SMB implements Protocol {
 	}
 
 	private static String[] initServerVersion() {
-		String sharedPreferencePath = HoneyService.getContext().getString(
+		String sharedPreferencePath = Hostage.getContext().getString(
 				R.string.shared_preference_path);
-		String profile = HoneyService
+		String profile = Hostage
 				.getContext()
 				.getSharedPreferences(sharedPreferencePath,
 						Context.MODE_PRIVATE).getString("profile", "");

+ 2 - 2
src/de/tudarmstadt/informatik/hostage/sync/BluetoothSync.java

@@ -19,7 +19,7 @@ import android.content.Intent;
 import android.content.IntentFilter;
 import android.widget.ArrayAdapter;
 import de.tudarmstadt.informatik.hostage.R;
-import de.tudarmstadt.informatik.hostage.db.HostageDbHelper;
+import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
 
 public class BluetoothSync {
 
@@ -100,7 +100,7 @@ public class BluetoothSync {
 			// while (true) {
 			try {
 				// TODO Ersetze dbh mit Logger
-				HostageDbHelper dbh = new HostageDbHelper(context);
+				HostageDBOpenHelper dbh = new HostageDBOpenHelper(context);
 				ArrayList<HashMap<String, Object>> localNetworkInformation = dbh.getNetworkInformation();
 				if (identifier == SERVER) {
 					// Read from the InputStream

+ 3 - 3
src/de/tudarmstadt/informatik/hostage/sync/NFCSync.java

@@ -42,7 +42,7 @@ import android.util.Log;
 import android.widget.TextView;
 import android.widget.Toast;
 import de.tudarmstadt.informatik.hostage.R;
-import de.tudarmstadt.informatik.hostage.db.HostageDbHelper;
+import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
 
 @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
 public class NFCSync extends Activity implements CreateNdefMessageCallback, OnNdefPushCompleteCallback {
@@ -82,7 +82,7 @@ public class NFCSync extends Activity implements CreateNdefMessageCallback, OnNd
 	@Override
 	public NdefMessage createNdefMessage(NfcEvent event) {
 		// Get Networkdata
-		HostageDbHelper dbh = new HostageDbHelper(this);
+		HostageDBOpenHelper dbh = new HostageDBOpenHelper(this);
 		ArrayList<HashMap<String, Object>> localNetworkInformation = dbh.getNetworkInformation();
 		Log.i("NFC", "Creating Message");
 		NdefMessage msg = null;
@@ -164,7 +164,7 @@ public class NFCSync extends Activity implements CreateNdefMessageCallback, OnNd
 		try {
 			object = deserialize(msg.getRecords()[0].getPayload());
 			ArrayList<HashMap<String, Object>> remoteNetworkInformation = (ArrayList<HashMap<String, Object>>) object;
-			HostageDbHelper dbh = new HostageDbHelper(this);
+			HostageDBOpenHelper dbh = new HostageDBOpenHelper(this);
 			dbh.updateNetworkInformation(remoteNetworkInformation);
 		} catch (ClassNotFoundException e) {
 			// TODO Auto-generated catch block

+ 18 - 35
src/de/tudarmstadt/informatik/hostage/ui/MainActivity.java

@@ -3,7 +3,6 @@ package de.tudarmstadt.informatik.hostage.ui;
 import java.util.ArrayList;
 import java.util.HashMap;
 
-import android.app.Activity;
 import android.app.ActivityManager;
 import android.app.ActivityManager.RunningServiceInfo;
 import android.content.BroadcastReceiver;
@@ -14,8 +13,8 @@ import android.content.IntentFilter;
 import android.content.ServiceConnection;
 import android.content.SharedPreferences;
 import android.os.Bundle;
-import android.os.Handler;
 import android.os.IBinder;
+import android.support.v4.app.FragmentActivity;
 import android.support.v4.content.LocalBroadcastManager;
 import android.view.GestureDetector;
 import android.view.GestureDetector.SimpleOnGestureListener;
@@ -34,14 +33,10 @@ import android.widget.ListView;
 import android.widget.TextView;
 import android.widget.ToggleButton;
 import android.widget.ViewAnimator;
-import de.tudarmstadt.informatik.hostage.HoneyService;
-import de.tudarmstadt.informatik.hostage.HoneyService.LocalBinder;
+import de.tudarmstadt.informatik.hostage.Hostage;
+import de.tudarmstadt.informatik.hostage.Hostage.LocalBinder;
 import de.tudarmstadt.informatik.hostage.R;
-import de.tudarmstadt.informatik.hostage.commons.HelperUtils;
-import de.tudarmstadt.informatik.hostage.db.HostageDbHelper;
-import de.tudarmstadt.informatik.hostage.logging.LogResultReceiver;
-import de.tudarmstadt.informatik.hostage.logging.LogResultReceiver.Receiver;
-import de.tudarmstadt.informatik.hostage.logging.Logger;
+import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
 
 /**
  * MainActivity is the central activity for the GUI of the application.
@@ -56,7 +51,7 @@ import de.tudarmstadt.informatik.hostage.logging.Logger;
  * @author Lars Pandikow
  * @author Wulf Pfeiffer
  */
-public class MainActivity extends Activity implements Receiver {
+public class MainActivity extends FragmentActivity {
 
 	/**
 	 * Integer representing a grey light.
@@ -75,10 +70,9 @@ public class MainActivity extends Activity implements Receiver {
 	 */
 	public static final int LIGHT_YELLOW = 0x04;
 
-	public LogResultReceiver logResultReceiver;
 	private SharedPreferences connectionInfo;
 
-	private HoneyService mService;
+	private Hostage mService;
 	private boolean serviceBound;
 
 	// variables for the swipe animation
@@ -92,12 +86,10 @@ public class MainActivity extends Activity implements Receiver {
 	private ListView listView;
 	private ListViewAdapter adapter;
 
-	private boolean isBssidSeen = false;
-
 	/**
 	 * Connection to bind the background service
 	 * 
-	 * @see HoneyService
+	 * @see Hostage
 	 */
 	private ServiceConnection mConnection = new ServiceConnection() {
 		/**
@@ -200,11 +192,6 @@ public class MainActivity extends Activity implements Receiver {
 		return super.onOptionsItemSelected(item);
 	}
 
-	@Override
-	public void onReceiveResult(int resultCode, Bundle resultData) {
-		isBssidSeen = resultData.getBoolean("result");
-	}
-
 	@Override
 	public boolean onTouchEvent(MotionEvent event) {
 		return gestureDetector.onTouchEvent(event);
@@ -228,7 +215,7 @@ public class MainActivity extends Activity implements Receiver {
 	/**
 	 * Binds service to Activity
 	 * 
-	 * @see HoneyService
+	 * @see Hostage
 	 */
 	private void bindService() {
 		bindService(getServiceIntent(), mConnection, BIND_AUTO_CREATE);
@@ -240,7 +227,7 @@ public class MainActivity extends Activity implements Receiver {
 	 * @return An Intent to start HoneyService
 	 */
 	private Intent getServiceIntent() {
-		return new Intent(this, HoneyService.class);
+		return new Intent(this, Hostage.class);
 	}
 
 	/**
@@ -304,23 +291,23 @@ public class MainActivity extends Activity implements Receiver {
 	}
 
 	/**
-	 * Checks if a {@link HoneyService} instance is running.
+	 * Checks if a {@link Hostage} instance is running.
 	 * 
-	 * @return True if {@link HoneyService} is running, else false.
+	 * @return True if {@link Hostage} is running, else false.
 	 */
 	private boolean isServiceBound() {
 		return serviceBound;
 	}
 
 	/**
-	 * Checks if a {@link HoneyService} instance is running.
+	 * Checks if a {@link Hostage} instance is running.
 	 * 
-	 * @return True if {@link HoneyService} is running, else false.
+	 * @return True if {@link Hostage} is running, else false.
 	 */
 	private boolean isServiceRunning() {
 		ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
 		for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
-			if (service.service.getClassName().equals(HoneyService.class.getName())) {
+			if (service.service.getClassName().equals(Hostage.class.getName())) {
 				return true;
 			}
 		}
@@ -349,7 +336,7 @@ public class MainActivity extends Activity implements Receiver {
 	/**
 	 * Stops service and unbinds it.
 	 * 
-	 * @see HoneyService
+	 * @see Hostage
 	 */
 	private void stopAndUnbind() {
 		unbindService();
@@ -381,7 +368,7 @@ public class MainActivity extends Activity implements Receiver {
 	/**
 	 * Unbinds service.
 	 * 
-	 * @see HoneyService
+	 * @see Hostage
 	 */
 	private void unbindService() {
 		unbindService(mConnection);
@@ -445,7 +432,7 @@ public class MainActivity extends Activity implements Receiver {
 	 */
 	private void updateProtocolConnections(int connections, String protocolName) {
 		for (int i = 0; i < adapter.getCount(); ++i) {
-			HashMap<String, String> d = ((HashMap<String, String>) adapter.getItem(i));
+			HashMap<String, String> d = (HashMap<String, String>) adapter.getItem(i);
 			if (d.get("protocol").equals(protocolName)) {
 				d.put("connections", String.valueOf(connections));
 			}
@@ -540,8 +527,7 @@ public class MainActivity extends Activity implements Receiver {
 						// Check if the bssid of the wireless network has
 						// already
 						// been recorded as infected.
-						Logger.isBssidSeen(getApplicationContext(), protocol, HelperUtils.getBSSID(getApplicationContext()), logResultReceiver);
-						HostageDbHelper dbh = new HostageDbHelper(this);
+						HostageDBOpenHelper dbh = new HostageDBOpenHelper(this);
 						if (dbh.bssidSeen(protocol, connectionInfo.getString(getString(R.string.connection_info_bssid), null))) {
 							updateProtocolLight(LIGHT_YELLOW, protocol);
 							yellowLight = true;
@@ -581,7 +567,6 @@ public class MainActivity extends Activity implements Receiver {
 	@Override
 	protected void onCreate(Bundle savedInstanceState) {
 		super.onCreate(savedInstanceState);
-		logResultReceiver = new LogResultReceiver(new Handler());
 		setContentView(R.layout.activity_main);
 		connectionInfo = getSharedPreferences(getString(R.string.connection_info), Context.MODE_PRIVATE);
 
@@ -606,7 +591,6 @@ public class MainActivity extends Activity implements Receiver {
 		super.onStart();
 		// Register Broadcast Receiver
 		registerReceiver();
-		logResultReceiver.setReceiver(this);
 		// Bind service if running, else check for connection change and delete
 		// sessionData
 		if (isServiceRunning()) {
@@ -620,7 +604,6 @@ public class MainActivity extends Activity implements Receiver {
 	protected void onStop() {
 		// Unregister Broadcast Receiver
 		unregisterReceiver();
-		logResultReceiver.setReceiver(null);
 		super.onStop();
 	}
 

+ 16 - 16
src/de/tudarmstadt/informatik/hostage/ui/PlayGroundActivity.java

@@ -12,8 +12,8 @@ import android.view.Menu;
 import android.view.View;
 import android.widget.TextView;
 import de.tudarmstadt.informatik.hostage.R;
-import de.tudarmstadt.informatik.hostage.db.HostageDbContract;
-import de.tudarmstadt.informatik.hostage.db.HostageDbHelper;
+import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract;
+import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
 import de.tudarmstadt.informatik.hostage.sync.BluetoothSync;
 import de.tudarmstadt.informatik.hostage.sync.NFCSync;
 
@@ -26,17 +26,17 @@ public class PlayGroundActivity extends Activity {
 		ArrayList<HashMap<String, Object>> fakeNetInfo = new ArrayList<HashMap<String, Object>>();
 		for (int i = 0; i < 25; i++) {
 			HashMap<String, Object> network = new HashMap<String, Object>();
-			network.put(HostageDbContract.NetworkEntry.COLUMN_NAME_BSSID, createRandomBSSID());
-			network.put(HostageDbContract.NetworkEntry.COLUMN_NAME_SSID, new BigInteger(130, rnd).toString(32));
-			network.put(HostageDbContract.NetworkEntry.COLUMN_NAME_LATITUDE, rnd.nextDouble() * 360);
-			network.put(HostageDbContract.NetworkEntry.COLUMN_NAME_LONGITUDE, rnd.nextDouble() * 360);
-			network.put(HostageDbContract.NetworkEntry.COLUMN_NAME_ACCURACY, rnd.nextFloat());
-			network.put(HostageDbContract.NetworkEntry.COLUMN_NAME_GEO_TIMESTAMP, System.currentTimeMillis());
+			network.put(HostageDBContract.NetworkEntry.COLUMN_NAME_BSSID, createRandomBSSID());
+			network.put(HostageDBContract.NetworkEntry.COLUMN_NAME_SSID, new BigInteger(130, rnd).toString(32));
+			network.put(HostageDBContract.NetworkEntry.COLUMN_NAME_LATITUDE, rnd.nextDouble() * 360);
+			network.put(HostageDBContract.NetworkEntry.COLUMN_NAME_LONGITUDE, rnd.nextDouble() * 360);
+			network.put(HostageDBContract.NetworkEntry.COLUMN_NAME_ACCURACY, rnd.nextFloat());
+			network.put(HostageDBContract.NetworkEntry.COLUMN_NAME_GEO_TIMESTAMP, System.currentTimeMillis());
 			fakeNetInfo.add(network);
 		}
 
 		setNetworkInfoText();
-		new HostageDbHelper(this).updateNetworkInformation(fakeNetInfo);
+		new HostageDBOpenHelper(this).updateNetworkInformation(fakeNetInfo);
 	}
 
 	@Override
@@ -73,17 +73,17 @@ public class PlayGroundActivity extends Activity {
 	}
 
 	private void setNetworkInfoText() {
-		HostageDbHelper dbh = new HostageDbHelper(this);
+		HostageDBOpenHelper dbh = new HostageDBOpenHelper(this);
 		TextView bssids = (TextView) findViewById(R.id.textView1);
 		String text = "";
 		ArrayList<HashMap<String, Object>> netInfo = dbh.getNetworkInformation();
 		for (HashMap<String, Object> network : netInfo) {
-			text = text + (String) network.get(HostageDbContract.NetworkEntry.COLUMN_NAME_BSSID) + "\n"
-					+ (String) network.get(HostageDbContract.NetworkEntry.COLUMN_NAME_SSID) + "\n"
-					+ network.get(HostageDbContract.NetworkEntry.COLUMN_NAME_LATITUDE) + "\n"
-					+ network.get(HostageDbContract.NetworkEntry.COLUMN_NAME_LONGITUDE) + "\n"
-					+ network.get(HostageDbContract.NetworkEntry.COLUMN_NAME_ACCURACY) + "\n"
-					+ network.get(HostageDbContract.NetworkEntry.COLUMN_NAME_GEO_TIMESTAMP) + "\n\n";
+			text = text + (String) network.get(HostageDBContract.NetworkEntry.COLUMN_NAME_BSSID) + "\n"
+					+ (String) network.get(HostageDBContract.NetworkEntry.COLUMN_NAME_SSID) + "\n"
+					+ network.get(HostageDBContract.NetworkEntry.COLUMN_NAME_LATITUDE) + "\n"
+					+ network.get(HostageDBContract.NetworkEntry.COLUMN_NAME_LONGITUDE) + "\n"
+					+ network.get(HostageDBContract.NetworkEntry.COLUMN_NAME_ACCURACY) + "\n"
+					+ network.get(HostageDBContract.NetworkEntry.COLUMN_NAME_GEO_TIMESTAMP) + "\n\n";
 		}
 		bssids.setText(text);
 	}

+ 2 - 2
src/de/tudarmstadt/informatik/hostage/ui/ViewLogTable.java

@@ -4,8 +4,8 @@ import android.app.Activity;
 import android.os.Bundle;
 import android.widget.ScrollView;
 import android.widget.TextView;
-import de.tudarmstadt.informatik.hostage.db.HostageDbHelper;
 import de.tudarmstadt.informatik.hostage.logging.Record;
+import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
 
 /**
  * Creates a simple log view. Shows the Information for every attack. The format
@@ -19,7 +19,7 @@ public class ViewLogTable extends Activity {
 	@Override
 	protected void onCreate(Bundle savedInstanceState) {
 		super.onCreate(savedInstanceState);
-		HostageDbHelper dbh = new HostageDbHelper(getBaseContext());
+		HostageDBOpenHelper dbh = new HostageDBOpenHelper(getBaseContext());
 		StringBuffer log = new StringBuffer();
 		// Create a log entry for every attack in the Database
 		for (Record record : dbh.getAllRecords()) {