mirror of
https://github.com/glest/glest-source.git
synced 2025-02-25 04:02:30 +01:00
- added ftp port # as an ini setting and added to UPNP for router auto-config
- added new language string for message box to prompt map file downloads
This commit is contained in:
parent
be9d8859d4
commit
4fb1b1092f
@ -378,7 +378,8 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM
|
|||||||
|
|
||||||
if(config.getBool("EnableFTPXfer","false") == true) {
|
if(config.getBool("EnableFTPXfer","false") == true) {
|
||||||
ClientInterface *clientInterface = networkManager.getClientInterface();
|
ClientInterface *clientInterface = networkManager.getClientInterface();
|
||||||
string serverUrl = clientInterface->getServerIpAddress() + ":61358";
|
string serverUrl = clientInterface->getServerIpAddress();
|
||||||
|
int portNumber = config.getInt("FTPServerPort",intToStr(ServerSocket::getFTPServerPort()).c_str());
|
||||||
|
|
||||||
vector<string> mapPathList = config.getPathListForType(ptMaps);
|
vector<string> mapPathList = config.getPathListForType(ptMaps);
|
||||||
std::pair<string,string> mapsPath;
|
std::pair<string,string> mapsPath;
|
||||||
@ -389,7 +390,7 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM
|
|||||||
mapsPath.second = mapPathList[1];
|
mapsPath.second = mapPathList[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
ftpClientThread = new FTPClientThread(serverUrl,mapsPath, this);
|
ftpClientThread = new FTPClientThread(portNumber,serverUrl,mapsPath, this);
|
||||||
ftpClientThread->start();
|
ftpClientThread->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -590,11 +591,12 @@ void MenuStateConnectedGame::render() {
|
|||||||
//SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
//SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
|
||||||
Renderer &renderer= Renderer::getInstance();
|
Renderer &renderer= Renderer::getInstance();
|
||||||
if(mainMessageBox.getEnabled()){
|
|
||||||
|
if(mainMessageBox.getEnabled()) {
|
||||||
renderer.renderMessageBox(&mainMessageBox);
|
renderer.renderMessageBox(&mainMessageBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ftpMessageBox.getEnabled()){
|
if(ftpMessageBox.getEnabled()) {
|
||||||
renderer.renderMessageBox(&ftpMessageBox);
|
renderer.renderMessageBox(&ftpMessageBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -734,6 +736,15 @@ void MenuStateConnectedGame::render() {
|
|||||||
renderer.renderChatManager(&chatManager);
|
renderer.renderChatManager(&chatManager);
|
||||||
renderer.renderConsole(&console,showFullConsole,true);
|
renderer.renderConsole(&console,showFullConsole,true);
|
||||||
|
|
||||||
|
|
||||||
|
if(mainMessageBox.getEnabled()) {
|
||||||
|
renderer.renderMessageBox(&mainMessageBox);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(ftpMessageBox.getEnabled()) {
|
||||||
|
renderer.renderMessageBox(&ftpMessageBox);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch(const std::exception &ex) {
|
catch(const std::exception &ex) {
|
||||||
char szBuf[1024]="";
|
char szBuf[1024]="";
|
||||||
@ -999,7 +1010,11 @@ void MenuStateConnectedGame::update() {
|
|||||||
if(ftpClientThread != NULL && getMissingMapFromFTPServer != currentMap) {
|
if(ftpClientThread != NULL && getMissingMapFromFTPServer != currentMap) {
|
||||||
if(ftpMessageBox.getEnabled() == false) {
|
if(ftpMessageBox.getEnabled() == false) {
|
||||||
getMissingMapFromFTPServer = currentMap;
|
getMissingMapFromFTPServer = currentMap;
|
||||||
showFTPMessageBox("Download missing map: " + currentMap + " ?", "Question", false);
|
Lang &lang= Lang::getInstance();
|
||||||
|
|
||||||
|
char szBuf[1024]="";
|
||||||
|
sprintf(szBuf,"%s %s ?",lang.get("DownloadMissingMapQuestion").c_str(),currentMap.c_str());
|
||||||
|
showFTPMessageBox(szBuf, lang.get("Question"), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
maps.push_back("***missing***");
|
maps.push_back("***missing***");
|
||||||
|
@ -95,7 +95,10 @@ ServerInterface::ServerInterface() {
|
|||||||
mapsPath.second = pathList[1];
|
mapsPath.second = pathList[1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ftpServer = new FTPServerThread(mapsPath);
|
|
||||||
|
int portNumber = Config::getInstance().getInt("FTPServerPort",intToStr(ServerSocket::getFTPServerPort()).c_str());
|
||||||
|
ServerSocket::setFTPServerPort(portNumber);
|
||||||
|
ftpServer = new FTPServerThread(mapsPath,portNumber);
|
||||||
ftpServer->start();
|
ftpServer->start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -178,7 +178,7 @@ extern int ftpSend(socket_t s, const void *data, int len);
|
|||||||
extern int ftpReceive(socket_t s, void *data, int len);
|
extern int ftpReceive(socket_t s, void *data, int len);
|
||||||
extern socket_t ftpEstablishDataConnection(int passive, ip_t *ip, port_t *port);
|
extern socket_t ftpEstablishDataConnection(int passive, ip_t *ip, port_t *port);
|
||||||
extern socket_t ftpAcceptDataConnection(socket_t listner);
|
extern socket_t ftpAcceptDataConnection(socket_t listner);
|
||||||
extern socket_t ftpCreateServerSocket(void);
|
extern socket_t ftpCreateServerSocket(int portNumber);
|
||||||
extern socket_t ftpAcceptServerConnection(socket_t server, ip_t *remoteIP, port_t *remotePort);
|
extern socket_t ftpAcceptServerConnection(socket_t server, ip_t *remoteIP, port_t *remotePort);
|
||||||
extern int ftpTrackSocket(socket_t s);
|
extern int ftpTrackSocket(socket_t s);
|
||||||
extern int ftpUntrackSocket(socket_t s);
|
extern int ftpUntrackSocket(socket_t s);
|
||||||
|
@ -37,7 +37,7 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
int ftpCreateAccount(const char* name, const char* passw, const char* root, int accRights);
|
int ftpCreateAccount(const char* name, const char* passw, const char* root, int accRights);
|
||||||
int ftpStart(void);
|
int ftpStart(int portNumber);
|
||||||
int ftpShutdown(void);
|
int ftpShutdown(void);
|
||||||
void ftpExecute(void);
|
void ftpExecute(void);
|
||||||
int ftpState(void);
|
int ftpState(void);
|
||||||
|
@ -39,6 +39,7 @@ public:
|
|||||||
class FTPClientThread : public BaseThread
|
class FTPClientThread : public BaseThread
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
int portNumber;
|
||||||
string serverUrl;
|
string serverUrl;
|
||||||
FTPClientCallbackInterface *pCBObject;
|
FTPClientCallbackInterface *pCBObject;
|
||||||
std::pair<string,string> mapsPath;
|
std::pair<string,string> mapsPath;
|
||||||
@ -49,7 +50,7 @@ protected:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
FTPClientThread(string serverUrl, std::pair<string,string> mapsPath, FTPClientCallbackInterface *pCBObject);
|
FTPClientThread(int portNumber,string serverUrl, std::pair<string,string> mapsPath, FTPClientCallbackInterface *pCBObject);
|
||||||
virtual void execute();
|
virtual void execute();
|
||||||
virtual void signalQuit();
|
virtual void signalQuit();
|
||||||
virtual bool shutdownAndWait();
|
virtual bool shutdownAndWait();
|
||||||
|
@ -30,10 +30,11 @@ class FTPServerThread : public BaseThread
|
|||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
std::pair<string,string> mapsPath;
|
std::pair<string,string> mapsPath;
|
||||||
|
int portNumber;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
FTPServerThread(std::pair<string,string> mapsPath);
|
FTPServerThread(std::pair<string,string> mapsPath, int portNumber);
|
||||||
virtual void execute();
|
virtual void execute();
|
||||||
virtual void signalQuit();
|
virtual void signalQuit();
|
||||||
virtual bool shutdownAndWait();
|
virtual bool shutdownAndWait();
|
||||||
|
@ -212,6 +212,9 @@ public:
|
|||||||
static void setExternalPort(int port) { externalPort = port; }
|
static void setExternalPort(int port) { externalPort = port; }
|
||||||
static int getExternalPort() { return externalPort; }
|
static int getExternalPort() { return externalPort; }
|
||||||
|
|
||||||
|
static void setFTPServerPort(int port) { ftpServerPort = port; }
|
||||||
|
static int getFTPServerPort() { return ftpServerPort; }
|
||||||
|
|
||||||
virtual void disconnectSocket();
|
virtual void disconnectSocket();
|
||||||
|
|
||||||
void NETdiscoverUPnPDevices();
|
void NETdiscoverUPnPDevices();
|
||||||
@ -222,6 +225,7 @@ protected:
|
|||||||
int boundPort;
|
int boundPort;
|
||||||
|
|
||||||
static int externalPort;
|
static int externalPort;
|
||||||
|
static int ftpServerPort;
|
||||||
|
|
||||||
static bool enabledUPNP;
|
static bool enabledUPNP;
|
||||||
|
|
||||||
@ -230,10 +234,10 @@ protected:
|
|||||||
bool isBroadCastThreadRunning();
|
bool isBroadCastThreadRunning();
|
||||||
|
|
||||||
static int upnp_init(void *param);
|
static int upnp_init(void *param);
|
||||||
static bool upnp_add_redirect(int ports[2]);
|
static bool upnp_add_redirect(int ports[4]);
|
||||||
static void upnp_rem_redirect(int ext_port);
|
static void upnp_rem_redirect(int ext_port);
|
||||||
|
|
||||||
void NETaddRedirects(int ports[2]);
|
void NETaddRedirects(int ports[4]);
|
||||||
void NETremRedirects(int ext_port);
|
void NETremRedirects(int ext_port);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ LOCAL socket_t server;
|
|||||||
* @return - 0: server started successfully
|
* @return - 0: server started successfully
|
||||||
* - -1: could not create server socket
|
* - -1: could not create server socket
|
||||||
*/
|
*/
|
||||||
int ftpStart(void)
|
int ftpStart(int portNumber)
|
||||||
{
|
{
|
||||||
server = -1; // set server socket to invalid value
|
server = -1; // set server socket to invalid value
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ int ftpStart(void)
|
|||||||
printf(". Creating server socket");
|
printf(". Creating server socket");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
server = ftpCreateServerSocket(); // create main listener socket
|
server = ftpCreateServerSocket(portNumber); // create main listener socket
|
||||||
if(server < 0)
|
if(server < 0)
|
||||||
{
|
{
|
||||||
#if DBG_LOG
|
#if DBG_LOG
|
||||||
|
@ -287,7 +287,7 @@ socket_t ftpAcceptDataConnection(socket_t listner)
|
|||||||
return dataSocket;
|
return dataSocket;
|
||||||
}
|
}
|
||||||
|
|
||||||
socket_t ftpCreateServerSocket(void)
|
socket_t ftpCreateServerSocket(int portNumber)
|
||||||
{
|
{
|
||||||
int theServer;
|
int theServer;
|
||||||
struct sockaddr_in serverinfo;
|
struct sockaddr_in serverinfo;
|
||||||
@ -299,7 +299,7 @@ socket_t ftpCreateServerSocket(void)
|
|||||||
|
|
||||||
serverinfo.sin_family = AF_INET;
|
serverinfo.sin_family = AF_INET;
|
||||||
serverinfo.sin_addr.s_addr = INADDR_ANY;
|
serverinfo.sin_addr.s_addr = INADDR_ANY;
|
||||||
serverinfo.sin_port = htons(61358);
|
serverinfo.sin_port = htons(portNumber);
|
||||||
len = sizeof(serverinfo);
|
len = sizeof(serverinfo);
|
||||||
|
|
||||||
if(bind(theServer, (struct sockaddr *)&serverinfo, len))
|
if(bind(theServer, (struct sockaddr *)&serverinfo, len))
|
||||||
|
@ -317,7 +317,7 @@ socket_t ftpAcceptDataConnection(socket_t listner)
|
|||||||
return (socket_t)dataSocket;
|
return (socket_t)dataSocket;
|
||||||
}
|
}
|
||||||
|
|
||||||
socket_t ftpCreateServerSocket(void)
|
socket_t ftpCreateServerSocket(int portNumber)
|
||||||
{
|
{
|
||||||
SOCKET theServer;
|
SOCKET theServer;
|
||||||
struct sockaddr_in serverinfo;
|
struct sockaddr_in serverinfo;
|
||||||
@ -330,9 +330,9 @@ socket_t ftpCreateServerSocket(void)
|
|||||||
|
|
||||||
serverinfo.sin_family = AF_INET;
|
serverinfo.sin_family = AF_INET;
|
||||||
serverinfo.sin_addr.s_addr = INADDR_ANY;
|
serverinfo.sin_addr.s_addr = INADDR_ANY;
|
||||||
serverinfo.sin_port = htons(21);
|
serverinfo.sin_port = htons(portNumber);
|
||||||
len = sizeof(serverinfo);
|
len = sizeof(serverinfo);
|
||||||
|
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
setsockopt(theServer, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val));
|
setsockopt(theServer, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val));
|
||||||
#else
|
#else
|
||||||
|
@ -53,10 +53,11 @@ static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) {
|
|||||||
return fwrite(buffer, size, nmemb, out->stream);
|
return fwrite(buffer, size, nmemb, out->stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
FTPClientThread::FTPClientThread(string serverUrl, std::pair<string,string> mapsPath, FTPClientCallbackInterface *pCBObject) : BaseThread() {
|
FTPClientThread::FTPClientThread(int portNumber, string serverUrl, std::pair<string,string> mapsPath, FTPClientCallbackInterface *pCBObject) : BaseThread() {
|
||||||
this->serverUrl = serverUrl;
|
this->portNumber = portNumber;
|
||||||
this->mapsPath = mapsPath;
|
this->serverUrl = serverUrl;
|
||||||
this->pCBObject = pCBObject;
|
this->mapsPath = mapsPath;
|
||||||
|
this->pCBObject = pCBObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FTPClientThread::signalQuit() {
|
void FTPClientThread::signalQuit() {
|
||||||
@ -107,7 +108,7 @@ void FTPClientThread::getMapFromServer(string mapFileName) {
|
|||||||
ftpfile.stream = NULL;
|
ftpfile.stream = NULL;
|
||||||
|
|
||||||
char szBuf[1024]="";
|
char szBuf[1024]="";
|
||||||
sprintf(szBuf,"ftp://maps:mg_ftp_server@%s/%s%s",serverUrl.c_str(),mapFileName.c_str(),destFileExt.c_str());
|
sprintf(szBuf,"ftp://maps:mg_ftp_server@%s:%d/%s%s",serverUrl.c_str(),portNumber, mapFileName.c_str(),destFileExt.c_str());
|
||||||
|
|
||||||
curl_easy_setopt(curl, CURLOPT_URL,szBuf);
|
curl_easy_setopt(curl, CURLOPT_URL,szBuf);
|
||||||
/* Define our callback to get called when there's data to be written */
|
/* Define our callback to get called when there's data to be written */
|
||||||
@ -129,7 +130,7 @@ void FTPClientThread::getMapFromServer(string mapFileName) {
|
|||||||
|
|
||||||
ftpfile.stream = NULL;
|
ftpfile.stream = NULL;
|
||||||
|
|
||||||
sprintf(szBuf,"ftp://maps_custom:mg_ftp_server@%s/%s%s",serverUrl.c_str(),mapFileName.c_str(),destFileExt.c_str());
|
sprintf(szBuf,"ftp://maps_custom:mg_ftp_server@%s:%d/%s%s",serverUrl.c_str(),portNumber,mapFileName.c_str(),destFileExt.c_str());
|
||||||
|
|
||||||
curl_easy_setopt(curl, CURLOPT_URL,szBuf);
|
curl_easy_setopt(curl, CURLOPT_URL,szBuf);
|
||||||
/* Define our callback to get called when there's data to be written */
|
/* Define our callback to get called when there's data to be written */
|
||||||
|
@ -25,8 +25,9 @@ using namespace Shared::PlatformCommon;
|
|||||||
|
|
||||||
namespace Shared { namespace PlatformCommon {
|
namespace Shared { namespace PlatformCommon {
|
||||||
|
|
||||||
FTPServerThread::FTPServerThread(std::pair<string,string> mapsPath) : BaseThread() {
|
FTPServerThread::FTPServerThread(std::pair<string,string> mapsPath,int portNumber) : BaseThread() {
|
||||||
this->mapsPath = mapsPath;
|
this->mapsPath = mapsPath;
|
||||||
|
this->portNumber = portNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FTPServerThread::signalQuit() {
|
void FTPServerThread::signalQuit() {
|
||||||
@ -73,7 +74,7 @@ void FTPServerThread::execute() {
|
|||||||
ftpCreateAccount("lister", "", "./", FTP_ACC_LS);
|
ftpCreateAccount("lister", "", "./", FTP_ACC_LS);
|
||||||
ftpCreateAccount("admin", "xxx", "./", FTP_ACC_RD | FTP_ACC_WR | FTP_ACC_LS | FTP_ACC_DIR);
|
ftpCreateAccount("admin", "xxx", "./", FTP_ACC_RD | FTP_ACC_WR | FTP_ACC_LS | FTP_ACC_DIR);
|
||||||
*/
|
*/
|
||||||
ftpStart();
|
ftpStart(portNumber);
|
||||||
while(this->getQuitStatus() == false) {
|
while(this->getQuitStatus() == false) {
|
||||||
ftpExecute();
|
ftpExecute();
|
||||||
sleep(25);
|
sleep(25);
|
||||||
|
@ -62,7 +62,8 @@ using namespace Shared::Util;
|
|||||||
|
|
||||||
namespace Shared{ namespace Platform{
|
namespace Shared{ namespace Platform{
|
||||||
|
|
||||||
int Socket::broadcast_portno = 61357;
|
int Socket::broadcast_portno = 61357;
|
||||||
|
int ServerSocket::ftpServerPort = 61358;
|
||||||
BroadCastClientSocketThread *ClientSocket::broadCastClientThread = NULL;
|
BroadCastClientSocketThread *ClientSocket::broadCastClientThread = NULL;
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -1656,6 +1657,7 @@ ServerSocket::~ServerSocket() {
|
|||||||
|
|
||||||
stopBroadCastThread();
|
stopBroadCastThread();
|
||||||
NETremRedirects(ServerSocket::externalPort);
|
NETremRedirects(ServerSocket::externalPort);
|
||||||
|
NETremRedirects(ServerSocket::ftpServerPort);
|
||||||
|
|
||||||
SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
}
|
}
|
||||||
@ -1835,7 +1837,7 @@ int ServerSocket::upnp_init(void *param) {
|
|||||||
//int *externalPort = (int *)asdf;
|
//int *externalPort = (int *)asdf;
|
||||||
ServerSocket *srv = (ServerSocket *)param;
|
ServerSocket *srv = (ServerSocket *)param;
|
||||||
|
|
||||||
int ports[2] = { externalPort, srv->getBindPort() };
|
int ports[4] = { externalPort, srv->getBindPort(), ftpServerPort, ftpServerPort };
|
||||||
|
|
||||||
memset(&urls, 0, sizeof(struct UPNPUrls));
|
memset(&urls, 0, sizeof(struct UPNPUrls));
|
||||||
memset(&data, 0, sizeof(struct IGDdatas));
|
memset(&data, 0, sizeof(struct IGDdatas));
|
||||||
@ -1900,13 +1902,13 @@ int ServerSocket::upnp_init(void *param) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ServerSocket::upnp_add_redirect(int ports[2]) {
|
bool ServerSocket::upnp_add_redirect(int ports[4]) {
|
||||||
char externalIP[16]="";
|
char externalIP[16]="";
|
||||||
char ext_port_str[16]="";
|
char ext_port_str[16]="";
|
||||||
char int_port_str[16]="";
|
char int_port_str[16]="";
|
||||||
int r=0;
|
int r=0;
|
||||||
|
|
||||||
SystemFlags::OutputDebug(SystemFlags::debugNetwork,"upnp_add_redir(%d : %d)\n", ports[0],ports[1]);
|
SystemFlags::OutputDebug(SystemFlags::debugNetwork,"upnp_add_redir(%d : %d) (%d : %d)\n", ports[0],ports[1],ports[2],ports[3]);
|
||||||
|
|
||||||
UPNP_GetExternalIPAddress(urls.controlURL, data.servicetype, externalIP);
|
UPNP_GetExternalIPAddress(urls.controlURL, data.servicetype, externalIP);
|
||||||
|
|
||||||
@ -1920,6 +1922,18 @@ bool ServerSocket::upnp_add_redirect(int ports[2]) {
|
|||||||
SystemFlags::OutputDebug(SystemFlags::debugNetwork,"AddPortMapping(%s, %s, %s) failed\n", ext_port_str, int_port_str, lanaddr);
|
SystemFlags::OutputDebug(SystemFlags::debugNetwork,"AddPortMapping(%s, %s, %s) failed\n", ext_port_str, int_port_str, lanaddr);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sprintf(ext_port_str, "%d", ports[2]);
|
||||||
|
sprintf(int_port_str, "%d", ports[3]);
|
||||||
|
|
||||||
|
r = UPNP_AddPortMapping(urls.controlURL, data.servicetype,
|
||||||
|
ext_port_str, int_port_str, lanaddr, "MegaGlest (FTP) - www.megaglest.org", "TCP", 0);
|
||||||
|
|
||||||
|
if (r != UPNPCOMMAND_SUCCESS) {
|
||||||
|
SystemFlags::OutputDebug(SystemFlags::debugNetwork,"AddPortMapping(%s, %s, %s) failed\n", ext_port_str, int_port_str, lanaddr);
|
||||||
|
//return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1931,7 +1945,7 @@ void ServerSocket::upnp_rem_redirect(int ext_port) {
|
|||||||
UPNP_DeletePortMapping(urls.controlURL, data.servicetype, ext_port_str, "TCP", 0);
|
UPNP_DeletePortMapping(urls.controlURL, data.servicetype, ext_port_str, "TCP", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerSocket::NETaddRedirects(int ports[2]) {
|
void ServerSocket::NETaddRedirects(int ports[4]) {
|
||||||
SystemFlags::OutputDebug(SystemFlags::debugNetwork, "%s\n", __FUNCTION__);
|
SystemFlags::OutputDebug(SystemFlags::debugNetwork, "%s\n", __FUNCTION__);
|
||||||
//if (!upnp_done)
|
//if (!upnp_done)
|
||||||
//{
|
//{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user