mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 05:21:29 +00:00
Fix for not having address/localaddress set from not localhost
This commit is contained in:
parent
c8f6b098c2
commit
87d42931aa
@ -1224,23 +1224,36 @@ void Client::Clearance(int8 response)
|
|||||||
const char *zs_addr = nullptr;
|
const char *zs_addr = nullptr;
|
||||||
if(cle && cle->IsLocalClient()) {
|
if(cle && cle->IsLocalClient()) {
|
||||||
const char *local_addr = zs->GetCLocalAddress();
|
const char *local_addr = zs->GetCLocalAddress();
|
||||||
|
|
||||||
if(local_addr[0]) {
|
if(local_addr[0]) {
|
||||||
zs_addr = local_addr;
|
zs_addr = local_addr;
|
||||||
|
} else {
|
||||||
|
if(strcmp(local_addr, "127.0.0.1") == 0)
|
||||||
|
{
|
||||||
|
zs_addr = WorldConfig::get()->LocalAddress.c_str();
|
||||||
} else {
|
} else {
|
||||||
struct in_addr in;
|
struct in_addr in;
|
||||||
in.s_addr = zs->GetIP();
|
in.s_addr = zs->GetIP();
|
||||||
zs_addr = inet_ntoa(in);
|
zs_addr = inet_ntoa(in);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
const char *addr = zs->GetCAddress();
|
const char *addr = zs->GetCAddress();
|
||||||
if(addr[0]) {
|
if(addr[0]) {
|
||||||
zs_addr = addr;
|
zs_addr = addr;
|
||||||
} else {
|
} else {
|
||||||
|
if(strcmp(addr, "127.0.0.1") == 0)
|
||||||
|
{
|
||||||
|
zs_addr = WorldConfig::get()->WorldAddress.c_str();
|
||||||
|
}
|
||||||
|
else {
|
||||||
struct in_addr in;
|
struct in_addr in;
|
||||||
in.s_addr = zs->GetIP();
|
in.s_addr = zs->GetIP();
|
||||||
zs_addr = inet_ntoa(in);
|
zs_addr = inet_ntoa(in);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
strcpy(zsi->ip, zs_addr);
|
strcpy(zsi->ip, zs_addr);
|
||||||
zsi->port =zs->GetCPort();
|
zsi->port =zs->GetCPort();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user