diff options
author | Test_User <hax@andrewyu.org> | 2024-07-22 20:57:35 -0400 |
---|---|---|
committer | Test_User <hax@andrewyu.org> | 2024-07-22 20:57:35 -0400 |
commit | 69f4e3e77b48e2901c908837978282ea86c54d24 (patch) | |
tree | 9b794f2842623589216f3dc3da470460840652b2 /pseudoclients | |
parent | 9ccf3ab2ced07c537e91f2c19c5d967b39b0a1e2 (diff) | |
download | haxircd-69f4e3e77b48e2901c908837978282ea86c54d24.tar.gz haxircd-69f4e3e77b48e2901c908837978282ea86c54d24.zip |
Configurable services db path
Diffstat (limited to '')
-rw-r--r-- | pseudoclients/services.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/pseudoclients/services.c b/pseudoclients/services.c index 4c96ddc..3be6d60 100644 --- a/pseudoclients/services.c +++ b/pseudoclients/services.c @@ -72,7 +72,14 @@ int services_pseudoclient_post_reload(void) { return 1; if (mdb_env_set_maxdbs(services_db_env, 5) != 0) // nick->account + cert->account + account->nicks (also used for account list) + account->certs + account->name return 1; - if (mdb_env_open(services_db_env, "./pseudoclients/services.db", MDB_NOSUBDIR | MDB_NOTLS | MDB_NORDAHEAD, 0600) != 0) + for (size_t i = 0; i < SERVICES_DB_PATH.len; i++) { + if (SERVICES_DB_PATH.data[i] == 0) + return 1; // LMDB does not support null in the filepath... nor do normal FSes really, but that can be changed + } + char path[SERVICES_DB_PATH.len + 1]; + memcpy(path, SERVICES_DB_PATH.data, SERVICES_DB_PATH.len); + path[SERVICES_DB_PATH.len] = 0; + if (mdb_env_open(services_db_env, path, MDB_NOSUBDIR | MDB_NOTLS | MDB_NORDAHEAD, 0600) != 0) return 1; { int discard; |