mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-09 18:49:03 -04:00
Allow setting <cloak:psl> to "system" to use the system database.
This commit is contained in:
parent
b3fe433e4c
commit
b4dcaaaa62
@ -595,7 +595,8 @@
|
|||||||
# #
|
# #
|
||||||
# psl - If non-empty then the path to a Mozilla Public Suffix #
|
# psl - If non-empty then the path to a Mozilla Public Suffix #
|
||||||
# List database to use for finding the visible part of a #
|
# List database to use for finding the visible part of a #
|
||||||
# hostname. This overrides the hostparts (above) field. #
|
# hostname or "system" to use the system database if one #
|
||||||
|
# exists. This overrides the hostparts (above) field. #
|
||||||
# Only available if libpsl was installed at build time. #
|
# Only available if libpsl was installed at build time. #
|
||||||
# #
|
# #
|
||||||
# IMPORTANT: Changing these details will break all of your existing #
|
# IMPORTANT: Changing these details will break all of your existing #
|
||||||
@ -610,7 +611,7 @@
|
|||||||
# suffix="ip"
|
# suffix="ip"
|
||||||
# case="lower"
|
# case="lower"
|
||||||
# hostparts="3"
|
# hostparts="3"
|
||||||
# psl="/usr/share/publicsuffix/public_suffix_list.dafsa">
|
# psl="system">
|
||||||
|
|
||||||
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
|
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
|
||||||
# Codepage module: Allows using a custom 8-bit codepage for nicknames
|
# Codepage module: Allows using a custom 8-bit codepage for nicknames
|
||||||
|
@ -271,10 +271,17 @@ public:
|
|||||||
throw ModuleException(creator, "Your cloak key should be at least " + ConvToStr(minkeylen) + " characters long, at " + tag->source.str());
|
throw ModuleException(creator, "Your cloak key should be at least " + ConvToStr(minkeylen) + " characters long, at " + tag->source.str());
|
||||||
|
|
||||||
psl_ctx_t* psl = nullptr;
|
psl_ctx_t* psl = nullptr;
|
||||||
const std::string psldb = tag->getString("psl");
|
std::string psldb = tag->getString("psl");
|
||||||
if (!psldb.empty())
|
if (!psldb.empty())
|
||||||
{
|
{
|
||||||
#ifdef HAS_LIBPSL
|
#ifdef HAS_LIBPSL
|
||||||
|
if (stdalgo::string::equalsci(psldb, "system"))
|
||||||
|
{
|
||||||
|
psldb = psl_dist_filename();
|
||||||
|
if (psldb.empty())
|
||||||
|
throw ModuleException(creator, "You specified \"system\" in <cloak:psl> but libpsl was built without a system copy, at " + tag->source.str());
|
||||||
|
}
|
||||||
|
|
||||||
psl = psl_load_file(psldb.c_str());
|
psl = psl_load_file(psldb.c_str());
|
||||||
if (!psl)
|
if (!psl)
|
||||||
throw ModuleException(creator, "The database specified in <cloak:psl> (" + psldb + ") does not exist, at " + tag->source.str());
|
throw ModuleException(creator, "The database specified in <cloak:psl> (" + psldb + ") does not exist, at " + tag->source.str());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user