|
@@ -4,6 +4,7 @@ import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
+import java.util.UUID;
|
|
|
|
|
|
import android.content.ContentValues;
|
|
|
import android.content.Context;
|
|
@@ -28,6 +29,7 @@ import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.PacketEnt
|
|
|
import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.ProfileEntry;
|
|
|
import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.SyncDeviceEntry;
|
|
|
import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.SyncInfoEntry;
|
|
|
+import de.tudarmstadt.informatik.hostage.ui.activity.MainActivity;
|
|
|
import de.tudarmstadt.informatik.hostage.ui.helper.ColorSequenceGenerator;
|
|
|
import de.tudarmstadt.informatik.hostage.ui.model.LogFilter;
|
|
|
import de.tudarmstadt.informatik.hostage.ui.model.PlotComparisonItem;
|
|
@@ -168,7 +170,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
|
|
|
* @param record
|
|
|
* The added {@link MessageRecord} .
|
|
|
*/
|
|
|
- public void addMessageRecord(MessageRecord record) {
|
|
|
+ synchronized public void addMessageRecord(MessageRecord record) {
|
|
|
SQLiteDatabase db = this.getWritableDatabase();
|
|
|
|
|
|
this.insertMessageRecordWithOnConflict(record, db);
|
|
@@ -181,7 +183,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
|
|
|
* @param records {@link List}<MessageRecord>
|
|
|
* The added {@link de.tudarmstadt.informatik.hostage.logging.MessageRecord}s .
|
|
|
*/
|
|
|
- public void insertMessageRecords(List<MessageRecord> records){
|
|
|
+ synchronized public void insertMessageRecords(List<MessageRecord> records){
|
|
|
SQLiteDatabase db = this.getWritableDatabase();
|
|
|
db.beginTransaction();
|
|
|
|
|
@@ -196,7 +198,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
|
|
|
db.close();
|
|
|
}
|
|
|
|
|
|
- private void insertMessageRecordWithOnConflict(MessageRecord record, SQLiteDatabase db){
|
|
|
+ synchronized private void insertMessageRecordWithOnConflict(MessageRecord record, SQLiteDatabase db){
|
|
|
ContentValues recordValues = new ContentValues();
|
|
|
recordValues.put(PacketEntry.COLUMN_NAME_ID, record.getId()); // Log Message Number
|
|
|
recordValues.put(PacketEntry.COLUMN_NAME_ATTACK_ID, record.getAttack_id()); // Log Attack ID
|
|
@@ -214,7 +216,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
|
|
|
* @param record
|
|
|
* The added {@link AttackRecord} .
|
|
|
*/
|
|
|
- public void addAttackRecord(AttackRecord record) {
|
|
|
+ synchronized public void addAttackRecord(AttackRecord record) {
|
|
|
//Log.i("DBHelper", "Add Attack Record with id: " + record.getAttack_id());
|
|
|
SQLiteDatabase db = this.getWritableDatabase();
|
|
|
this.insertAttackRecordWithOnConflict(record,db);
|
|
@@ -230,7 +232,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
|
|
|
* @param records {@link List}<AttackRecord>
|
|
|
* The added {@link AttackRecord}s .
|
|
|
*/
|
|
|
- public void insertAttackRecords(List<AttackRecord> records) {
|
|
|
+ synchronized public void insertAttackRecords(List<AttackRecord> records) {
|
|
|
|
|
|
|
|
|
//Log.i("DBHelper", "Add Attack Record with id: " + record.getAttack_id());
|
|
@@ -251,7 +253,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
|
|
|
this.updateSyncDevices(devices);
|
|
|
}
|
|
|
|
|
|
- private void insertAttackRecordWithOnConflict(AttackRecord record, SQLiteDatabase db){
|
|
|
+ synchronized private void insertAttackRecordWithOnConflict(AttackRecord record, SQLiteDatabase db){
|
|
|
ContentValues attackValues = new ContentValues();
|
|
|
attackValues.put(AttackEntry.COLUMN_NAME_ATTACK_ID, record.getAttack_id()); // Log Attack ID
|
|
|
attackValues.put(AttackEntry.COLUMN_NAME_PROTOCOL, record.getProtocol().toString());
|
|
@@ -275,7 +277,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
|
|
|
* @param records {@link List}<AttackRecord>
|
|
|
* The added {@link SyncRecord}s .
|
|
|
*/
|
|
|
- public void insertSyncRecords(List<SyncRecord> records) {
|
|
|
+ synchronized public void insertSyncRecords(List<SyncRecord> records) {
|
|
|
//Log.i("DBHelper", "Add Attack Record with id: " + record.getAttack_id());
|
|
|
SQLiteDatabase db = this.getWritableDatabase();
|
|
|
db.beginTransaction();
|
|
@@ -299,7 +301,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
|
|
|
/**
|
|
|
* Updates the sync devices max sync id.
|
|
|
*/
|
|
|
- public void updateSyncDevicesMaxID(SQLiteDatabase db){
|
|
|
+ synchronized public void updateSyncDevicesMaxID(SQLiteDatabase db){
|
|
|
HashMap<String, Long> deviceIDmap = new HashMap<String, Long>();
|
|
|
|
|
|
String selectQuery = "SELECT "+AttackEntry.COLUMN_NAME_DEVICE+ ","+ AttackEntry.COLUMN_NAME_SYNC_ID+" FROM " + AttackEntry.TABLE_NAME + " A " + " GROUP BY " + AttackEntry.COLUMN_NAME_DEVICE + " HAVING " + AttackEntry.COLUMN_NAME_SYNC_ID + " = MAX( " + AttackEntry.COLUMN_NAME_SYNC_ID + " )";
|
|
@@ -328,8 +330,8 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-
|
|
|
- public void updateSyncAttackCounter(AttackRecord record){
|
|
|
+
|
|
|
+ synchronized public void updateSyncAttackCounter(AttackRecord record){
|
|
|
|
|
|
SQLiteDatabase db = this.getWritableDatabase();
|
|
|
|
|
@@ -426,7 +428,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- public int numBssidSeen(String protocol, String BSSID) {
|
|
|
+ synchronized public int numBssidSeen(String protocol, String BSSID) {
|
|
|
String countQuery = "SELECT COUNT(*) FROM " + AttackEntry.TABLE_NAME
|
|
|
+ " WHERE " + AttackEntry.TABLE_NAME + "." + AttackEntry.COLUMN_NAME_PROTOCOL + " = " + "'" + protocol + "'"
|
|
|
+ " AND " + AttackEntry.TABLE_NAME + "." + AttackEntry.COLUMN_NAME_BSSID + " = " + "'" + BSSID + "'";
|
|
@@ -1134,7 +1136,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
|
|
|
public synchronized void deleteByBSSID(String bssid) {
|
|
|
SQLiteDatabase db = this.getWritableDatabase();
|
|
|
db.delete(NetworkEntry.TABLE_NAME, NetworkEntry.COLUMN_NAME_BSSID + " = ?", new String[] { bssid });
|
|
|
- db.delete(AttackEntry.TABLE_NAME, AttackEntry.COLUMN_NAME_BSSID + " = ?", new String[] { bssid });
|
|
|
+ db.delete(AttackEntry.TABLE_NAME, AttackEntry.COLUMN_NAME_BSSID + " = ?", new String[]{bssid});
|
|
|
db.close();
|
|
|
}
|
|
|
|
|
@@ -1160,8 +1162,8 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
|
|
|
*/
|
|
|
public synchronized void deleteByAttackID(long attackID) {
|
|
|
SQLiteDatabase db = this.getWritableDatabase();
|
|
|
- db.delete(AttackEntry.TABLE_NAME, AttackEntry.COLUMN_NAME_ATTACK_ID + " = ?", new String[] { String.valueOf(attackID) });
|
|
|
- db.delete(PacketEntry.TABLE_NAME, PacketEntry.COLUMN_NAME_ATTACK_ID + " = ?", new String[] { String.valueOf(attackID) });
|
|
|
+ db.delete(AttackEntry.TABLE_NAME, AttackEntry.COLUMN_NAME_ATTACK_ID + " = ?", new String[]{String.valueOf(attackID)});
|
|
|
+ db.delete(PacketEntry.TABLE_NAME, PacketEntry.COLUMN_NAME_ATTACK_ID + " = ?", new String[]{String.valueOf(attackID)});
|
|
|
db.close();
|
|
|
}
|
|
|
|