Merge pull request #4113 from GregorR/netplay-natt-announce-legacy

Adding NAT traversal announcement for SOCKET_LEGACY
This commit is contained in:
Twinaphex 2016-12-01 01:04:43 +01:00 committed by GitHub
commit b3e6a8fe6e

View File

@ -1086,6 +1086,7 @@ static void announce_nat_traversal(netplay_t *netplay)
{
char msg[512], host[PATH_MAX_LENGTH], port[6];
#ifndef HAVE_SOCKET_LEGACY
if (netplay->nat_traversal_state.have_inet4)
{
if (getnameinfo((const struct sockaddr *) &netplay->nat_traversal_state.ext_inet4_addr,
@ -1106,6 +1107,22 @@ static void announce_nat_traversal(netplay_t *netplay)
#endif
else return;
#else
if (netplay->nat_traversal_state.have_inet4)
{
strncpy(host,
inet_ntoa(netplay->nat_traversal_state.ext_inet4_addr.sin_addr),
PATH_MAX_LENGTH);
host[PATH_MAX_LENGTH-1] = '\0';
snprintf(port, 6, "%hu",
ntohs(netplay->nat_traversal_state.ext_inet4_addr.sin_port));
port[5] = '\0';
}
else return;
#endif
snprintf(msg, sizeof(msg), "%s: %s:%s\n",
msg_hash_to_str(MSG_PUBLIC_ADDRESS),
host, port);