First working alpha, version a0.4 #7

Merged
dcrubro merged 22 commits from beta into master 2025-11-18 20:09:11 +00:00
2 changed files with 14 additions and 0 deletions
Showing only changes of commit ff81bfed31 - Show all commits

View File

@@ -60,6 +60,12 @@ namespace ColumnLynx::Net {
return std::string(buf);
}
static inline uint32_t prefixLengthToNetmask(uint8_t prefixLen) {
if (prefixLen == 0) return 0;
uint32_t mask = (0xFFFFFFFF << (32 - prefixLen)) & 0xFFFFFFFF;
return htonl(mask); // convert to network byte order
}
private:
bool mApplyLinuxIP(uint32_t clientIP, uint32_t serverIP, uint8_t prefixLen, uint16_t mtu);
bool mApplyMacOSIP(uint32_t clientIP, uint32_t serverIP, uint8_t prefixLen, uint16_t mtu);

View File

@@ -191,6 +191,14 @@ namespace ColumnLynx::Net {
"ifconfig utun0 %s %s mtu %d up",
ipStr.c_str(), peerStr.c_str(), mtu);
system(cmd);
// Reset cmd buffer
cmd[0] = '\0';
// Set netmask (/24 CIDR temporarily with raw command, improve later)
snprintf(cmd, sizeof(cmd),
"ifconfig utun0 netmask 255.255.255.0");
system(cmd);
return true;
}