CheckAcl.h
上传用户:kklily621
上传日期:2013-06-25
资源大小:252k
文件大小:2k
开发平台:

Visual C++

  1. //=============================================================================================
  2. /*
  3. CheckAcl.h
  4. Project : XFILTER 1.0 Personal Firewall
  5. Author : Tony Zhu
  6. Create Date : 2001/08/21
  7. Email : xstudio@xfilt.com
  8. URL : http://www.xfilt.com
  9. Copyright (c) 2001-2002 XStudio Technology.
  10. All Rights Reserved.
  11. WARNNING: 
  12. */
  13. //=============================================================================================
  14. class CCheckAcl
  15. {
  16. public:
  17. CCheckAcl();
  18. virtual ~CCheckAcl();
  19. private:
  20. static BOOL IsLocalIP (DWORD *ip);
  21. int PreGetAccessInfo(SOCKET s);
  22. int GetAccessInfo (SESSION *session);
  23. int GetAccessFromWorkMode();
  24. int GetAccessFromAcl(SESSION *mSession);
  25. DWORD FindAcl (CString sApplication, DWORD iStart);
  26. int FindTime (CTime time);
  27. int FindIP (DWORD IP);
  28. int FinallySession ();
  29. BOOL InitializeSession(SESSION* session);
  30. int CreateSession (SOCKET s, int nProtocol);
  31. int DeleteSession (SOCKET s);
  32. int FindSession (SOCKET s);
  33. int SetSession (SESSION *session, BYTE bDirection, UINT uiPort, DWORD ulRemoteIP);
  34. int SetSessionEx (SESSION *session, BYTE bDirection, const TCHAR *pMemo, int ByteCount, BOOL isSend);
  35. public:
  36. BOOL SetWindowsVersion();
  37. int CheckStartup ();
  38. void CheckSocket (SOCKET s, int af, int type, int protocol);
  39. void CheckCloseSocket(SOCKET s);
  40. int CheckConnect (SOCKET s, const struct sockaddr FAR *name, int namelen);
  41. int CheckAccept (SOCKET s, SOCKET news);
  42. int CheckSend (SOCKET s, TCHAR *buf, int len, LPDWORD lpNumberOfBytesSent);
  43. int CheckSendTo (SOCKET s, const SOCKADDR *pTo, TCHAR *buf, int len, LPDWORD lpNumberOfBytesSent);
  44. int CheckRecv (SOCKET s, TCHAR *buf, int len, LPDWORD lpNumberOfBytesRecvd);
  45. int CheckRecvFrom (SOCKET s, SOCKADDR *pFrom, TCHAR *buf, int len, LPDWORD lpNumberOfBytesRecvd);
  46. public:
  47. static int SetWorkMode (int iWorkMode);
  48. static int SetAcl (XACL_FILE AclFile);
  49. static BOOL SetAclToChangedMode (BOOL IsChange);
  50. static int SendSessionToApp (SESSION *session);
  51. public:
  52. static int m_iWorkMode;
  53. static BOOL m_bAclIsChange;
  54. static XACL_FILE m_AclFile;
  55. static HWND m_GuiHwnd;
  56. static SESSION m_SessionBuf[MAX_SESSION_BUFFER];
  57. static TCHAR m_sGuiPathName[MAX_PATH];
  58. static BOOL m_bIsWin9x;
  59. static TCHAR m_sSystemPath[MAX_PATH];
  60. static TCHAR m_sWin9xSys1[MAX_PATH];
  61. static TCHAR m_sWin2kSys1[MAX_PATH];
  62. public:
  63. SESSION *m_Session;
  64. int m_SessionCount;
  65. };