Browse Source

fixed some some merge bugs

Alexander Brakowski 10 years ago
parent
commit
252926cc92

+ 1 - 1
res/values/strings_preferences.xml

@@ -13,7 +13,7 @@
 	<string name="pref_notification">Notification</string>
 	<string name="pref_vibration">Vibration</string>
 	<string name="pref_vibration_summ">Enable Vibration</string>
-	<string name="pref_upload">Upload of Records</string>	
+	<string name="pref_upload">Online Database</string>
 	<string name="pref_upload_server">Server address</string>	
 	<string name="pref_connection_settings">Connection Settings</string>
 	<string name="pref_max_connections">Max Connections</string>	

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/Handler.java

@@ -107,7 +107,7 @@ public class Handler implements Runnable {
 		} catch (Exception e) {
 			
 		} 
-		//TODO kann ConcurrentModificationException auslösen, da über collection iteriert wird während elemente entfernt werden
+		//TODO kann ConcurrentModificationException auslösen, da über collection iteriert wird während elemente entfernt werden
 		listener.refreshHandlers();
 	}
 

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/Listener.java

@@ -121,7 +121,7 @@ public class Listener implements Runnable {
 			addHandler();
 		}
 		for (Handler handler : handlers) {
-			//TODO kann ConcurrentModificationException auslösen, da über collection iteriert wird während elemente entfernt werden
+			//TODO kann ConcurrentModificationException auslösen, da über collection iteriert wird während elemente entfernt werden
 			handler.kill();
 		}
 	}

+ 80 - 0
src/de/tudarmstadt/informatik/hostage/commons/HelperUtils.java

@@ -1,7 +1,24 @@
 package de.tudarmstadt.informatik.hostage.commons;
 
+import org.apache.http.HttpVersion;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.scheme.PlainSocketFactory;
+import org.apache.http.conn.scheme.Scheme;
+import org.apache.http.conn.scheme.SchemeRegistry;
+import org.apache.http.conn.ssl.SSLSocketFactory;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
+import org.apache.http.params.BasicHttpParams;
+import org.apache.http.params.HttpParams;
+import org.apache.http.params.HttpProtocolParams;
+import org.apache.http.protocol.HTTP;
+
 import java.net.InetAddress;
 import java.net.UnknownHostException;
+import java.security.KeyStore;
 import java.security.SecureRandom;
 
 import android.content.Context;
@@ -10,8 +27,13 @@ import android.net.NetworkInfo;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 import android.os.Environment;
+import android.preference.PreferenceManager;
 import android.text.TextUtils;
 
+import de.tudarmstadt.informatik.hostage.logging.Record;
+import de.tudarmstadt.informatik.hostage.logging.formatter.TraCINgFormatter;
+import de.tudarmstadt.informatik.hostage.net.MySSLSocketFactory;
+
 /**
  * Helper class with some static methods for general usage.
  * 
@@ -126,6 +148,8 @@ public final class HelperUtils {
 		return newBytes;
 	}
 
+
+
 	/**
 	 * Gets BSSID of the wireless network.
 	 * 
@@ -151,6 +175,62 @@ public final class HelperUtils {
 		return bssid;
 	}
 
+	public static HttpClient createHttpClient() {
+		try {
+			KeyStore trustStore = KeyStore.getInstance(KeyStore
+					.getDefaultType());
+			trustStore.load(null, null);
+
+			SSLSocketFactory sf = new MySSLSocketFactory(trustStore);
+			sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
+
+			HttpParams params = new BasicHttpParams();
+			HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
+			HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
+
+			SchemeRegistry registry = new SchemeRegistry();
+			registry.register(new Scheme("http", PlainSocketFactory
+					.getSocketFactory(), 80));
+			registry.register(new Scheme("https", sf, 443));
+
+			ClientConnectionManager ccm = new ThreadSafeClientConnManager(
+					params, registry);
+
+			return new DefaultHttpClient(ccm, params);
+		} catch (Exception e) {
+			e.printStackTrace();
+			return new DefaultHttpClient();
+		}
+	}
+
+	public static boolean uploadSingleRecord(Context context, Record record) {
+		// Create a https client. Uses MySSLSocketFactory to accept all
+		// certificates
+		HttpClient httpclient = HelperUtils.createHttpClient();
+		HttpPost httppost;
+
+		try {
+			// Create HttpPost
+			httppost = new HttpPost(PreferenceManager
+					.getDefaultSharedPreferences(context).getString(
+							"pref_upload", "https://ssi.cased.de"));
+
+			// Create JSON String of Record
+			StringEntity se = new StringEntity(record.toString(TraCINgFormatter.getInstance()));
+
+			httppost.setEntity(se);
+
+			// Execute HttpPost
+			httpclient.execute(httppost);
+
+		} catch (Exception e) {
+			e.printStackTrace();
+			return false;
+		}
+
+		return true;
+	}
+
 	/**
 	 * Gets internal IP address of the device in a wireless network.
 	 * 

+ 1 - 0
src/de/tudarmstadt/informatik/hostage/persistence/HostageDBOpenHelper.java

@@ -13,6 +13,7 @@ import de.tudarmstadt.informatik.hostage.commons.HelperUtils;
 import de.tudarmstadt.informatik.hostage.logging.AttackRecord;
 import de.tudarmstadt.informatik.hostage.logging.MessageRecord;
 import de.tudarmstadt.informatik.hostage.logging.NetworkRecord;
+import de.tudarmstadt.informatik.hostage.logging.Record;
 import de.tudarmstadt.informatik.hostage.logging.SyncInfoRecord;
 import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.AttackEntry;
 import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.NetworkEntry;

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

@@ -19,7 +19,7 @@ public class ViewLogTable extends Activity {
 	@Override
 	protected void onCreate(Bundle savedInstanceState) {
 		super.onCreate(savedInstanceState);
-		HostageDBOpenHelper dbh = new HostageDBOpenHelper(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()) {
@@ -31,7 +31,7 @@ public class ViewLogTable extends Activity {
 		text.setText(log);
 		text.setTextAppearance(this, android.R.style.TextAppearance_Medium);
 		scroll.addView(text);
-		setContentView(scroll);
+		setContentView(scroll);*/
 	}
 
 }

+ 2 - 2
src/de/tudarmstadt/informatik/hostage/ui2/activity/MainActivity.java

@@ -299,12 +299,12 @@ public class MainActivity extends Activity {
 		String action = getIntent().getAction();
 
 		if (action != null && action.equals("SHOW_HOME")) {
-			if (this.mDisplayedFragment != null && !this.mDisplayedFragment.getClass().equals(HomeFragment.class)) {
+			/*if (this.mDisplayedFragment != null && !this.mDisplayedFragment.getClass().equals(HomeFragment.class)) {
 				getFragmentManager().popBackStackImmediate(HomeFragment.class.getName(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
 				displayView(MainMenuItem.HOME.getValue());
 
 				getIntent().setAction(null);
-			}
+			}*/
 		}
 	}
 

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/ui2/fragment/HomeFragment.java

@@ -34,7 +34,7 @@ import de.tudarmstadt.informatik.hostage.commons.HelperUtils;
 import de.tudarmstadt.informatik.hostage.persistence.ProfileManager;
 import de.tudarmstadt.informatik.hostage.deprecated.UglyDbHelper;
 import de.tudarmstadt.informatik.hostage.model.Profile;
-import de.tudarmstadt.informatik.hostage.sync.BluetoothSync;
+import de.tudarmstadt.informatik.hostage.sync.bluetooth.BluetoothSync;
 import de.tudarmstadt.informatik.hostage.ui.LogFilter;
 import de.tudarmstadt.informatik.hostage.ui2.activity.MainActivity;
 import de.tudarmstadt.informatik.hostage.ui2.fragment.opengl.ThreatIndicatorGLRenderer;

+ 7 - 4
src/de/tudarmstadt/informatik/hostage/ui2/fragment/RecordOverviewFragment.java

@@ -40,10 +40,12 @@ import java.util.Random;
 import de.tudarmstadt.informatik.hostage.R;
 import de.tudarmstadt.informatik.hostage.commons.HelperUtils;
 import de.tudarmstadt.informatik.hostage.deprecated.UglyDbHelper;
+import de.tudarmstadt.informatik.hostage.logging.MessageRecord;
 import de.tudarmstadt.informatik.hostage.logging.Record;
 import de.tudarmstadt.informatik.hostage.logging.formatter.TraCINgFormatter;
-import de.tudarmstadt.informatik.hostage.sync.BluetoothSync;
-import de.tudarmstadt.informatik.hostage.sync.NFCSync;
+import de.tudarmstadt.informatik.hostage.sync.bluetooth.BluetoothSync;
+import de.tudarmstadt.informatik.hostage.sync.nfc.NFCSync;
+import de.tudarmstadt.informatik.hostage.sync.tracing.TracingSyncActivity;
 import de.tudarmstadt.informatik.hostage.ui.LogFilter;
 import de.tudarmstadt.informatik.hostage.ui.LogFilter.SortType;
 import de.tudarmstadt.informatik.hostage.ui2.activity.MainActivity;
@@ -340,7 +342,7 @@ public class RecordOverviewFragment extends UpNavigatibleFragment implements Che
 				builder.setItems(new String[]{
 						"Via Bluetooth",
 						"Via NFC",
-						"Via CASED database"
+						"Via Online Database"
 				}, new DialogInterface.OnClickListener() {
 					@Override
 					public void onClick(DialogInterface dialog, int position) {
@@ -353,6 +355,7 @@ public class RecordOverviewFragment extends UpNavigatibleFragment implements Che
 								break;
 
 							case 2:
+								getActivity().startActivity(new Intent(getActivity(), TracingSyncActivity.class));
 								break;
 						}
 					}
@@ -1163,7 +1166,7 @@ public class RecordOverviewFragment extends UpNavigatibleFragment implements Che
 
                     record.setProtocol(protocolName);
                     record.setLocalIP(bssidName);
-                    record.setType(Record.TYPE.SEND);
+                    record.setType(MessageRecord.TYPE.SEND);
 
                     record.setLatitude(latitude);
                     record.setLongitude(longitude);