From 72d92bc66eb32d675118f71107f191c4c3535220 Mon Sep 17 00:00:00 2001 From: Darryl Pogue Date: Sun, 11 Mar 2012 23:12:03 -0700 Subject: [PATCH] Start killing off NetAddress. --- .../Private/Nt/pnAceNtSocket.cpp | 10 +++--- Sources/Plasma/NucleusLib/pnNetCli/pnNetCli.h | 1 + .../Plasma/NucleusLib/pnNetDiag/pnNdDns.cpp | 2 +- .../Plasma/NucleusLib/pnNetDiag/pnNdTcp.cpp | 11 +++---- .../NucleusLib/pnSimpleNet/pnSimpleNet.cpp | 20 ++++++----- .../NucleusLib/pnSimpleNet/pnSimpleNet.h | 3 +- .../NucleusLib/pnUtils/Win32/pnUtW32Addr.cpp | 33 ------------------- Sources/Plasma/NucleusLib/pnUtils/pnUtAddr.h | 25 ++++---------- .../plNetGameLib/Private/plNglAuth.cpp | 17 +++------- .../plNetGameLib/Private/plNglGame.cpp | 3 +- 10 files changed, 38 insertions(+), 87 deletions(-) diff --git a/Sources/Plasma/NucleusLib/pnAsyncCoreExe/Private/Nt/pnAceNtSocket.cpp b/Sources/Plasma/NucleusLib/pnAsyncCoreExe/Private/Nt/pnAceNtSocket.cpp index 9d501063..506e03c0 100644 --- a/Sources/Plasma/NucleusLib/pnAsyncCoreExe/Private/Nt/pnAceNtSocket.cpp +++ b/Sources/Plasma/NucleusLib/pnAsyncCoreExe/Private/Nt/pnAceNtSocket.cpp @@ -540,8 +540,8 @@ static SOCKET ListenSocket (NetAddress * listenAddr) { ); */ - NetAddressNode node = NetAddressGetNode(*listenAddr); - unsigned port = NetAddressGetPort(*listenAddr); + NetAddressNode node = listenAddr->GetHost(); + unsigned port = listenAddr->GetPort(); // bind socket to port sockaddr_in addr; @@ -581,13 +581,13 @@ static SOCKET ListenSocket (NetAddress * listenAddr) { } // success! - NetAddressSetPort(port, listenAddr); + listenAddr->SetPort(port); return s; } while (false); // failure! closesocket(s); - NetAddressSetPort(0, listenAddr); + listenAddr->SetPort(0); return INVALID_SOCKET; } @@ -1152,7 +1152,7 @@ unsigned NtSocketStartListening ( } s_listenCrit.Leave(); - unsigned port = NetAddressGetPort(addr); + unsigned port = addr.GetPort(); if (port) SetEvent(s_listenEvent); diff --git a/Sources/Plasma/NucleusLib/pnNetCli/pnNetCli.h b/Sources/Plasma/NucleusLib/pnNetCli/pnNetCli.h index c2efb7c4..b15cb434 100644 --- a/Sources/Plasma/NucleusLib/pnNetCli/pnNetCli.h +++ b/Sources/Plasma/NucleusLib/pnNetCli/pnNetCli.h @@ -48,6 +48,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #ifndef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETCLI_PNNETCLI_H #define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETCLI_PNNETCLI_H +#include "pnEncryption/plBigNum.h" /***************************************************************************** * diff --git a/Sources/Plasma/NucleusLib/pnNetDiag/pnNdDns.cpp b/Sources/Plasma/NucleusLib/pnNetDiag/pnNdDns.cpp index ff5a10f3..1cf8dca5 100644 --- a/Sources/Plasma/NucleusLib/pnNetDiag/pnNdDns.cpp +++ b/Sources/Plasma/NucleusLib/pnNetDiag/pnNdDns.cpp @@ -80,7 +80,7 @@ static void LookupCallback ( ) { DNSParam * p = (DNSParam *)param; if (addrCount) { - unsigned node = NetAddressGetNode(addrs[0]); + unsigned node = addrs[0].GetHost(); p->diag->critsect.Enter(); { p->diag->nodes[p->srv] = node; diff --git a/Sources/Plasma/NucleusLib/pnNetDiag/pnNdTcp.cpp b/Sources/Plasma/NucleusLib/pnNetDiag/pnNdTcp.cpp index 2cdb9639..576acdc9 100644 --- a/Sources/Plasma/NucleusLib/pnNetDiag/pnNdTcp.cpp +++ b/Sources/Plasma/NucleusLib/pnNetDiag/pnNdTcp.cpp @@ -828,8 +828,7 @@ void NetDiagTcp ( return; } - unsigned node; - NetAddress addr; + unsigned node; diag->critsect.Enter(); { node = diag->nodes[srv]; @@ -842,17 +841,17 @@ void NetDiagTcp ( return; } - NetAddressFromNode(node, port, &addr); - + plNetAddress addr(node, port); + switch (protocol) { case kNetProtocolCli2Auth: StartAuthTcpTest(diag, addr, dump, callback, param); break; - + case kNetProtocolCli2File: StartFileTcpTest(diag, addr, dump, callback, param); break; - + DEFAULT_FATAL(protocol); } } diff --git a/Sources/Plasma/NucleusLib/pnSimpleNet/pnSimpleNet.cpp b/Sources/Plasma/NucleusLib/pnSimpleNet/pnSimpleNet.cpp index be0986c9..2ac85dfa 100644 --- a/Sources/Plasma/NucleusLib/pnSimpleNet/pnSimpleNet.cpp +++ b/Sources/Plasma/NucleusLib/pnSimpleNet/pnSimpleNet.cpp @@ -368,7 +368,7 @@ static bool AsyncNotifySocketProc ( } //============================================================================ -static void Connect (const NetAddress & addr, ConnectParam * cp) { +static void Connect(const plNetAddress& addr, ConnectParam * cp) { SimpleNetConn * conn = NEWZERO(SimpleNetConn); conn->channelId = cp->channel->channelId; @@ -410,9 +410,9 @@ static void Connect (const NetAddress & addr, ConnectParam * cp) { //============================================================================ static void AsyncLookupCallback ( void * param, - const wchar_t name[], + const wchar_t name[], unsigned addrCount, - const NetAddress addrs[] + const plNetAddress addrs[] ) { ConnectParam * cp = (ConnectParam *)param; @@ -487,8 +487,9 @@ bool SimpleNetStartListening ( s_queryAccept = queryAccept; s_queryAcceptParam = param; - NetAddress addr; - NetAddressFromNode(0, kNetDefaultSimpleNetPort, &addr); + plNetAddress addr; + addr.SetPort(kNetDefaultSimpleNetPort); + addr.SetAnyAddr(); return (0 != AsyncSocketStartListening(addr, nil)); } @@ -497,8 +498,9 @@ void SimpleNetStopListening () { ASSERT(s_running); - NetAddress addr; - NetAddressFromNode(0, kNetDefaultSimpleNetPort, &addr); + plNetAddress addr; + addr.SetPort(kNetDefaultSimpleNetPort); + addr.SetAnyAddr(); AsyncSocketStopListening(addr, nil); s_queryAccept = nil; @@ -608,8 +610,8 @@ void SimpleNetStartConnecting ( } } if (!name[0]) { - NetAddress netAddr; - NetAddressFromString(&netAddr, addr, kNetDefaultSimpleNetPort); + plString saddr = _TEMP_CONVERT_FROM_WCHAR_T(addr); + plNetAddress netAddr(saddr.c_str(), kNetDefaultSimpleNetPort); Connect(netAddr, cp); } } diff --git a/Sources/Plasma/NucleusLib/pnSimpleNet/pnSimpleNet.h b/Sources/Plasma/NucleusLib/pnSimpleNet/pnSimpleNet.h index b857e998..b4c60f40 100644 --- a/Sources/Plasma/NucleusLib/pnSimpleNet/pnSimpleNet.h +++ b/Sources/Plasma/NucleusLib/pnSimpleNet/pnSimpleNet.h @@ -53,6 +53,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnProduct/pnProduct.h" #include "pnNetBase/pnNetBase.h" #include "pnAsyncCore/pnAsyncCore.h" +#include "pnNetCommon/plNetAddress.h" /***************************************************************************** * @@ -148,7 +149,7 @@ typedef bool (*FSimpleNetQueryAccept) ( // return true to accept incoming connec void * param, unsigned channel, SimpleNetConn * conn, - const NetAddress & addr + const plNetAddress& addr ); void SimpleNetCreateChannel ( diff --git a/Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Addr.cpp b/Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Addr.cpp index 54a82b10..c6bbd0f5 100644 --- a/Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Addr.cpp +++ b/Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Addr.cpp @@ -156,39 +156,6 @@ bool NetAddressFromString (NetAddress * addr, const wchar_t str[], unsigned defa return false; } -//=========================================================================== -unsigned NetAddressGetPort ( - const NetAddress & addr -) { - return ntohs(((sockaddr_in *) &addr)->sin_port); -} - -//=========================================================================== -void NetAddressSetPort ( - unsigned port, - NetAddress * addr -) { - ((sockaddr_in *) addr)->sin_port = htons((uint16_t) port); -} - -//============================================================================ -NetAddressNode NetAddressGetNode (const NetAddress & addr) { - return ntohl(((const sockaddr_in *) &addr)->sin_addr.S_un.S_addr); -} - -//=========================================================================== -void NetAddressFromNode ( - NetAddressNode node, - unsigned port, - NetAddress * addr -) { - memset(addr, 0, sizeof(*addr)); - sockaddr_in * inetaddr = (sockaddr_in *) addr; - inetaddr->sin_family = AF_INET; - inetaddr->sin_addr.S_un.S_addr = htonl(node); - inetaddr->sin_port = htons((uint16_t) port); -} - //=========================================================================== void NetAddressNodeToString ( NetAddressNode node, diff --git a/Sources/Plasma/NucleusLib/pnUtils/pnUtAddr.h b/Sources/Plasma/NucleusLib/pnUtils/pnUtAddr.h index b13eb1a3..97574804 100644 --- a/Sources/Plasma/NucleusLib/pnUtils/pnUtAddr.h +++ b/Sources/Plasma/NucleusLib/pnUtils/pnUtAddr.h @@ -57,11 +57,16 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com ***/ -struct NetAddress { +/*struct NetAddress { uint8_t data[24]; }; -typedef unsigned NetAddressNode; +typedef unsigned NetAddressNode;*/ + +#include "pnNetCommon/plNetAddress.h" + +typedef plNetAddress NetAddress; +typedef uint32_t NetAddressNode; /***************************************************************************** * @@ -95,26 +100,10 @@ bool NetAddressFromString ( unsigned defaultPort ); -unsigned NetAddressGetPort ( - const NetAddress & addr -); -void NetAddressSetPort ( - unsigned port, - NetAddress * addr -); - void NetAddressNodeToString ( NetAddressNode node, wchar_t * str, unsigned chars ); -NetAddressNode NetAddressGetNode ( - const NetAddress & addr -); -void NetAddressFromNode ( - NetAddressNode node, - unsigned port, - NetAddress * addr -); #endif diff --git a/Sources/Plasma/PubUtilLib/plNetGameLib/Private/plNglAuth.cpp b/Sources/Plasma/PubUtilLib/plNetGameLib/Private/plNglAuth.cpp index 85ac4488..b91b11aa 100644 --- a/Sources/Plasma/PubUtilLib/plNetGameLib/Private/plNglAuth.cpp +++ b/Sources/Plasma/PubUtilLib/plNetGameLib/Private/plNglAuth.cpp @@ -2194,18 +2194,11 @@ static bool Recv_ServerAddr ( { if (s_active) { s_active->token = msg.token; - NetAddressFromNode( - msg.srvAddr, - NetAddressGetPort(s_active->addr), - &s_active->addr - ); - wchar_t addrStr[64]; - NetAddressNodeToString( - msg.srvAddr, - addrStr, - arrsize(addrStr) - ); - LogMsg(kLogPerf, L"SrvAuth addr: %s", addrStr); + s_active->addr.SetHost(msg.srvAddr); + + plString logmsg = _TEMP_CONVERT_FROM_LITERAL("SrvAuth addr: "); + logmsg += s_active->addr.GetHostString(); + LogMsg(kLogPerf, L"SrvAuth addr: %s", logmsg.c_str()); } } s_critsect.Leave(); diff --git a/Sources/Plasma/PubUtilLib/plNetGameLib/Private/plNglGame.cpp b/Sources/Plasma/PubUtilLib/plNetGameLib/Private/plNglGame.cpp index febaed0c..2d36d31f 100644 --- a/Sources/Plasma/PubUtilLib/plNetGameLib/Private/plNglGame.cpp +++ b/Sources/Plasma/PubUtilLib/plNetGameLib/Private/plNglGame.cpp @@ -798,8 +798,7 @@ void GamePingEnable (bool enable) { void NetCliGameStartConnect ( const NetAddressNode & node ) { - NetAddress addr; - NetAddressFromNode(node, kNetDefaultClientPort, &addr); + plNetAddress addr(node, kNetDefaultClientPort); Connect(addr); }