summaryrefslogtreecommitdiffstats
path: root/database
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2008-09-19 14:08:49 +0200
committerDavid Sommerseth <dazo@users.sourceforge.net>2008-09-19 14:08:49 +0200
commit20c8541e828acd578232f9ceb65d0edd8efad5bc (patch)
treeae3aa300ac4792d76484ef05364d4550fedb4695 /database
parente2e5d56c8ea5e1b6fef36a1d298afbb5e8d8810e (diff)
downloadeurephia-20c8541e828acd578232f9ceb65d0edd8efad5bc.tar.gz
eurephia-20c8541e828acd578232f9ceb65d0edd8efad5bc.tar.xz
eurephia-20c8541e828acd578232f9ceb65d0edd8efad5bc.zip
Added (untested) logging of VPN MAC addresses into openvpn_macaddr_history
Diffstat (limited to 'database')
-rw-r--r--database/sqlite/eurephiadb-sqlite.c10
-rw-r--r--database/sqlite/sql-schema.sql9
2 files changed, 19 insertions, 0 deletions
diff --git a/database/sqlite/eurephiadb-sqlite.c b/database/sqlite/eurephiadb-sqlite.c
index 512bd57..f566320 100644
--- a/database/sqlite/eurephiadb-sqlite.c
+++ b/database/sqlite/eurephiadb-sqlite.c
@@ -550,6 +550,15 @@ int eDBregister_vpnmacaddr(eurephiaCTX *ctx, eurephiaSESSION *session, const cha
return 0;
}
+ // Register MAC address into history table
+ res = sqlite_query(ctx, "INSERT INTO openvpn_macaddr_history (sessionkey, macaddr) VALUES ('%q','%q')",
+ session->sessionkey, macaddr);
+ if( res == NULL ) {
+ eurephia_log(ctx, LOG_CRITICAL, 0, "Failed to log new MAC address for session");
+ return 0;
+ }
+
+ // Update lastlog to reflect last used MAC address for the session
res = sqlite_query(ctx,
"UPDATE openvpn_lastlog SET sessionstatus = 2, macaddr = '%q' "
" WHERE sessionkey = '%q' AND sessionstatus = 1", macaddr, session->sessionkey);
@@ -569,6 +578,7 @@ int eDBregister_vpnmacaddr(eurephiaCTX *ctx, eurephiaSESSION *session, const cha
return 1;
}
+
// Register the user as logged out
int eDBregister_logout(eurephiaCTX *ctx, eurephiaSESSION *skey,
const char *bytes_sent, const char *bytes_received)
diff --git a/database/sqlite/sql-schema.sql b/database/sqlite/sql-schema.sql
index a8f9168..5cdb77b 100644
--- a/database/sqlite/sql-schema.sql
+++ b/database/sqlite/sql-schema.sql
@@ -55,6 +55,15 @@ CREATE TABLE openvpn_lastlog (
);
CREATE UNIQUE INDEX openvpn_lastlog_sessionkey ON openvpn_lastlog(sessionkey);
+CREATE TABLE openvpn_macaddr_history (
+ sessionkey varchar(64) NOT NULL,
+ macaddr varchar(20) NOT NULL,
+ registered timestamp DEFAULT CURRENT_TIMESTAMP,
+ semaid integer PRIMARY KEY AUTOINCREMENT
+);
+CREATE INDEX openvpn_macaddr_hist_sessionkey ON openvpn_macaddr_history(sessionkey);
+CREATE INDEX openvpn_macaddr_hist_macaddr ON openvpn_macaddr_history(macaddr);
+
CREATE TABLE openvpn_sessions (
sessionkey varchar(128) NOT NULL,
datakey varchar(256) NOT NULL,