IPchkExt.h
上传用户:surprise9
上传日期:2007-01-04
资源大小:426k
文件大小:2k
源码类别:

Ftp客户端

开发平台:

Visual C++

  1. // IPchkExt.h
  2. class CIPchkExt;
  3. // List of connections to watch over
  4. class CIPConnList
  5. {
  6. private:
  7. CIPConnList(LPCSTR Name);
  8. public:
  9. ~CIPConnList();
  10. static BOOL VerifyConnection(CSock *pSock, CIPConnList **ppConn);
  11. static CIPConnList *Find(LPCSTR Name);
  12. static CIPConnList *Find(CSock *pSock, CString& Name);
  13. static void KillAll(CIPchkExt *pExt);
  14. BOOL IsBanned(USER User, CSock *pSock);
  15. CString m_Name; // IP name as 127.0.0.1
  16. int m_BadPwdCnt; // Bad password count
  17. CWarTimer m_Expiry; // Time to forget this node
  18. DWORD m_ExpiryVal;
  19. CWarTimer m_Suspend; // Suspended until...
  20. DWORD m_SuspendVal;
  21. BOOL m_IsHacker; // Marked as hacker!
  22. };
  23. class CIPchkSock : public CSocketAPI
  24. {
  25. public:
  26. int OnConnect(int Event, WPARAM wParam, LPARAM lParam);
  27. int OnVerifyIPAddress(int Event, WPARAM wParam, LPARAM lParam);
  28. int OnBadPassword(int Event, WPARAM wParam, LPARAM lParam);
  29. int OnHasLoggedOn(int Event, WPARAM wParam, LPARAM lParam);
  30. int OnVerifyLogin(int Event, WPARAM wParam, LPARAM lParam);
  31. int m_SessionBadPwdCnt; // Bad password count this session
  32. };
  33. class CIPchkExt : public CDaemonAPI
  34. {
  35. public:
  36. CIPchkExt();
  37. ~CIPchkExt();
  38. void LogMsg(int flag, LPCSTR Format, ...);
  39. virtual void InitializeCOptions(); // Required function
  40. int OnVerifyIPAddress(int Event = 0, WPARAM wParam = 0, LPARAM lParam = 0);
  41. // COptions variables
  42. int m_ConnectionDelay; // Delay in minutes before a user can connect again
  43. int m_MaxPasswdRetries; // Max passord retries before kick
  44. int m_PasswdRetryDelay; // Delay in minutes before new connection after n bad passwords
  45. int m_MaxPasswdHacks; // Max bad passwords before we consider thsi a hacking attempt
  46. int m_HackDely; // Delay (in hours) before a IP is opened after a hack attempt
  47. CLinkedList m_History; // CIPConnList
  48. };
  49. BOOL IPVerifyRule(LPCSTR Rule,int **IPmask);
  50. BOOL IPGenericIsIpInList(LPCSTR IPaddess,CString &cList);
  51. void TranslateList(CString &Val);