diff --git a/src/config.cpp b/src/config.cpp index 30e8def..9ae4901 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -138,10 +138,13 @@ std::vector config::get_template_local_paths() std::vector config::get_local_server_definition_paths() { nlohmann::json server_definition_paths = mConfig["server_definition_paths"]; + std::vector paths; for (auto &path : server_definition_paths) { if (path.is_string() && !path.empty()) + { paths.push_back(path); + } else std::cerr << "Warning: Invalid server definition path: " << path << std::endl; } diff --git a/src/servers.cpp b/src/servers.cpp index 0880e30..976060c 100644 --- a/src/servers.cpp +++ b/src/servers.cpp @@ -29,6 +29,9 @@ std::vector get_configured_servers() { if (std::filesystem::is_directory(entry)) { std::string server_name = entry.path().filename().string(); + if (server_name.empty() || server_name[0]=='.' || server_name[0]=='_') + continue; + server_env_manager env(server_name); if (!env.is_valid()) { std::cerr << "Error: Invalid server environment file: " << entry.path().string() << std::endl; diff --git a/src/utils/directories.cpp b/src/utils/directories.cpp index 68d073b..32c9e61 100644 --- a/src/utils/directories.cpp +++ b/src/utils/directories.cpp @@ -45,10 +45,10 @@ namespace localfile { namespace localpath { std::string server(const std::string &server_name) { - if (server_name.empty()) return ""; for (std::filesystem::path dir : gConfig().get_local_server_definition_paths()) if (fs::exists(dir / server_name)) return dir / server_name; + return ""; }