From 20c8541e828acd578232f9ceb65d0edd8efad5bc Mon Sep 17 00:00:00 2001 From: David Sommerseth Date: Fri, 19 Sep 2008 14:08:49 +0200 Subject: Added (untested) logging of VPN MAC addresses into openvpn_macaddr_history --- database/sqlite/eurephiadb-sqlite.c | 10 ++++++++++ database/sqlite/sql-schema.sql | 9 +++++++++ 2 files changed, 19 insertions(+) (limited to 'database/sqlite') 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, -- cgit