фикс бага с настройками сети в отладочной версии API

This commit is contained in:
Vladislav Ostapov 2024-11-14 15:18:18 +03:00
parent 515a05ec9b
commit ed1bd12c95

View File

@ -63,11 +63,19 @@ public:
std::string managementIp, managementGateway, mode, dataIp; std::string managementIp, managementGateway, mode, dataIp;
unsigned int dataMtu = 1500; unsigned int dataMtu = 1500;
TerminalNetworkSettings() = default; TerminalNetworkSettings() { this->reset(); }
TerminalNetworkSettings(const TerminalNetworkSettings& src) = default; TerminalNetworkSettings(const TerminalNetworkSettings& src) = default;
~TerminalNetworkSettings() = default; ~TerminalNetworkSettings() = default;
TerminalNetworkSettings& operator= (const TerminalNetworkSettings& src) = default; TerminalNetworkSettings& operator= (const TerminalNetworkSettings& src) = default;
void reset() {
managementIp = "0.0.0.0/0";
managementGateway = "";
mode = "l2";
dataIp = "0.0.0.0/0";
dataMtu = 1500;
}
}; };
class TerminalFirmwareVersion { class TerminalFirmwareVersion {
@ -157,11 +165,11 @@ private:
TerminalNetworkSettings s; TerminalNetworkSettings s;
std::string tmp; std::string tmp;
std::lock_guard lock(this->cpApiMutex); std::lock_guard lock(this->cpApiMutex);
CP_GetNetwork(sid, "addr", &s.managementIp); CP_GetNetwork(sid, "addr", &tmp);
CP_GetNetwork(sid, "mask", &tmp); s.managementIp = tmp + "/";
s.managementIp += "/"; tmp.clear(); CP_GetNetwork(sid, "mask", &tmp);
s.managementIp += std::to_string(calculateSubnetMask(tmp)); s.managementIp += std::to_string(calculateSubnetMask(tmp));
CP_GetNetwork(sid, "gateway", &s.managementGateway); tmp.clear(); CP_GetNetwork(sid, "gateway", &s.managementGateway); s.managementGateway = tmp;
tmp.clear(); CP_GetNetwork(sid, "mode", &tmp); tmp.clear(); CP_GetNetwork(sid, "mode", &tmp);
if (tmp == "tun") { if (tmp == "tun") {
s.mode = "l3"; s.mode = "l3";
@ -431,6 +439,7 @@ public:
if (readback) { if (readback) {
std::string tmp; std::string tmp;
s.reset();
CP_GetNetwork(sid, "addr", &s.managementIp); CP_GetNetwork(sid, "addr", &s.managementIp);
CP_GetNetwork(sid, "mask", &tmp); CP_GetNetwork(sid, "mask", &tmp);
s.managementIp += "/"; s.managementIp += "/";