FtpdPi.h
上传用户:shengde
上传日期:2007-02-26
资源大小:117k
文件大小:3k
源码类别:

Ftp服务器

开发平台:

Visual C++

  1. #if !defined(AFX_FTPDBINDSOCK_H__4DAE8982_ED5A_11D3_AAE1_0080C87BF896__INCLUDED_)
  2. #define AFX_FTPDBINDSOCK_H__4DAE8982_ED5A_11D3_AAE1_0080C87BF896__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. #include <afxmt.h>
  7. #include "FtpdPasvSrv.h"
  8. class CFtpdPi : public CSocket// CBlockingSocket
  9. {
  10. // Attributes
  11. public:
  12. // Operations
  13. public:
  14. CFtpdPi();
  15. virtual ~CFtpdPi();
  16. void ListEngine(char *vpath, bool longList);
  17. public:
  18. char ipfile[256];
  19. char userfile[256];
  20. char AppDir[256];
  21. CBlockingSocket* dbsocket;
  22. void LoadIpRange();
  23. void addClientIp(char* ip);
  24. void SafeSend(char* str);
  25. void SetInStreamSpeed(int kbs);
  26. void SetOutStreamSpeed(int kbs);
  27. void ProcessMsg(char* cmd);
  28. void slashFixUnix(char* path);
  29. void slashFix(char* path);
  30. bool matchpass(char* buf,char* uname);
  31. bool isAllowedIp(char* ip);
  32. bool validuser(char* buf);
  33. bool vRmdir(char* path);
  34. bool vMkdir(char* dir);
  35. bool vRemove(char* file);
  36. bool isVpathPresent(char* vpath);
  37. bool isFilePresent(char* path);
  38. bool vMoveFile(LPCTSTR lpExistingFileName,LPCTSTR lpNewFileName);
  39. char* replaceDotInVpath(char* vPath);
  40. char* fixVpath(char* vPath);
  41. char* RemoveLeadingSpace(char *str);
  42. HANDLE h_dbsocket_ready_to_send;
  43. HANDLE h_inprogress;
  44. UINT m_port_from_preset;
  45. UINT m_maxlogin;
  46. UINT m_ratio;
  47. UINT m_port_to;
  48. UINT m_port_from;
  49. UINT data_port;
  50. int clientIpCount;
  51. int m_buf_length_in;
  52. int m_buf_length_out;
  53. bool m_no_ipchk;
  54. bool b_ipchk_pasv;
  55. bool b_switch_pasv_ip;
  56. bool b_auto_choose_ip;
  57. bool m_specify_data_port;
  58. bool b_use_bsock;
  59. bool b_speed_limit_out;
  60. bool b_speed_limit_in;
  61. bool b_hashmark;
  62. bool b_debugging;
  63. bool b_globbing;
  64. bool b_prompt;
  65. bool b_bell;
  66. bool b_verbose;
  67. bool decided;
  68. bool bconnected;
  69. bool bPASS;
  70. bool bUSER;
  71. bool bLOGINOK;
  72. bool b_passive;
  73. char curCmdth[256];
  74. char bufcmd_history[256];
  75. char m_group[32];
  76. char data_ip[32];
  77. char sadr[32];
  78. char vCurrentDir[512];
  79. char str[512];
  80. char bufcmd[256];
  81. char client_ip[32];
  82. char vRealRoot[256];
  83. char new_filename[256];
  84. char old_filename[256];
  85. char vCurrentDirParent[256];
  86. char monthStr[13][5];
  87. char clientIp[32][32];
  88. unsigned long restart_marker;
  89. unsigned char* lpDataBuf_in;
  90. unsigned char* lpDataBuf_out;
  91. short type;
  92. int result;
  93. int ipRoller;
  94. int kbs;
  95. int iCLASS;
  96. LPVOID pFtpd;
  97. SYSTEMTIME MyTime;
  98. DWORD dwNumIf;
  99. SOCKADDR_IN lpsockftpd;
  100. POSITION pos;
  101. // SECFileSystem fs;
  102. // CStringList clienIpList;
  103. // CString Citem;
  104. // CString CSIP;
  105. CStringList ipList;
  106. char m_password[32];
  107. char m_username[32];
  108. CFtpPasvSrv* svSocketSrv;
  109. // ClassWizard generated virtual function overrides
  110. //{{AFX_VIRTUAL(CFtpdPi)
  111. public:
  112. virtual void OnReceive(int nErrorCode);
  113. virtual void OnClose(int nErrorCode);
  114. //}}AFX_VIRTUAL
  115. // Generated message map functions
  116. //{{AFX_MSG(CFtpdPi)
  117. // NOTE - the ClassWizard will add and remove member functions here.
  118. //}}AFX_MSG
  119. // Implementation
  120. protected:
  121. CCriticalSection recvCrit;
  122. bool goParent(char* path);
  123. private:
  124. int sl;
  125. };
  126. /////////////////////////////////////////////////////////////////////////////
  127. //{{AFX_INSERT_LOCATION}}
  128. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  129. #endif // !defined(AFX_FTPDBINDSOCK_H__4DAE8982_ED5A_11D3_AAE1_0080C87BF896__INCLUDED_)