diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-10-19 02:59:52 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-10-19 02:59:52 +0000 |
commit | 041401bc1fa01d5b1397b20847f8c95b8ea2a4f8 (patch) | |
tree | 36fce4af8a997c047aac0ddab4ab6bdae62e4ee6 | |
parent | 076a56d8545dbdb1c975a9a85648b8c1d0345d5d (diff) |
Prevent path names from being specified in modules, and move moduledir to a <path> tag
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11914 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/configreader.cpp | 2 | ||||
-rw-r--r-- | src/modules.cpp | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/configreader.cpp b/src/configreader.cpp index b586db531..80d123842 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -791,7 +791,7 @@ void ServerConfig::Fill() AdminName = ConfValue("admin")->getString("name", ""); AdminEmail = ConfValue("admin")->getString("email", "null@example.com"); AdminNick = ConfValue("admin")->getString("nick", "admin"); - ModPath = options->getString("moduledir", MOD_PATH); + ModPath = ConfValue("path")->getString("moduledir", MOD_PATH); NetBufferSize = ConfValue("performance")->getInt("netbuffersize", 10240); MaxWhoResults = ConfValue("performance")->getInt("maxwho", 1024); dns_timeout = ConfValue("dns")->getInt("timeout", 5); diff --git a/src/modules.cpp b/src/modules.cpp index 2dafc8864..8957b4bb6 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -321,6 +321,9 @@ std::string& ModuleManager::LastError() bool ModuleManager::Load(const char* filename) { + /* Don't allow people to specify paths for modules, it doesn't work as expected */ + if (strchr(filename, '/')) + return false; /* Do we have a glob pattern in the filename? * The user wants to load multiple modules which * match the pattern. |