summaryrefslogtreecommitdiffstats
path: root/database/sqlite/sql-schema.sql
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2013-03-03 01:06:00 +0100
committerDavid Sommerseth <dazo@users.sourceforge.net>2013-03-03 15:37:22 +0100
commit8da942bbd9c7f75d865137822552e9c2f7640325 (patch)
treec5df77eae29211106e40fb18af5dc4bce0131140 /database/sqlite/sql-schema.sql
parent277f2b549666be424eb5bd6f560e7f50da98d979 (diff)
downloadeurephia-8da942bbd9c7f75d865137822552e9c2f7640325.tar.gz
eurephia-8da942bbd9c7f75d865137822552e9c2f7640325.tar.xz
eurephia-8da942bbd9c7f75d865137822552e9c2f7640325.zip
sqlite: Implemented needed functions to enable authentication plug-ins
This adds the needed functions the eurephia framework requires to retrieve a list of all configured plug-ins - eDBget_plugins(). And it includes eDBauth_GetAuthMethod() which is used to lookup what kind of authentication method a specific user account/certificate combination should use. If the authentication backend requires a different username for this, that can also be configured in this user account/certification setup. Signed-off-by: David Sommerseth <dazo@users.sourceforge.net>
Diffstat (limited to 'database/sqlite/sql-schema.sql')
-rw-r--r--database/sqlite/sql-schema.sql14
1 files changed, 13 insertions, 1 deletions
diff --git a/database/sqlite/sql-schema.sql b/database/sqlite/sql-schema.sql
index 6d2befb..2e21605 100644
--- a/database/sqlite/sql-schema.sql
+++ b/database/sqlite/sql-schema.sql
@@ -1,7 +1,7 @@
--
-- eurephia database schema for SQLite3
--
--- GPLv2 only - Copyright (C) 2008 - 2012
+-- GPLv2 only - Copyright (C) 2008 - 2013
-- David Sommerseth <dazo@users.sourceforge.net>
--
-- This program is free software; you can redistribute it and/or
@@ -19,6 +19,16 @@
-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
--
+-- eurephia_plugins - Defines loadable eurephia plug-ins
+-- This table is parsed upon start-up of OpenVPN/eurephia
+CREATE TABLE eurephia_plugins (
+ plgname varchar(32) NOT NULL, -- short name of the plug-in module
+ plgtype varchar(16) NOT NULL, -- plug-in type (auth, firewall, etc)
+ plgdsofile text NOT NULL, -- full path to the plug-in DSO file
+ plgenabled boolean NOT NULL, -- Enable/disable the plug-in
+ plgid integer PRIMARY KEY AUTOINCREMENT
+);
+CREATE INDEX eurephia_plugins_name_type ON eurephia_plugins (plgname, plgtype);
-- openvpn_certificates - contains mainly X.509 information from SSL certificates
CREATE TABLE openvpn_certificates (
@@ -49,6 +59,8 @@ CREATE TABLE openvpn_usercerts (
uid integer NOT NULL, -- Must be found in openvpn_users
certid integer NOT NULL, -- Must be found in openvpn_certificates
accessprofile integer , -- If not null, it must be found in openvpn_accesses
+ authplugin integer , -- optional, must match eurephia_plugins.plgid if used
+ authusername text , -- optional, alternative username through plug-ins
registered timestamp DEFAULT CURRENT_TIMESTAMP,
uicid integer PRIMARY KEY AUTOINCREMENT -- Unique ID
);