mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-17 10:52:46 +00:00
Closes #182 -- dpogue/kill_utils
Conflicts: Sources/Plasma/Apps/plClient/winmain.cpp
This commit is contained in:
@ -44,6 +44,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#include "plNetCliAgeJoiner.h"
|
||||
#include "plNetCliAgeLeaver.h"
|
||||
|
||||
#include <list>
|
||||
|
||||
#include "plNetTransport/plNetTransportMember.h" // OfferLinkToPlayer()
|
||||
|
||||
#include "plgDispatch.h"
|
||||
@ -70,8 +72,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
*
|
||||
***/
|
||||
|
||||
struct NlmOpNode;
|
||||
|
||||
enum ENlmOp {
|
||||
kNlmOpNoOp,
|
||||
kNlmOpWaitOp,
|
||||
@ -82,7 +82,6 @@ enum ENlmOp {
|
||||
|
||||
struct NlmOp {
|
||||
ENlmOp opcode;
|
||||
NlmOpNode * node;
|
||||
NlmOp (const ENlmOp & op)
|
||||
: opcode(op)
|
||||
{ }
|
||||
@ -114,12 +113,6 @@ struct NlmLeaveAgeOp : NlmOp {
|
||||
{ }
|
||||
};
|
||||
|
||||
struct NlmOpNode {
|
||||
LINK(NlmOpNode) link;
|
||||
NlmOp * op;
|
||||
~NlmOpNode () { delete op; }
|
||||
};
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
@ -129,7 +122,7 @@ struct NlmOpNode {
|
||||
|
||||
static plNCAgeJoiner * s_ageJoiner;
|
||||
static plNCAgeLeaver * s_ageLeaver;
|
||||
static LISTDECL(NlmOpNode, link) s_oplist;
|
||||
static std::list<NlmOp*> s_opqueue;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
@ -140,10 +133,11 @@ static LISTDECL(NlmOpNode, link) s_oplist;
|
||||
|
||||
//============================================================================
|
||||
static void QueueOp (NlmOp * op, bool front = false) {
|
||||
NlmOpNode * node = NEWZERO(NlmOpNode);
|
||||
node->op = op;
|
||||
op->node = node;
|
||||
s_oplist.Link(node, front ? kListHead : kListTail);
|
||||
if (front) {
|
||||
s_opqueue.push_front(op);
|
||||
} else {
|
||||
s_opqueue.push_back(op);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -184,8 +178,10 @@ void plNetLinkingMgr::NCAgeJoinerCallback (
|
||||
lm->SetEnabled(true);
|
||||
|
||||
// Pull our wait op off exec queue
|
||||
if (NlmOpWaitOp * waitOp = (NlmOpWaitOp *) userState)
|
||||
delete waitOp->node;
|
||||
if (NlmOpWaitOp * waitOp = (NlmOpWaitOp *) userState) {
|
||||
s_opqueue.remove(waitOp);
|
||||
delete waitOp;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@ -206,8 +202,10 @@ void plNetLinkingMgr::NCAgeLeaverCallback (
|
||||
s_ageLeaver = nil;
|
||||
|
||||
// Pull our wait op off exec queue
|
||||
if (NlmOpWaitOp * waitOp = (NlmOpWaitOp *) userState)
|
||||
delete waitOp->node;
|
||||
if (NlmOpWaitOp * waitOp = (NlmOpWaitOp *) userState) {
|
||||
s_opqueue.remove(waitOp);
|
||||
delete waitOp;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@ -219,28 +217,27 @@ void plNetLinkingMgr::NCAgeLeaverCallback (
|
||||
void plNetLinkingMgr::ExecNextOp () {
|
||||
plNetLinkingMgr * lm = plNetLinkingMgr::GetInstance();
|
||||
|
||||
NlmOpNode * opNode = s_oplist.Head();
|
||||
if (!opNode)
|
||||
if (!s_opqueue.size())
|
||||
return;
|
||||
|
||||
switch (opNode->op->opcode) {
|
||||
case kNlmOpNoOp: {
|
||||
}
|
||||
break;
|
||||
|
||||
case kNlmOpWaitOp: {
|
||||
}
|
||||
return; // don't allow wait op to be unlinked/deleted from list
|
||||
|
||||
|
||||
NlmOp* op = s_opqueue.front();
|
||||
|
||||
switch (op->opcode) {
|
||||
case kNlmOpNoOp:
|
||||
break;
|
||||
|
||||
case kNlmOpWaitOp:
|
||||
return; // don't allow wait op to be unlinked/deleted from list
|
||||
|
||||
case kNlmOpJoinAgeOp: {
|
||||
ASSERT(!s_ageJoiner);
|
||||
ASSERT(!s_ageLeaver);
|
||||
|
||||
|
||||
// Insert a wait operation into the exec queue
|
||||
NlmOpWaitOp * waitOp = NEWZERO(NlmOpWaitOp);
|
||||
QueueOp(waitOp, true);
|
||||
|
||||
NlmJoinAgeOp * joinAgeOp = (NlmJoinAgeOp *) opNode->op;
|
||||
|
||||
NlmJoinAgeOp * joinAgeOp = (NlmJoinAgeOp *)op;
|
||||
NCAgeJoinerCreate(
|
||||
&s_ageJoiner,
|
||||
joinAgeOp->age,
|
||||
@ -249,7 +246,7 @@ void plNetLinkingMgr::ExecNextOp () {
|
||||
);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case kNlmOpLeaveAgeOp: {
|
||||
ASSERT(!s_ageJoiner);
|
||||
ASSERT(!s_ageLeaver);
|
||||
@ -261,7 +258,7 @@ void plNetLinkingMgr::ExecNextOp () {
|
||||
lm->SetEnabled(false);
|
||||
lm->fLinkedIn = false;
|
||||
|
||||
NlmLeaveAgeOp * leaveAgeOp = (NlmLeaveAgeOp *) opNode->op;
|
||||
NlmLeaveAgeOp * leaveAgeOp = (NlmLeaveAgeOp *)op;
|
||||
NCAgeLeaverCreate(
|
||||
&s_ageLeaver,
|
||||
leaveAgeOp->quitting,
|
||||
@ -271,8 +268,9 @@ void plNetLinkingMgr::ExecNextOp () {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
delete opNode;
|
||||
|
||||
s_opqueue.remove(op);
|
||||
delete op;
|
||||
}
|
||||
|
||||
|
||||
|
@ -110,11 +110,11 @@ static bool s_loginComplete = false;
|
||||
static bool s_hasAuthSrvIpAddress = false;
|
||||
static bool s_hasFileSrvIpAddress = false;
|
||||
static ENetError s_authResult = kNetErrAuthenticationFailed;
|
||||
static wchar_t s_authSrvAddr[256];
|
||||
static wchar_t s_fileSrvAddr[256];
|
||||
static char s_authSrvAddr[256];
|
||||
static char s_fileSrvAddr[256];
|
||||
|
||||
static wchar_t s_iniServerAddr[256];
|
||||
static wchar_t s_iniFileServerAddr[256];
|
||||
static char s_iniServerAddr[256];
|
||||
static char s_iniFileServerAddr[256];
|
||||
static wchar_t s_iniAccountUsername[kMaxAccountNameLength];
|
||||
static ShaDigest s_namePassHash;
|
||||
static wchar_t s_iniAuthToken[kMaxPublisherAuthKeyLength];
|
||||
@ -591,23 +591,22 @@ static void INetCliAuthAgeRequestCallback (
|
||||
unsigned ageMcpId,
|
||||
unsigned ageVaultId,
|
||||
const Uuid & ageInstId,
|
||||
NetAddressNode gameAddr
|
||||
plNetAddress gameAddr
|
||||
) {
|
||||
if (!IS_NET_ERROR(result) || result == kNetErrVaultNodeNotFound) {
|
||||
s_age.ageInstId = ageInstId;
|
||||
s_age.ageVaultId = ageVaultId;
|
||||
|
||||
wchar_t gameAddrStr[64];
|
||||
wchar_t ageInstIdStr[64];
|
||||
NetAddressNodeToString(gameAddr, gameAddrStr, arrsize(gameAddrStr));
|
||||
plString gameAddrStr = gameAddr.GetHostString();
|
||||
LogMsg(
|
||||
kLogPerf,
|
||||
L"Connecting to game server %s, ageInstId %s",
|
||||
gameAddrStr,
|
||||
gameAddrStr.c_str(),
|
||||
GuidToString(ageInstId, ageInstIdStr, arrsize(ageInstIdStr))
|
||||
);
|
||||
NetCliGameDisconnect();
|
||||
NetCliGameStartConnect(gameAddr);
|
||||
NetCliGameStartConnect(gameAddr.GetHost());
|
||||
NetCliGameJoinAgeRequest(
|
||||
ageMcpId,
|
||||
s_account.accountUuid,
|
||||
@ -668,7 +667,7 @@ static void AuthSrvIpAddressCallback (
|
||||
void * param,
|
||||
const wchar_t addr[]
|
||||
) {
|
||||
StrCopy(s_authSrvAddr, addr, arrsize(s_authSrvAddr));
|
||||
StrToAnsi(s_authSrvAddr, addr, arrsize(s_authSrvAddr));
|
||||
s_hasAuthSrvIpAddress = true;
|
||||
}
|
||||
|
||||
@ -678,7 +677,7 @@ static void FileSrvIpAddressCallback (
|
||||
void * param,
|
||||
const wchar_t addr[]
|
||||
) {
|
||||
StrCopy(s_fileSrvAddr, addr, arrsize(s_fileSrvAddr));
|
||||
StrToAnsi(s_fileSrvAddr, addr, arrsize(s_fileSrvAddr));
|
||||
s_hasFileSrvIpAddress = true;
|
||||
}
|
||||
|
||||
@ -823,12 +822,12 @@ void NetCommUpdate () {
|
||||
//============================================================================
|
||||
void NetCommConnect () {
|
||||
|
||||
const wchar_t ** addrs;
|
||||
const char** addrs;
|
||||
unsigned count;
|
||||
hsBool connectedToKeeper = false;
|
||||
|
||||
// if a console override was specified for a authserv, connect directly to the authserver rather than going through the gatekeeper
|
||||
if((count = GetAuthSrvHostnames(&addrs)) && wcslen(addrs[0]))
|
||||
if((count = GetAuthSrvHostnames(&addrs)) && strlen(addrs[0]))
|
||||
{
|
||||
NetCliAuthStartConnect(addrs, count);
|
||||
}
|
||||
@ -846,7 +845,7 @@ void NetCommConnect () {
|
||||
AsyncSleep(10);
|
||||
}
|
||||
|
||||
const wchar_t * authSrv[] = {
|
||||
const char* authSrv[] = {
|
||||
s_authSrvAddr
|
||||
};
|
||||
NetCliAuthStartConnect(authSrv, 1);
|
||||
@ -855,7 +854,7 @@ void NetCommConnect () {
|
||||
if (!gDataServerLocal) {
|
||||
|
||||
// if a console override was specified for a filesrv, connect directly to the fileserver rather than going through the gatekeeper
|
||||
if((count = GetFileSrvHostnames(&addrs)) && wcslen(addrs[0]))
|
||||
if((count = GetFileSrvHostnames(&addrs)) && strlen(addrs[0]))
|
||||
{
|
||||
NetCliFileStartConnect(addrs, count);
|
||||
}
|
||||
@ -875,7 +874,7 @@ void NetCommConnect () {
|
||||
AsyncSleep(10);
|
||||
}
|
||||
|
||||
const wchar_t * fileSrv[] = {
|
||||
const char* fileSrv[] = {
|
||||
s_fileSrvAddr
|
||||
};
|
||||
NetCliFileStartConnect(fileSrv, 1);
|
||||
|
@ -51,6 +51,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#define PLASMA20_SOURCES_PLASMA_PUBUTILLIB_PLNETGAMELIB_PCH_H
|
||||
|
||||
#include "pnUtils/pnUtils.h"
|
||||
#include "pnEncryption/plBigNum.h"
|
||||
#include "pnNetBase/pnNetBase.h"
|
||||
#include "pnAsyncCore/pnAsyncCore.h"
|
||||
#include "pnNetCli/pnNetCli.h"
|
||||
|
@ -90,8 +90,8 @@ struct CliAuConn : AtomicRef {
|
||||
LINK(CliAuConn) link;
|
||||
AsyncSocket sock;
|
||||
NetCli * cli;
|
||||
wchar_t name[MAX_PATH];
|
||||
NetAddress addr;
|
||||
char name[MAX_PATH];
|
||||
plNetAddress addr;
|
||||
Uuid token;
|
||||
unsigned seq;
|
||||
unsigned serverChallenge;
|
||||
@ -197,7 +197,7 @@ struct AgeRequestTrans : NetAuthTrans {
|
||||
unsigned m_ageMcpId;
|
||||
Uuid m_ageInstId;
|
||||
unsigned m_ageVaultId;
|
||||
NetAddressNode m_gameSrvNode;
|
||||
uint32_t m_gameSrvNode;
|
||||
|
||||
AgeRequestTrans (
|
||||
const wchar_t ageName[],
|
||||
@ -1527,8 +1527,8 @@ static void Connect (
|
||||
|
||||
//============================================================================
|
||||
static void Connect (
|
||||
const wchar_t name[],
|
||||
const NetAddress & addr
|
||||
const char name[],
|
||||
const plNetAddress& addr
|
||||
) {
|
||||
ASSERT(s_running);
|
||||
|
||||
@ -1536,7 +1536,7 @@ static void Connect (
|
||||
conn->addr = addr;
|
||||
conn->seq = ConnNextSequence();
|
||||
conn->lastHeardTimeMs = GetNonZeroTimeMs(); // used in connect timeout, and ping timeout
|
||||
StrCopy(conn->name, name, arrsize(conn->name));
|
||||
strncpy(conn->name, name, arrsize(conn->name));
|
||||
|
||||
conn->IncRef("Lifetime");
|
||||
conn->AutoReconnect();
|
||||
@ -1545,9 +1545,9 @@ static void Connect (
|
||||
//============================================================================
|
||||
static void AsyncLookupCallback (
|
||||
void * param,
|
||||
const wchar_t name[],
|
||||
const char name[],
|
||||
unsigned addrCount,
|
||||
const NetAddress addrs[]
|
||||
const plNetAddress addrs[]
|
||||
) {
|
||||
if (!addrCount) {
|
||||
ReportNetError(kNetProtocolCli2Auth, kNetErrNameLookupFailed);
|
||||
@ -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();
|
||||
@ -2760,13 +2753,16 @@ bool AgeRequestTrans::Send () {
|
||||
|
||||
//============================================================================
|
||||
void AgeRequestTrans::Post () {
|
||||
plNetAddress addr;
|
||||
addr.SetHost(htonl(m_gameSrvNode));
|
||||
|
||||
m_callback(
|
||||
m_result,
|
||||
m_param,
|
||||
m_ageMcpId,
|
||||
m_ageVaultId,
|
||||
m_ageInstId,
|
||||
m_gameSrvNode
|
||||
addr
|
||||
);
|
||||
}
|
||||
|
||||
@ -5032,8 +5028,8 @@ void AuthInitialize () {
|
||||
s_send, arrsize(s_send),
|
||||
s_recv, arrsize(s_recv),
|
||||
kAuthDhGValue,
|
||||
BigNum(sizeof(kAuthDhXData), kAuthDhXData),
|
||||
BigNum(sizeof(kAuthDhNData), kAuthDhNData)
|
||||
plBigNum(sizeof(kAuthDhXData), kAuthDhXData),
|
||||
plBigNum(sizeof(kAuthDhNData), kAuthDhNData)
|
||||
);
|
||||
}
|
||||
|
||||
@ -5125,8 +5121,8 @@ void AuthPingEnable (bool enable) {
|
||||
|
||||
//============================================================================
|
||||
void NetCliAuthStartConnect (
|
||||
const wchar_t * authAddrList[],
|
||||
unsigned authAddrCount
|
||||
const char* authAddrList[],
|
||||
uint32_t authAddrCount
|
||||
) {
|
||||
// TEMP: Only connect to one auth server until we fill out this module
|
||||
// to choose the "best" auth connection.
|
||||
@ -5134,7 +5130,7 @@ void NetCliAuthStartConnect (
|
||||
|
||||
for (unsigned i = 0; i < authAddrCount; ++i) {
|
||||
// Do we need to lookup the address?
|
||||
const wchar_t * name = authAddrList[i];
|
||||
const char* name = authAddrList[i];
|
||||
while (unsigned ch = *name) {
|
||||
++name;
|
||||
if (!(isdigit(ch) || ch == L'.' || ch == L':')) {
|
||||
@ -5150,8 +5146,7 @@ void NetCliAuthStartConnect (
|
||||
}
|
||||
}
|
||||
if (!name[0]) {
|
||||
NetAddress addr;
|
||||
NetAddressFromString(&addr, authAddrList[i], kNetDefaultClientPort);
|
||||
plNetAddress addr(authAddrList[i], kNetDefaultClientPort);
|
||||
Connect(authAddrList[i], addr);
|
||||
}
|
||||
}
|
||||
|
@ -50,6 +50,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#endif
|
||||
#define PLASMA20_SOURCES_PLASMA_PUBUTILLIB_PLNETGAMELIB_PRIVATE_PLNGLAUTH_H
|
||||
|
||||
#include "pnNetCommon/plNetAddress.h"
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
@ -61,8 +62,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
// Connect
|
||||
//============================================================================
|
||||
void NetCliAuthStartConnect (
|
||||
const wchar_t * authAddrList[],
|
||||
unsigned authAddrCount
|
||||
const char* authAddrList[],
|
||||
uint32_t authAddrCount
|
||||
);
|
||||
bool NetCliAuthQueryConnected ();
|
||||
void NetCliAuthAutoReconnectEnable (bool enable); // is enabled by default
|
||||
@ -326,7 +327,7 @@ typedef void (*FNetCliAuthAgeRequestCallback)(
|
||||
unsigned ageMcpId,
|
||||
unsigned ageVaultId,
|
||||
const Uuid & ageInstId,
|
||||
NetAddressNode gameAddr
|
||||
plNetAddress gameAddr
|
||||
);
|
||||
void NetCliAuthAgeRequest (
|
||||
const wchar_t ageName[], // L"Teledahn"
|
||||
|
@ -73,7 +73,7 @@ struct CliCsConn : AtomicRef {
|
||||
AsyncSocket sock;
|
||||
AsyncCancelId cancelId;
|
||||
NetCli * cli;
|
||||
NetAddress addr;
|
||||
plNetAddress addr;
|
||||
unsigned seq;
|
||||
bool abandoned;
|
||||
unsigned serverChallenge;
|
||||
@ -369,7 +369,7 @@ static bool SocketNotifyCallback (
|
||||
|
||||
//============================================================================
|
||||
static void Connect (
|
||||
const NetAddress & addr,
|
||||
const plNetAddress& addr,
|
||||
ConnectParam * cp
|
||||
) {
|
||||
CliCsConn * conn = NEWZERO(CliCsConn);
|
||||
@ -413,9 +413,9 @@ static void Connect (
|
||||
//============================================================================
|
||||
static void AsyncLookupCallback (
|
||||
void * param,
|
||||
const wchar_t name[],
|
||||
const char name[],
|
||||
unsigned addrCount,
|
||||
const NetAddress addrs[]
|
||||
const plNetAddress addrs[]
|
||||
) {
|
||||
if (!addrCount) {
|
||||
ReportNetError(kNetProtocolCli2Auth, kNetErrNameLookupFailed);
|
||||
@ -758,8 +758,8 @@ void CsrInitialize () {
|
||||
s_send, arrsize(s_send),
|
||||
s_recv, arrsize(s_recv),
|
||||
kCsrDhGValue,
|
||||
BigNum(sizeof(kCsrDhXData), kCsrDhXData),
|
||||
BigNum(sizeof(kCsrDhNData), kCsrDhNData)
|
||||
plBigNum(sizeof(kCsrDhXData), kCsrDhXData),
|
||||
plBigNum(sizeof(kCsrDhNData), kCsrDhNData)
|
||||
);
|
||||
}
|
||||
|
||||
@ -830,8 +830,8 @@ unsigned CsrGetConnId () {
|
||||
|
||||
//============================================================================
|
||||
void NetCliCsrStartConnect (
|
||||
const wchar_t * addrList[],
|
||||
unsigned addrCount,
|
||||
const char* addrList[],
|
||||
uint32_t addrCount,
|
||||
FNetCliCsrConnectedCallback callback,
|
||||
void * param
|
||||
) {
|
||||
@ -840,7 +840,7 @@ void NetCliCsrStartConnect (
|
||||
|
||||
for (unsigned i = 0; i < addrCount; ++i) {
|
||||
// Do we need to lookup the address?
|
||||
const wchar_t * name = addrList[i];
|
||||
const char* name = addrList[i];
|
||||
while (unsigned ch = *name) {
|
||||
++name;
|
||||
if (!(isdigit(ch) || ch == L'.' || ch == L':')) {
|
||||
@ -860,9 +860,8 @@ void NetCliCsrStartConnect (
|
||||
}
|
||||
}
|
||||
if (!name[0]) {
|
||||
NetAddress addr;
|
||||
NetAddressFromString(&addr, addrList[i], kNetDefaultClientPort);
|
||||
|
||||
plNetAddress addr(addrList[i], kNetDefaultClientPort);
|
||||
|
||||
ConnectParam * cp = new ConnectParam;
|
||||
cp->callback = callback;
|
||||
cp->param = param;
|
||||
|
@ -62,8 +62,8 @@ typedef void (*FNetCliCsrConnectedCallback) (
|
||||
unsigned latestBuildId
|
||||
);
|
||||
void NetCliCsrStartConnect (
|
||||
const wchar_t * addrList[],
|
||||
unsigned addrCount,
|
||||
const char* addrList[],
|
||||
uint32_t addrCount,
|
||||
FNetCliCsrConnectedCallback callback = nil,
|
||||
void * param = nil
|
||||
);
|
||||
|
@ -64,8 +64,8 @@ struct CliFileConn : AtomicRef {
|
||||
LINK(CliFileConn) link;
|
||||
CLock sockLock; // to protect the socket pointer so we don't nuke it while using it
|
||||
AsyncSocket sock;
|
||||
wchar_t name[MAX_PATH];
|
||||
NetAddress addr;
|
||||
char name[MAX_PATH];
|
||||
plNetAddress addr;
|
||||
unsigned seq;
|
||||
ARRAY(uint8_t) recvBuffer;
|
||||
AsyncCancelId cancelId;
|
||||
@ -539,13 +539,13 @@ static void Connect (CliFileConn * conn) {
|
||||
|
||||
//============================================================================
|
||||
static void Connect (
|
||||
const wchar_t name[],
|
||||
const NetAddress & addr
|
||||
const char name[],
|
||||
const plNetAddress& addr
|
||||
) {
|
||||
ASSERT(s_running);
|
||||
|
||||
CliFileConn * conn = NEWZERO(CliFileConn);
|
||||
StrCopy(conn->name, name, arrsize(conn->name));
|
||||
strncpy(conn->name, name, arrsize(conn->name));
|
||||
conn->addr = addr;
|
||||
conn->buildId = s_connectBuildId;
|
||||
conn->serverType = s_serverType;
|
||||
@ -559,9 +559,9 @@ static void Connect (
|
||||
//============================================================================
|
||||
static void AsyncLookupCallback (
|
||||
void * param,
|
||||
const wchar_t name[],
|
||||
const char name[],
|
||||
unsigned addrCount,
|
||||
const NetAddress addrs[]
|
||||
const plNetAddress addrs[]
|
||||
) {
|
||||
if (!addrCount) {
|
||||
ReportNetError(kNetProtocolCli2File, kNetErrNameLookupFailed);
|
||||
@ -1334,8 +1334,8 @@ unsigned FileGetConnId () {
|
||||
|
||||
//============================================================================
|
||||
void NetCliFileStartConnect (
|
||||
const wchar_t * fileAddrList[],
|
||||
unsigned fileAddrCount,
|
||||
const char* fileAddrList[],
|
||||
uint32_t fileAddrCount,
|
||||
bool isPatcher /* = false */
|
||||
) {
|
||||
// TEMP: Only connect to one file server until we fill out this module
|
||||
@ -1346,7 +1346,7 @@ void NetCliFileStartConnect (
|
||||
|
||||
for (unsigned i = 0; i < fileAddrCount; ++i) {
|
||||
// Do we need to lookup the address?
|
||||
const wchar_t * name = fileAddrList[i];
|
||||
const char* name = fileAddrList[i];
|
||||
while (unsigned ch = *name) {
|
||||
++name;
|
||||
if (!(isdigit(ch) || ch == L'.' || ch == L':')) {
|
||||
@ -1362,8 +1362,7 @@ void NetCliFileStartConnect (
|
||||
}
|
||||
}
|
||||
if (!name[0]) {
|
||||
NetAddress addr;
|
||||
NetAddressFromString(&addr, fileAddrList[i], kNetDefaultClientPort);
|
||||
plNetAddress addr(fileAddrList[i], kNetDefaultClientPort);
|
||||
Connect(fileAddrList[i], addr);
|
||||
}
|
||||
}
|
||||
@ -1371,8 +1370,8 @@ void NetCliFileStartConnect (
|
||||
|
||||
//============================================================================
|
||||
void NetCliFileStartConnectAsServer (
|
||||
const wchar_t * fileAddrList[],
|
||||
unsigned fileAddrCount,
|
||||
const char* fileAddrList[],
|
||||
uint32_t fileAddrCount,
|
||||
unsigned serverType,
|
||||
unsigned serverBuildId
|
||||
) {
|
||||
@ -1384,7 +1383,7 @@ void NetCliFileStartConnectAsServer (
|
||||
|
||||
for (unsigned i = 0; i < fileAddrCount; ++i) {
|
||||
// Do we need to lookup the address?
|
||||
const wchar_t * name = fileAddrList[i];
|
||||
const char* name = fileAddrList[i];
|
||||
while (unsigned ch = *name) {
|
||||
++name;
|
||||
if (!(isdigit(ch) || ch == L'.' || ch == L':')) {
|
||||
@ -1400,8 +1399,7 @@ void NetCliFileStartConnectAsServer (
|
||||
}
|
||||
}
|
||||
if (!name[0]) {
|
||||
NetAddress addr;
|
||||
NetAddressFromString(&addr, fileAddrList[i], kNetDefaultServerPort);
|
||||
plNetAddress addr(fileAddrList[i], kNetDefaultServerPort);
|
||||
Connect(fileAddrList[i], addr);
|
||||
}
|
||||
}
|
||||
|
@ -62,12 +62,12 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
// Connect
|
||||
//============================================================================
|
||||
void NetCliFileStartConnect (
|
||||
const wchar_t * fileAddrList[],
|
||||
const char* fileAddrList[],
|
||||
unsigned fileAddrCount,
|
||||
bool isPatcher = false
|
||||
);
|
||||
void NetCliFileStartConnectAsServer (
|
||||
const wchar_t * fileAddrList[],
|
||||
const char* fileAddrList[],
|
||||
unsigned fileAddrCount,
|
||||
unsigned serverType,
|
||||
unsigned serverBuildId
|
||||
|
@ -62,7 +62,7 @@ struct CliGmConn : AtomicRef {
|
||||
AsyncSocket sock;
|
||||
AsyncCancelId cancelId;
|
||||
NetCli * cli;
|
||||
NetAddress addr;
|
||||
plNetAddress addr;
|
||||
unsigned seq;
|
||||
bool abandoned;
|
||||
|
||||
@ -354,7 +354,7 @@ static bool SocketNotifyCallback (
|
||||
|
||||
//============================================================================
|
||||
static void Connect (
|
||||
const NetAddress & addr
|
||||
const plNetAddress& addr
|
||||
) {
|
||||
CliGmConn * conn = NEWZERO(CliGmConn);
|
||||
conn->addr = addr;
|
||||
@ -711,8 +711,8 @@ void GameInitialize () {
|
||||
s_send, arrsize(s_send),
|
||||
s_recv, arrsize(s_recv),
|
||||
kGameDhGValue,
|
||||
BigNum(sizeof(kGameDhXData), kGameDhXData),
|
||||
BigNum(sizeof(kGameDhNData), kGameDhNData)
|
||||
plBigNum(sizeof(kGameDhXData), kGameDhXData),
|
||||
plBigNum(sizeof(kGameDhNData), kGameDhNData)
|
||||
);
|
||||
}
|
||||
|
||||
@ -796,10 +796,9 @@ void GamePingEnable (bool enable) {
|
||||
|
||||
//============================================================================
|
||||
void NetCliGameStartConnect (
|
||||
const NetAddressNode & node
|
||||
const uint32_t node
|
||||
) {
|
||||
NetAddress addr;
|
||||
NetAddressFromNode(node, kNetDefaultClientPort, &addr);
|
||||
plNetAddress addr(node, kNetDefaultClientPort);
|
||||
Connect(addr);
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
// Connect
|
||||
//============================================================================
|
||||
void NetCliGameStartConnect (
|
||||
const NetAddressNode & node
|
||||
const uint32_t node
|
||||
);
|
||||
|
||||
//============================================================================
|
||||
|
@ -89,8 +89,8 @@ struct CliGkConn : AtomicRef {
|
||||
LINK(CliGkConn) link;
|
||||
AsyncSocket sock;
|
||||
NetCli * cli;
|
||||
wchar_t name[MAX_PATH];
|
||||
NetAddress addr;
|
||||
char name[MAX_PATH];
|
||||
plNetAddress addr;
|
||||
Uuid token;
|
||||
unsigned seq;
|
||||
unsigned serverChallenge;
|
||||
@ -463,8 +463,8 @@ static void Connect (
|
||||
|
||||
//============================================================================
|
||||
static void Connect (
|
||||
const wchar_t name[],
|
||||
const NetAddress & addr
|
||||
const char name[],
|
||||
const plNetAddress& addr
|
||||
) {
|
||||
ASSERT(s_running);
|
||||
|
||||
@ -472,7 +472,7 @@ static void Connect (
|
||||
conn->addr = addr;
|
||||
conn->seq = ConnNextSequence();
|
||||
conn->lastHeardTimeMs = GetNonZeroTimeMs(); // used in connect timeout, and ping timeout
|
||||
StrCopy(conn->name, name, arrsize(conn->name));
|
||||
strncpy(conn->name, name, arrsize(conn->name));
|
||||
|
||||
conn->IncRef("Lifetime");
|
||||
conn->AutoReconnect();
|
||||
@ -481,9 +481,9 @@ static void Connect (
|
||||
//============================================================================
|
||||
static void AsyncLookupCallback (
|
||||
void * param,
|
||||
const wchar_t name[],
|
||||
const char name[],
|
||||
unsigned addrCount,
|
||||
const NetAddress addrs[]
|
||||
const plNetAddress addrs[]
|
||||
) {
|
||||
if (!addrCount) {
|
||||
ReportNetError(kNetProtocolCli2GateKeeper, kNetErrNameLookupFailed);
|
||||
@ -984,8 +984,8 @@ void GateKeeperInitialize () {
|
||||
s_send, arrsize(s_send),
|
||||
s_recv, arrsize(s_recv),
|
||||
kGateKeeperDhGValue,
|
||||
BigNum(sizeof(kGateKeeperDhXData), kGateKeeperDhXData),
|
||||
BigNum(sizeof(kGateKeeperDhNData), kGateKeeperDhNData)
|
||||
plBigNum(sizeof(kGateKeeperDhXData), kGateKeeperDhXData),
|
||||
plBigNum(sizeof(kGateKeeperDhNData), kGateKeeperDhNData)
|
||||
);
|
||||
}
|
||||
|
||||
@ -1053,14 +1053,14 @@ unsigned GateKeeperGetConnId () {
|
||||
|
||||
//============================================================================
|
||||
void NetCliGateKeeperStartConnect (
|
||||
const wchar_t * gateKeeperAddrList[],
|
||||
unsigned gateKeeperAddrCount
|
||||
const char* gateKeeperAddrList[],
|
||||
uint32_t gateKeeperAddrCount
|
||||
) {
|
||||
gateKeeperAddrCount = min(gateKeeperAddrCount, 1);
|
||||
|
||||
for (unsigned i = 0; i < gateKeeperAddrCount; ++i) {
|
||||
// Do we need to lookup the address?
|
||||
const wchar_t * name = gateKeeperAddrList[i];
|
||||
const char* name = gateKeeperAddrList[i];
|
||||
while (unsigned ch = *name) {
|
||||
++name;
|
||||
if (!(isdigit(ch) || ch == L'.' || ch == L':')) {
|
||||
@ -1076,8 +1076,7 @@ void NetCliGateKeeperStartConnect (
|
||||
}
|
||||
}
|
||||
if (!name[0]) {
|
||||
NetAddress addr;
|
||||
NetAddressFromString(&addr, gateKeeperAddrList[i], kNetDefaultClientPort);
|
||||
plNetAddress addr(gateKeeperAddrList[i], kNetDefaultClientPort);
|
||||
Connect(gateKeeperAddrList[i], addr);
|
||||
}
|
||||
}
|
||||
|
@ -62,8 +62,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
// Connect
|
||||
//============================================================================
|
||||
void NetCliGateKeeperStartConnect (
|
||||
const wchar_t * gateKeeperAddrList[],
|
||||
unsigned gateKeeperAddrCount
|
||||
const char* gateKeeperAddrList[],
|
||||
uint32_t gateKeeperAddrCount
|
||||
);
|
||||
|
||||
bool NetCliGateKeeperQueryConnected ();
|
||||
|
Reference in New Issue
Block a user