summaryrefslogtreecommitdiffstats
path: root/database/sqlite
diff options
context:
space:
mode:
Diffstat (limited to 'database/sqlite')
-rw-r--r--database/sqlite/edb-sqlite.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/database/sqlite/edb-sqlite.c b/database/sqlite/edb-sqlite.c
index 85b27d9..25e6f8b 100644
--- a/database/sqlite/edb-sqlite.c
+++ b/database/sqlite/edb-sqlite.c
@@ -1173,6 +1173,34 @@ char *eDBget_firewall_profile(eurephiaCTX *ctx, eurephiaSESSION *session)
/**
+ * @copydoc eDBget_accessprofile()
+ */
+int eDBget_accessprofile(eurephiaCTX *ctx, const int uid, const int certid)
+{
+ int ret = -1;
+ dbresult *res = NULL;
+
+ DEBUG(ctx, 20, "Function call: eDBget_firewall_profile_id(ctx, %i, %i)", uid, certid);
+
+ res = sqlite_query(ctx,
+ "SELECT accessprofile "
+ " FROM openvpn_usercerts "
+ " WHERE uid = %i AND certid = %i",
+ uid, certid);
+ if( sqlite_query_status(res) == dbSUCCESS ) {
+ ret = atoi_nullsafe(sqlite_get_value(res, 0, 0));
+ } else {
+ eurephia_log(ctx, LOG_FATAL, 0, "Could not retrieve access profile for uid %i and certid %i",
+ uid, certid);
+ sqlite_log_error(ctx, res);
+ ret = -1;
+ }
+ sqlite_free_results(res);
+ return ret;
+}
+
+
+/**
* @copydoc eDBget_blacklisted_ip()
*/
eurephiaVALUES *eDBget_blacklisted_ip(eurephiaCTX *ctx) {