From b07704612beac1231c350331ed0fd2c622efd1cc Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 23 May 2025 22:24:28 +1200 Subject: [PATCH] . --- source/src/servers.cpp | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/source/src/servers.cpp b/source/src/servers.cpp index 50535b9..70c4c79 100644 --- a/source/src/servers.cpp +++ b/source/src/servers.cpp @@ -44,7 +44,8 @@ namespace dropshell nlohmann::json server_env_json = nlohmann::json::parse(std::ifstream(server_env_path)); if (server_env_json.empty()) { - std::cerr << "Error: Failed to parse server environment file: " + server_env_path << std::endl; + error << "Failed to parse server environment file at "<< server_env_path << std::endl; + info << "The returned json was empty." << std::endl; return; } @@ -69,10 +70,10 @@ namespace dropshell if (mVariables.find(var) == mVariables.end()) { // Print the variables identified in the file - std::cout << "Variables identified in the file:" << std::endl; + info << "Variables identified in the file:" << std::endl; for (const auto &v : mVariables) { - std::cout << " " << v.first << std::endl; + info << " " << v.first << std::endl; } throw std::runtime_error("Missing required variable: " + std::string(var)); } @@ -81,7 +82,7 @@ namespace dropshell // Parse users array if (!server_env_json.contains("USERS") || !server_env_json["USERS"].is_array()) { - std::cerr << "Error: USERS array not found or invalid in server configuration" << std::endl; + error << "USERS array not found or invalid in server configuration" << std::endl; return; } @@ -95,7 +96,7 @@ namespace dropshell if (mUsers.empty()) { - std::cerr << "Error: No users defined in server configuration" << std::endl; + error << "No users defined in server configuration" << std::endl; return; } @@ -103,7 +104,10 @@ namespace dropshell } catch (const std::exception &e) { - std::cerr << "Failed to parse server environment file: " + std::string(e.what()) << std::endl; + error << "Failed to parse " << server_env_path << std::endl; + error << "Error: " << e.what() << std::endl; + + mValid = false; } } @@ -122,7 +126,7 @@ namespace dropshell user_json["DIR"] = user.dir; users_array.push_back(user_json); } - server_env_json["USERS"] = users_array; + server_env_json["SSH_USERS"] = users_array; try { @@ -416,9 +420,13 @@ namespace dropshell std::ofstream server_env_file(server_env_path); server_env_file << "{" << std::endl; server_env_file << " \"SSH_HOST\": \"" << server_name << "\"," << std::endl; - server_env_file << " \"SSH_UNPRIVILEGED_USER\": \"" << user << "\"," << std::endl; server_env_file << " \"SSH_PORT\": " << 22 << "," << std::endl; - server_env_file << " \"DROPSHELL_DIR\": \"" << "/home/" + user + "/.dropshell\"" << std::endl; + server_env_file << " \"SSH_USERS\": [" << std::endl; + server_env_file << " {" << std::endl; + server_env_file << " \"USER\": \"" << user << "\"," << std::endl; + server_env_file << " \"DIR\": \"" << "/home/" + user << "/.dropshell\"" << std::endl; + server_env_file << " }" << std::endl; + server_env_file << " ]" << std::endl; server_env_file << "}" << std::endl; server_env_file.close();