1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2025-07-08 08:44:57 +03:00

v4.06-9436-beta

This commit is contained in:
dnobori
2014-04-09 09:35:00 +09:00
parent a22f8216ae
commit a3a4ad0b0a
294 changed files with 350 additions and 301 deletions

View File

@ -1476,14 +1476,42 @@ void RUDPProcess_NatT_Recv(RUDP_STACK *r, UDPPACKET *udp)
{
if (StrCmpi(r->CurrentRegisterHostname, new_hostname) != 0)
{
// Change the host name
Debug("CurrentRegisterHostname Changed: New=%s\n", new_hostname);
StrCpy(r->CurrentRegisterHostname, sizeof(r->CurrentRegisterHostname), new_hostname);
r->NumChangedHostname++;
Zero(&r->NatT_IP, sizeof(r->NatT_IP));
//Zero(&r->NatT_IP_Safe, sizeof(r->NatT_IP_Safe));
if (r->NumChangedHostname <= RUDP_NATT_MAX_CONT_CHANGE_HOSTNAME)
{
if (r->NumChangedHostnameValueResetTick == 0)
{
r->NumChangedHostnameValueResetTick = r->Now + (UINT64)RUDP_NATT_CONT_CHANGE_HOSTNAME_RESET_INTERVAL;
}
Set(r->HaltEvent);
// Change the host name
Debug("CurrentRegisterHostname Changed: New=%s\n", new_hostname);
StrCpy(r->CurrentRegisterHostname, sizeof(r->CurrentRegisterHostname), new_hostname);
Zero(&r->NatT_IP, sizeof(r->NatT_IP));
//Zero(&r->NatT_IP_Safe, sizeof(r->NatT_IP_Safe));
Set(r->HaltEvent);
}
else
{
if (r->NumChangedHostnameValueResetTick == 0)
{
r->NumChangedHostnameValueResetTick = r->Now + (UINT64)RUDP_NATT_CONT_CHANGE_HOSTNAME_RESET_INTERVAL;
}
if (r->Now >= r->NumChangedHostnameValueResetTick)
{
r->NumChangedHostname = 0;
r->NumChangedHostnameValueResetTick = 0;
}
}
}
else
{
r->NumChangedHostname = 0;
r->NumChangedHostnameValueResetTick = 0;
}
}
Unlock(r->Lock);
@ -4939,16 +4967,17 @@ LABEL_TIMEOUT:
sock, sock_event, 0, false);
}
if (sock != NULL)
{
Disconnect(sock);
ReleaseSock(sock);
}
if (sock_event != NULL)
{
ReleaseSockEvent(sock_event);
}
if (sock != NULL)
{
ReleaseSock(sock);
}
return ret;
}
}