summaryrefslogtreecommitdiffstats
path: root/database
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2008-09-19 14:25:08 +0200
committerDavid Sommerseth <dazo@users.sourceforge.net>2008-09-19 14:25:08 +0200
commitd28d39cabd55b3de3258dabd3fbefe1976dc1bc1 (patch)
treeecb5090a5f3994875fef668d39030ef5ff176095 /database
parent8b2c60cee562ed98596a228750f10f735725ac11 (diff)
downloadeurephia-d28d39cabd55b3de3258dabd3fbefe1976dc1bc1.tar.gz
eurephia-d28d39cabd55b3de3258dabd3fbefe1976dc1bc1.tar.xz
eurephia-d28d39cabd55b3de3258dabd3fbefe1976dc1bc1.zip
Added (untested) logging of time_duration into openvpn_lastlog.session_duration
Diffstat (limited to 'database')
-rw-r--r--database/sqlite/eurephiadb-sqlite.c7
-rw-r--r--database/sqlite/sql-schema.sql33
2 files changed, 21 insertions, 19 deletions
diff --git a/database/sqlite/eurephiadb-sqlite.c b/database/sqlite/eurephiadb-sqlite.c
index f566320..67b22f4 100644
--- a/database/sqlite/eurephiadb-sqlite.c
+++ b/database/sqlite/eurephiadb-sqlite.c
@@ -581,7 +581,7 @@ int eDBregister_vpnmacaddr(eurephiaCTX *ctx, eurephiaSESSION *session, const cha
// Register the user as logged out
int eDBregister_logout(eurephiaCTX *ctx, eurephiaSESSION *skey,
- const char *bytes_sent, const char *bytes_received)
+ const char *bytes_sent, const char *bytes_received, const char *duration)
{
dbresult *res = NULL;
@@ -592,9 +592,10 @@ int eDBregister_logout(eurephiaCTX *ctx, eurephiaSESSION *skey,
res = sqlite_query(ctx,
"UPDATE openvpn_lastlog "
" SET sessionstatus = 3, logout = CURRENT_TIMESTAMP, "
- " bytes_sent = '%i', bytes_received = '%i' "
+ " bytes_sent = '%i', bytes_received = '%i', session_duration = '%i' "
" WHERE sessionkey = '%q' AND sessionstatus = 2",
- atoi_nullsafe(bytes_sent), atoi_nullsafe(bytes_received), skey->sessionkey);
+ atoi_nullsafe(bytes_sent), atoi_nullsafe(bytes_received),
+ atoi_nullsafe(duration), skey->sessionkey);
if( res == NULL ) {
eurephia_log(ctx, LOG_CRITICAL, 0, "Could not update lastlog with logout information (%s)",
skey->sessionkey);
diff --git a/database/sqlite/sql-schema.sql b/database/sqlite/sql-schema.sql
index 5cdb77b..490669d 100644
--- a/database/sqlite/sql-schema.sql
+++ b/database/sqlite/sql-schema.sql
@@ -36,22 +36,23 @@ CREATE TABLE openvpn_accesses (
);
CREATE TABLE openvpn_lastlog (
- uid integer ,
- certid integer ,
- protocol varchar(4) NOT NULL,
- remotehost varchar(128) NOT NULL,
- remoteport integer NOT NULL,
- macaddr varchar(20) ,
- vpnipaddr varchar(32) NOT NULL,
- vpnipmask varchar(32) NOT NULL,
- sessionstatus integer NOT NULL DEFAULT 0,
- sessionkey varchar(128) ,
- login timestamp ,
- logout timestamp ,
- session_del timestamp ,
- bytes_sent integer ,
- bytes_received integer ,
- llid integer PRIMARY KEY AUTOINCREMENT
+ uid integer ,
+ certid integer ,
+ protocol varchar(4) NOT NULL,
+ remotehost varchar(128) NOT NULL,
+ remoteport integer NOT NULL,
+ macaddr varchar(20) ,
+ vpnipaddr varchar(32) NOT NULL,
+ vpnipmask varchar(32) NOT NULL,
+ sessionstatus integer NOT NULL DEFAULT 0,
+ sessionkey varchar(128) ,
+ login timestamp ,
+ logout timestamp ,
+ session_del timestamp ,
+ session_duration timestamp,
+ bytes_sent integer ,
+ bytes_received integer ,
+ llid integer PRIMARY KEY AUTOINCREMENT
);
CREATE UNIQUE INDEX openvpn_lastlog_sessionkey ON openvpn_lastlog(sessionkey);