- bugfixes for ftp server to work on windows, silly M$ compiler has issues with mixing C / C++ code so I had to make these changes
This commit is contained in:
parent
9b3e921888
commit
1f29685803
|
@ -251,38 +251,110 @@
|
|||
<File
|
||||
RelativePath="..\..\source\shared_lib\sources\feathery_ftp\ftpAccount.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\sources\feathery_ftp\ftpCmds.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\sources\feathery_ftp\ftpLib.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\sources\feathery_ftp\ftpMessages.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\sources\feathery_ftp\ftpRuntime.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\sources\feathery_ftp\ftpServer.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\sources\feathery_ftp\ftpSession.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\sources\feathery_ftp\ftpTargetPosix.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\sources\feathery_ftp\ftpTargetWin32.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\sources\platform\sdl\gl_wrap.cpp"
|
||||
|
@ -634,6 +706,26 @@
|
|||
RelativePath="..\..\source\shared_lib\include\streflop\FPUSettings.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\include\feathery_ftp\ftp.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\include\feathery_ftp\ftpConfig.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\include\feathery_ftp\ftpIfc.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\include\feathery_ftp\ftpMessages.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\include\feathery_ftp\ftpTypes.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\include\streflop\IntegerTypes.h"
|
||||
>
|
||||
|
@ -921,10 +1013,22 @@
|
|||
RelativePath="..\..\source\shared_lib\sources\platform\posix\ircclient.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\include\platform\posix\ircclient.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\include\platform\common\math_wrapper.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\include\platform\posix\miniftpclient.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\include\platform\posix\miniftpserver.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\include\platform\miniupnpc\miniupnpcstrings.h"
|
||||
>
|
||||
|
@ -957,10 +1061,6 @@
|
|||
RelativePath="..\..\source\shared_lib\include\platform\sdl\thread.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\sources\platform\miniupnpc\updateminiupnpcstrings.sh"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\source\shared_lib\include\platform\sdl\window.h"
|
||||
>
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
void ftpInit(ftpFindExternalFTPServerIpType cb1, ftpAddUPNPPortForwardType cb2, ftpRemoveUPNPPortForwardType cb3);
|
||||
int ftpCreateAccount(const char* name, const char* passw, const char* root, int accRights);
|
||||
int ftpStart(int portNumber);
|
||||
int ftpShutdown(void);
|
||||
|
|
|
@ -60,9 +60,22 @@ typedef uint16_t port_t;
|
|||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
ip_t (*ftpFindExternalFTPServerIp)(ip_t clientIp);
|
||||
void (*ftpAddUPNPPortForward)(int internalPort, int externalPort);
|
||||
void (*ftpRemoveUPNPPortForward)(int internalPort, int externalPort);
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int VERBOSE_MODE_ENABLED;
|
||||
|
||||
typedef ip_t (*ftpFindExternalFTPServerIpType)(ip_t clientIp);
|
||||
typedef void (*ftpAddUPNPPortForwardType)(int internalPort, int externalPort);
|
||||
typedef void (*ftpRemoveUPNPPortForwardType)(int internalPort, int externalPort);
|
||||
|
||||
ftpFindExternalFTPServerIpType ftpFindExternalFTPServerIp;
|
||||
ftpAddUPNPPortForwardType ftpAddUPNPPortForward;
|
||||
ftpRemoveUPNPPortForwardType ftpRemoveUPNPPortForward;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -26,7 +26,6 @@ namespace Shared { namespace PlatformCommon {
|
|||
// =====================================================
|
||||
// class FTPServerThread
|
||||
// =====================================================
|
||||
uint32 FindExternalFTPServerIp(uint32 clientIp);
|
||||
|
||||
class FTPServerThread : public BaseThread
|
||||
{
|
||||
|
|
|
@ -36,6 +36,11 @@
|
|||
*/
|
||||
LOCAL socket_t server;
|
||||
|
||||
void ftpInit(ftpFindExternalFTPServerIpType cb1, ftpAddUPNPPortForwardType cb2, ftpRemoveUPNPPortForwardType cb3) {
|
||||
ftpFindExternalFTPServerIp = cb1;
|
||||
ftpAddUPNPPortForward = cb2;
|
||||
ftpRemoveUPNPPortForward = cb3;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Initializes and starts the server
|
||||
|
@ -48,7 +53,6 @@ int ftpStart(int portNumber)
|
|||
{
|
||||
server = -1; // set server socket to invalid value
|
||||
|
||||
|
||||
if(VERBOSE_MODE_ENABLED) printf("Feathery FTP-Server\n");
|
||||
|
||||
ftpArchInit();
|
||||
|
|
|
@ -28,8 +28,8 @@ namespace Shared { namespace PlatformCommon {
|
|||
|
||||
static std::map<uint32,uint32> clientToFTPServerList;
|
||||
|
||||
uint32 FindExternalFTPServerIp(uint32 clientIp) {
|
||||
uint32 result = clientToFTPServerList[clientIp];
|
||||
ip_t FindExternalFTPServerIp(ip_t clientIp) {
|
||||
ip_t result = clientToFTPServerList[clientIp];
|
||||
|
||||
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("===> FTP Server thread clientIp = %u, result = %u\n",clientIp,result);
|
||||
|
||||
|
@ -40,9 +40,7 @@ FTPServerThread::FTPServerThread(std::pair<string,string> mapsPath,int portNumbe
|
|||
this->mapsPath = mapsPath;
|
||||
this->portNumber = portNumber;
|
||||
|
||||
ftpAddUPNPPortForward = &UPNP_Tools::AddUPNPPortForward;
|
||||
ftpRemoveUPNPPortForward = &UPNP_Tools::RemoveUPNPPortForward;
|
||||
ftpFindExternalFTPServerIp = &FindExternalFTPServerIp;
|
||||
ftpInit(&FindExternalFTPServerIp,&UPNP_Tools::AddUPNPPortForward,&UPNP_Tools::RemoveUPNPPortForward);
|
||||
VERBOSE_MODE_ENABLED = SystemFlags::VERBOSE_MODE_ENABLED;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue