Merge pull request #8823 from furo321/auto-reload-local-ips

Run editor auto-reload on any local address, and not just localhost
This commit is contained in:
Dennis Felsing 2024-08-27 11:29:14 +00:00 committed by GitHub
commit 3a2cecb8b4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -8606,12 +8606,20 @@ void CEditor::HandleWriterFinishJobs()
{
CServerInfo CurrentServerInfo;
Client()->GetServerInfo(&CurrentServerInfo);
NETADDR ServerAddr = Client()->ServerAddress();
const unsigned char aIpv4Localhost[16] = {127, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const unsigned char aIpv6Localhost[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1};
// and if we're on localhost
if(!mem_comp(ServerAddr.ip, aIpv4Localhost, sizeof(aIpv4Localhost)) || !mem_comp(ServerAddr.ip, aIpv6Localhost, sizeof(aIpv6Localhost)))
NETADDR pAddr = Client()->ServerAddress();
char aAddrStr[NETADDR_MAXSTRSIZE];
net_addr_str(&Client()->ServerAddress(), aAddrStr, sizeof(aAddrStr), true);
// and if we're on a local address
bool IsLocalAddress = false;
if(pAddr.ip[0] == 127 || pAddr.ip[0] == 10 || (pAddr.ip[0] == 192 && pAddr.ip[1] == 168) || (pAddr.ip[0] == 172 && (pAddr.ip[1] >= 16 && pAddr.ip[1] <= 31)))
IsLocalAddress = true;
if(str_startswith(aAddrStr, "[fe80:") || str_startswith(aAddrStr, "[::1"))
IsLocalAddress = true;
if(IsLocalAddress)
{
char aMapName[128];
IStorage::StripPathAndExtension(pJob->GetRealFileName(), aMapName, sizeof(aMapName));