Page6.cpp
上传用户:heseme
上传日期:2009-12-23
资源大小:228k
文件大小:23k
开发平台:

Visual C++

  1. // Page6.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "FireWall1.h"
  5. #include "Page6.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. FILE *pfoutLogset=NULL;
  12. FILE *pwriteLogset=NULL;
  13. LogManage MyLogManage;
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CPage6 property page
  16. IMPLEMENT_DYNCREATE(CPage6, CPropertyPage)
  17. CPage6::CPage6() : CPropertyPage(CPage6::IDD)
  18. {
  19. //{{AFX_DATA_INIT(CPage6)
  20. m_check_incommingdos = FALSE;
  21. m_check_incommingport = FALSE;
  22. m_check_incommingip = FALSE;
  23. m_check_incommingtype = FALSE;
  24. m_check_islog = 1;
  25. m_check_logip = FALSE;
  26. m_check_logipport = FALSE;
  27. m_check_logkind = FALSE;
  28. m_check_logtime = FALSE;
  29. m_check_logurl = FALSE;
  30. m_check_outgoingdos = FALSE;
  31. m_check_outgoingip = FALSE;
  32. m_check_outgoingport = FALSE;
  33. m_check_outgoingtype = FALSE;
  34. m_check_prolog = FALSE;
  35. m_check_inbroad = FALSE;
  36. m_check_inlength = FALSE;
  37. m_check_inmore = FALSE;
  38. m_check_inoffset = FALSE;
  39. m_check_outbroad = FALSE;
  40. m_check_outlength = FALSE;
  41. m_check_outmore = FALSE;
  42. m_check_outoffset = FALSE;
  43. m_check_route = FALSE;
  44. //}}AFX_DATA_INIT
  45. }
  46. CPage6::~CPage6()
  47. {
  48. }
  49. void CPage6::DoDataExchange(CDataExchange* pDX)
  50. {
  51. CPropertyPage::DoDataExchange(pDX);
  52. //{{AFX_DATA_MAP(CPage6)
  53. DDX_Check(pDX, IDC_CHECK_incommingDOS, m_check_incommingdos);
  54. DDX_Check(pDX, IDC_CHECK_incommingPort, m_check_incommingport);
  55. DDX_Check(pDX, IDC_CHECK_incommingIP, m_check_incommingip);
  56. DDX_Check(pDX, IDC_CHECK_incommingType, m_check_incommingtype);
  57. DDX_Check(pDX, IDC_CHECK_ISLOG, m_check_islog);
  58. DDX_Check(pDX, IDC_CHECK_LOGIP, m_check_logip);
  59. DDX_Check(pDX, IDC_CHECK_LOGIPPORT, m_check_logipport);
  60. DDX_Check(pDX, IDC_CHECK_LOGKIND, m_check_logkind);
  61. DDX_Check(pDX, IDC_CHECK_LOGTIME, m_check_logtime);
  62. DDX_Check(pDX, IDC_CHECK_LOGURL, m_check_logurl);
  63. DDX_Check(pDX, IDC_CHECK_outgoingDOS, m_check_outgoingdos);
  64. DDX_Check(pDX, IDC_CHECK_outgoingIP, m_check_outgoingip);
  65. DDX_Check(pDX, IDC_CHECK_outgoingPort, m_check_outgoingport);
  66. DDX_Check(pDX, IDC_CHECK_outgoingType, m_check_outgoingtype);
  67. DDX_Check(pDX, IDC_CHECK_PROLOG, m_check_prolog);
  68. DDX_Check(pDX, IDC_CHECK_InBroad, m_check_inbroad);
  69. DDX_Check(pDX, IDC_CHECK_InLength, m_check_inlength);
  70. DDX_Check(pDX, IDC_CHECK_InMore, m_check_inmore);
  71. DDX_Check(pDX, IDC_CHECK_InOffset, m_check_inoffset);
  72. DDX_Check(pDX, IDC_CHECK_OutBroad, m_check_outbroad);
  73. DDX_Check(pDX, IDC_CHECK_OutLength, m_check_outlength);
  74. DDX_Check(pDX, IDC_CHECK_OutMore, m_check_outmore);
  75. DDX_Check(pDX, IDC_CHECK_OutOffset, m_check_outoffset);
  76. DDX_Check(pDX, IDC_CHECK_SORCE_ROUTE, m_check_route);
  77. //}}AFX_DATA_MAP
  78. }
  79. BEGIN_MESSAGE_MAP(CPage6, CPropertyPage)
  80. //{{AFX_MSG_MAP(CPage6)
  81. ON_BN_CLICKED(IDC_BUTTON_OK, OnButtonOk)
  82. ON_BN_CLICKED(IDC_CHECK_incommingDOS, OnCHECKincommingDOS)
  83. ON_BN_CLICKED(IDC_CHECK_incommingIP, OnCHECKincommingIP)
  84. ON_BN_CLICKED(IDC_CHECK_incommingPort, OnCHECKincommingPort)
  85. ON_BN_CLICKED(IDC_CHECK_incommingType, OnCHECKincommingType)
  86. ON_BN_CLICKED(IDC_CHECK_ISLOG, OnCheckIslog)
  87. ON_BN_CLICKED(IDC_CHECK_LOGIP, OnCheckLogip)
  88. ON_BN_CLICKED(IDC_CHECK_LOGIPPORT, OnCheckLogipport)
  89. ON_BN_CLICKED(IDC_CHECK_LOGKIND, OnCheckLogkind)
  90. ON_BN_CLICKED(IDC_CHECK_LOGTIME, OnCheckLogtime)
  91. ON_BN_CLICKED(IDC_CHECK_LOGURL, OnCheckLogurl)
  92. ON_BN_CLICKED(IDC_CHECK_outgoingDOS, OnCHECKoutgoingDOS)
  93. ON_BN_CLICKED(IDC_CHECK_outgoingIP, OnCHECKoutgoingIP)
  94. ON_BN_CLICKED(IDC_CHECK_outgoingPort, OnCHECKoutgoingPort)
  95. ON_BN_CLICKED(IDC_CHECK_outgoingType, OnCHECKoutgoingType)
  96. ON_BN_CLICKED(IDC_CHECK_PROLOG, OnCheckProlog)
  97. ON_WM_KEYDOWN()
  98. ON_BN_CLICKED(IDC_CHECK_InBroad, OnCHECKInBroad)
  99. ON_BN_CLICKED(IDC_CHECK_OutBroad, OnCHECKOutBroad)
  100. ON_BN_CLICKED(IDC_CHECK_InLength, OnCHECKInLength)
  101. ON_BN_CLICKED(IDC_CHECK_OutLength, OnCHECKOutLength)
  102. ON_BN_CLICKED(IDC_CHECK_InOffset, OnCHECKInOffset)
  103. ON_BN_CLICKED(IDC_CHECK_OutOffset, OnCHECKOutOffset)
  104. ON_BN_CLICKED(IDC_CHECK_InMore, OnCHECKInMore)
  105. ON_BN_CLICKED(IDC_CHECK_OutMore, OnCHECKOutMore)
  106. ON_BN_CLICKED(IDC_CHECK_SORCE_ROUTE, OnCheckSorceRoute)
  107. //}}AFX_MSG_MAP
  108. END_MESSAGE_MAP()
  109. /////////////////////////////////////////////////////////////////////////////
  110. // CPage6 message handlers
  111. DWORD CPage6::GetDataFromFile()
  112. {
  113. char command[40];
  114. char *pbuf;
  115. pfoutLogset=fopen("logset.txt","r");
  116. if(pfoutLogset==NULL)return 0;
  117. while(feof(pfoutLogset)==0)
  118. {
  119. ReadCommand(pfoutLogset,command);
  120. switch(GetCommand(command))
  121. {
  122. case REQUIRELOG:
  123. ReadCommand(pfoutLogset,command);
  124. sscanf(command,"%d",&MyLogManage.RequireLog);
  125. if(MyLogManage.RequireLog&0x01)
  126. m_check_islog=TRUE;
  127. else m_check_islog=FALSE;
  128. break;
  129. case ISLOGIP:
  130. ReadCommand(pfoutLogset,command);
  131. sscanf(command,"%d",&MyLogManage.TheIpFilter.isLogIp);
  132. if(MyLogManage.TheIpFilter.isLogIp&0x01)
  133. m_check_logip=TRUE;
  134. else m_check_logip=FALSE;
  135. break;
  136. case IPOPTIONS:
  137. ReadCommand(pfoutLogset,command);
  138. sscanf(command,"%d",&MyLogManage.TheIpFilter.Options);
  139. if(MyLogManage.TheIpFilter.Options&0x01)
  140. m_check_inbroad=1;
  141. else m_check_inbroad=0;
  142. if(MyLogManage.TheIpFilter.Options&0x02)
  143. m_check_outbroad=TRUE;
  144. else m_check_outbroad=FALSE;
  145. if(MyLogManage.TheIpFilter.Options&0x04)
  146. m_check_incommingport=1;
  147. else m_check_incommingport=0;
  148. if(MyLogManage.TheIpFilter.Options&0x08)
  149. m_check_outgoingport=TRUE;
  150. else m_check_outgoingport=FALSE;
  151. if(MyLogManage.TheIpFilter.Options&0x10)
  152. m_check_inlength=1;
  153. else m_check_inlength=0;
  154. if(MyLogManage.TheIpFilter.Options&0x20)
  155. m_check_outlength=1;
  156. else m_check_outlength=0;
  157. if(MyLogManage.TheIpFilter.Options&0x40)
  158. m_check_incommingtype=TRUE;
  159. else m_check_incommingtype=FALSE;
  160. if(MyLogManage.TheIpFilter.Options&0x80)
  161. m_check_outgoingtype=TRUE;
  162. else m_check_outgoingtype=FALSE;
  163. if(MyLogManage.TheIpFilter.Options&0x100)
  164. m_check_incommingip=TRUE;
  165. else m_check_incommingip=FALSE;
  166. if(MyLogManage.TheIpFilter.Options&0x200)
  167. m_check_outgoingip=TRUE;
  168. else m_check_outgoingip=FALSE;
  169. if(MyLogManage.TheIpFilter.Options&0x1000)
  170. m_check_inoffset=TRUE;
  171. else m_check_inoffset=FALSE;
  172. if(MyLogManage.TheIpFilter.Options&0x2000)
  173. m_check_outoffset=TRUE;
  174. else m_check_outoffset=FALSE;
  175. if(MyLogManage.TheIpFilter.Options&0x4000)
  176. m_check_inmore=TRUE;
  177. else m_check_inmore=FALSE;
  178. if(MyLogManage.TheIpFilter.Options&0x8000)
  179. m_check_outmore=TRUE;
  180. else m_check_outmore=FALSE;
  181. if(MyLogManage.TheIpFilter.Options&0x10000)
  182. m_check_incommingdos=TRUE;
  183. else m_check_incommingdos=FALSE;
  184. if(MyLogManage.TheIpFilter.Options&0x20000)
  185. m_check_outgoingdos=TRUE;
  186. else m_check_outgoingdos=FALSE;
  187. if(MyLogManage.TheIpFilter.Options&0x40000)
  188. m_check_route=TRUE;
  189. else m_check_route=FALSE;
  190. break;
  191. case ISLOGPROTOCAL:
  192. ReadCommand(pfoutLogset,command);
  193. sscanf(command,"%d",&MyLogManage.TheProCommentsLog.isLogProtocal);
  194. m_check_prolog=MyLogManage.TheProCommentsLog.isLogProtocal;
  195. break;
  196. case PROOPTIONS:
  197. ReadCommand(pfoutLogset,command);
  198. sscanf(command,"%d",&MyLogManage.TheProCommentsLog.Options);
  199. if(MyLogManage.TheProCommentsLog.Options&0x01)
  200. m_check_logipport=TRUE;
  201. else m_check_logipport=FALSE;
  202. if(MyLogManage.TheProCommentsLog.Options&0x02)
  203. m_check_logkind=TRUE;
  204. else m_check_logkind=FALSE;
  205. if(MyLogManage.TheProCommentsLog.Options&0x04)
  206. m_check_logurl=TRUE;
  207. else m_check_logurl=FALSE;
  208. if(MyLogManage.TheProCommentsLog.Options&0x08)
  209. m_check_logtime=TRUE;
  210. else m_check_logtime=FALSE;
  211. break;
  212. }
  213. }
  214. if(pfoutLogset)fclose(pfoutLogset);
  215. return 1;
  216. }
  217. void CPage6::ReadCommand(FILE *pf, char *pbuf)
  218. {
  219. while(feof(pf)==0) {
  220. *pbuf=fgetc(pf);
  221. if(*pbuf=='n') break;
  222. pbuf++;
  223. }
  224. *pbuf--=0;
  225. if(*pbuf=='r')*pbuf=0;
  226. }
  227. DWORD CPage6::GetCommand(char *pbuf)
  228. {
  229. char buf[50];
  230. if(*pbuf==0) return INITIAL_END_SEGMENT;
  231. sscanf(pbuf,"%s",buf);
  232. if(strstr(buf,"[RequireLog]")!=NULL) return REQUIRELOG;
  233. else if(strstr(buf,"[isLogIp]")!=NULL) return ISLOGIP;
  234. else if(strstr(buf,"[ipOptions]")!=NULL)return IPOPTIONS;
  235. else if(strstr(buf,"[isLogProtocal]")!=NULL)return ISLOGPROTOCAL;
  236. else if(strstr(buf,"[proOptions]")!=NULL)return PROOPTIONS;
  237. else if(strstr(buf,"[jl]")!=NULL) return INITIAL_END_SEGMENT;
  238. else return COMMAND_UNKNOWN;
  239. }
  240. void CPage6::OnButtonOk() 
  241. {
  242. pwriteLogset=fopen("logset.txt","w");
  243. if(pwriteLogset)
  244. {
  245. fprintf(pwriteLogset,_T("[RequireLog]n"));
  246. fprintf(pwriteLogset,"%dn",MyLogManage.RequireLog);
  247. fprintf(pwriteLogset,"n");
  248. fprintf(pwriteLogset,_T("[isLogIp]n"));
  249. fprintf(pwriteLogset,"%dn",MyLogManage.TheIpFilter.isLogIp);
  250. fprintf(pwriteLogset,"n");
  251. fprintf(pwriteLogset,_T("[ipOptions]n"));
  252. fprintf(pwriteLogset,"%dn",MyLogManage.TheIpFilter.Options);
  253. fprintf(pwriteLogset,"n");
  254. fprintf(pwriteLogset,_T("[isLogProtocal]n"));
  255. fprintf(pwriteLogset,"%dn",MyLogManage.TheProCommentsLog.isLogProtocal);
  256. fprintf(pwriteLogset,"n");
  257. fprintf(pwriteLogset,_T("[proOptions]n"));
  258. fprintf(pwriteLogset,"%dn",MyLogManage.TheProCommentsLog.Options);
  259. fprintf(pwriteLogset,"n");
  260. fprintf(pwriteLogset,_T("[jl]n"));
  261. if(pwriteLogset!=NULL)
  262. fclose(pwriteLogset);
  263. }
  264. }
  265. void CPage6::ShowInitWindow()
  266. {
  267. if(pfoutLogset)
  268. {
  269. if(!m_check_logip)
  270. {
  271. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_InBroad),SW_HIDE);
  272. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_OutBroad),SW_HIDE);
  273. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_InLength),SW_HIDE);
  274. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_OutLength),SW_HIDE);
  275. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_InOffset),SW_HIDE);
  276. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_OutOffset),SW_HIDE);
  277. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_InMore),SW_HIDE);
  278. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_OutMore),SW_HIDE);
  279. ::ShowWindow(::GetDlgItem(*this,IDC_STATIC_IPCHOOSE),SW_HIDE);
  280. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_incommingPort),SW_HIDE);
  281. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_outgoingPort),SW_HIDE);
  282. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_incommingType),SW_HIDE);
  283. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_outgoingType),SW_HIDE);
  284. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_incommingDOS),SW_HIDE);
  285. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_outgoingDOS),SW_HIDE);
  286. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_incommingIP),SW_HIDE);
  287. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_outgoingIP),SW_HIDE);
  288. }
  289. if(!m_check_prolog)
  290. {
  291. ::ShowWindow(::GetDlgItem(*this,IDC_STATIC_PROCHOOSE),SW_HIDE);
  292. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_LOGIPPORT),SW_HIDE);
  293. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_LOGKIND),SW_HIDE);
  294. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_LOGURL),SW_HIDE);
  295. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_LOGTIME),SW_HIDE);
  296. }
  297. }
  298. }
  299. void CPage6::OnCHECKincommingDOS() 
  300. {
  301. if(m_check_incommingdos)
  302. {
  303. m_check_incommingdos=FALSE;
  304. MyLogManage.TheIpFilter.Options&=0xFFFEFFFF;
  305. }
  306. else
  307. {
  308. m_check_incommingdos=TRUE;
  309. MyLogManage.TheIpFilter.Options|=0x10000;
  310. }
  311. }
  312. void CPage6::OnCHECKincommingIP() 
  313. {
  314. if(m_check_incommingip)
  315. {
  316. m_check_incommingip=FALSE;
  317. MyLogManage.TheIpFilter.Options&=0xFFFFFeff;
  318. }
  319. else
  320. {
  321. m_check_incommingip=TRUE;
  322. MyLogManage.TheIpFilter.Options|=0x100;
  323. }
  324. }
  325. void CPage6::OnCHECKincommingPort() 
  326. {
  327. if(m_check_incommingport)
  328. {
  329. m_check_incommingport=FALSE;
  330. MyLogManage.TheIpFilter.Options&=0xFFFFFFFb;
  331. }
  332. else
  333. {
  334. m_check_incommingport=TRUE;
  335. MyLogManage.TheIpFilter.Options|=0x04;
  336. }
  337. }
  338. void CPage6::OnCHECKincommingType() 
  339. {
  340. if(m_check_incommingtype)
  341. {
  342. m_check_incommingtype=FALSE;
  343. MyLogManage.TheIpFilter.Options&=0xFFFFFFBF;
  344. }
  345. else
  346. {
  347. m_check_incommingtype=TRUE;
  348. MyLogManage.TheIpFilter.Options|=0x40;
  349. }
  350. }
  351. void CPage6::OnCheckIslog() 
  352. {
  353. // TODO: Add your control notification handler code here
  354. }
  355. void CPage6::OnCheckLogip() 
  356. {
  357. if(m_check_logip)
  358. {
  359. m_check_logip=FALSE;
  360. ::ShowWindow(::GetDlgItem(*this,IDC_STATIC_IPCHOOSE),SW_HIDE);
  361. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_InBroad),SW_HIDE);
  362. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_OutBroad),SW_HIDE);
  363. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_InLength),SW_HIDE);
  364. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_OutLength),SW_HIDE);
  365. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_InOffset),SW_HIDE);
  366. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_OutOffset),SW_HIDE);
  367. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_InMore),SW_HIDE);
  368. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_OutMore),SW_HIDE);
  369. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_incommingPort),SW_HIDE);
  370. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_outgoingPort),SW_HIDE);
  371. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_incommingType),SW_HIDE);
  372. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_outgoingType),SW_HIDE);
  373. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_incommingDOS),SW_HIDE);
  374. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_outgoingDOS),SW_HIDE);
  375. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_incommingIP),SW_HIDE);
  376. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_outgoingIP),SW_HIDE);
  377. }
  378. else
  379. {
  380. m_check_logip=TRUE;
  381. ::ShowWindow(::GetDlgItem(*this,IDC_STATIC_IPCHOOSE),SW_SHOWNORMAL);
  382. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_InBroad),SW_SHOWNORMAL);
  383. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_OutBroad),SW_SHOWNORMAL);
  384. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_InLength),SW_SHOWNORMAL);
  385. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_OutLength),SW_SHOWNORMAL);
  386. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_InOffset),SW_SHOWNORMAL);
  387. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_OutOffset),SW_SHOWNORMAL);
  388. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_InMore),SW_SHOWNORMAL);
  389. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_OutMore),SW_SHOWNORMAL);
  390. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_incommingPort),SW_SHOWNORMAL);
  391. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_outgoingPort),SW_SHOWNORMAL);
  392. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_incommingType),SW_SHOWNORMAL);
  393. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_outgoingType),SW_SHOWNORMAL);
  394. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_incommingDOS),SW_SHOWNORMAL);
  395. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_outgoingDOS),SW_SHOWNORMAL);
  396. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_incommingIP),SW_SHOWNORMAL);
  397. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_outgoingIP),SW_SHOWNORMAL);
  398. }
  399. MyLogManage.TheIpFilter.isLogIp=m_check_logip;
  400. }
  401. void CPage6::OnCheckLogipport() 
  402. {
  403. if(m_check_logipport)
  404. {
  405. m_check_logipport=FALSE;
  406. MyLogManage.TheProCommentsLog.Options&=0xfffffffe;
  407. }
  408. else
  409. {
  410. m_check_logipport=TRUE;
  411. MyLogManage.TheProCommentsLog.Options|=0x1;
  412. }
  413. }
  414. void CPage6::OnCheckLogkind() 
  415. {
  416. if(m_check_logkind)
  417. {
  418. m_check_logkind=FALSE;
  419. MyLogManage.TheProCommentsLog.Options&=0xfffffffd;
  420. }
  421. else
  422. {
  423. m_check_logkind=TRUE;
  424. MyLogManage.TheProCommentsLog.Options|=0x2;
  425. }
  426. }
  427. void CPage6::OnCheckLogtime() 
  428. {
  429. if(m_check_logtime)
  430. {
  431. m_check_logtime=FALSE;
  432. MyLogManage.TheProCommentsLog.Options&=0xfffffff7;
  433. }
  434. else
  435. {
  436. m_check_logtime=TRUE;
  437. MyLogManage.TheProCommentsLog.Options|=0x8;
  438. }
  439. }
  440. void CPage6::OnCheckLogurl() 
  441. {
  442. if(m_check_logurl)
  443. {
  444. m_check_logurl=FALSE;
  445. MyLogManage.TheProCommentsLog.Options&=0xfffffffb;
  446. }
  447. else
  448. {
  449. m_check_logurl=TRUE;
  450. MyLogManage.TheProCommentsLog.Options|=0x4;
  451. }
  452. }
  453. void CPage6::OnCHECKoutgoingDOS() 
  454. {
  455. // TODO: Add your control notification handler code here
  456. if(m_check_outgoingdos)
  457. {
  458. m_check_outgoingdos=FALSE;
  459. MyLogManage.TheIpFilter.Options&=0xFFFDFFFF;
  460. }
  461. else
  462. {
  463. m_check_outgoingdos=TRUE;
  464. MyLogManage.TheIpFilter.Options|=0x20000;
  465. }
  466. }
  467. void CPage6::OnCHECKoutgoingIP() 
  468. {
  469. if(m_check_outgoingip)
  470. {
  471. m_check_outgoingip=FALSE;
  472. MyLogManage.TheIpFilter.Options&=0xFFFFFdFF;
  473. }
  474. else
  475. {
  476. m_check_outgoingip=TRUE;
  477. MyLogManage.TheIpFilter.Options|=0x200;
  478. }
  479. }
  480. void CPage6::OnCHECKoutgoingPort() 
  481. {
  482. if(m_check_outgoingport)
  483. {
  484. m_check_outgoingport=FALSE;
  485. MyLogManage.TheIpFilter.Options&=0xFFFFFFF7;
  486. }
  487. else
  488. {
  489. m_check_outgoingport=TRUE;
  490. MyLogManage.TheIpFilter.Options|=0x08;
  491. }
  492. }
  493. void CPage6::OnCHECKoutgoingType() 
  494. {
  495. if(m_check_outgoingtype)
  496. {
  497. m_check_outgoingtype=FALSE;
  498. MyLogManage.TheIpFilter.Options&=0xFFFFFF7f;
  499. }
  500. else
  501. {
  502. m_check_outgoingtype=TRUE;
  503. MyLogManage.TheIpFilter.Options|=0x80;
  504. }
  505. }
  506. void CPage6::OnCheckProlog() 
  507. {
  508. if(m_check_prolog)
  509. {
  510. m_check_prolog=FALSE;
  511. ::ShowWindow(::GetDlgItem(*this,IDC_STATIC_PROCHOOSE),SW_HIDE);
  512. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_LOGIPPORT),SW_HIDE);
  513. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_LOGKIND),SW_HIDE);
  514. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_LOGURL),SW_HIDE);
  515. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_LOGTIME),SW_HIDE);
  516. }
  517. else
  518. {
  519. m_check_prolog=TRUE;
  520. ::ShowWindow(::GetDlgItem(*this,IDC_STATIC_PROCHOOSE),SW_SHOWNORMAL);
  521. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_LOGIPPORT),SW_SHOWNORMAL);
  522. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_LOGKIND),SW_SHOWNORMAL);
  523. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_LOGURL),SW_SHOWNORMAL);
  524. ::ShowWindow(::GetDlgItem(*this,IDC_CHECK_LOGTIME),SW_SHOWNORMAL);
  525. }
  526. MyLogManage.TheProCommentsLog.isLogProtocal=m_check_prolog;
  527. }
  528. BOOL CPage6::OnInitDialog() 
  529. {
  530. CPropertyPage::OnInitDialog();
  531. m_check_islog=1;
  532. UpdateData(1);
  533. GetData();
  534. UpdateData(FALSE);
  535. ShowInitWindow();
  536. return TRUE;  // return TRUE unless you set the focus to a control
  537.               // EXCEPTION: OCX Property Pages should return FALSE
  538. }
  539. void CPage6::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
  540. {
  541. // TODO: Add your message handler code here and/or call default
  542. CPropertyPage::OnKeyDown(nChar, nRepCnt, nFlags);
  543. }
  544. void CPage6::OnCHECKInBroad() 
  545. {
  546. // TODO: Add your control notification handler code here
  547. if(m_check_inbroad)
  548. {
  549. m_check_inbroad=FALSE;
  550. MyLogManage.TheIpFilter.Options&=0xFFFFFFFE;
  551. }
  552. else
  553. {
  554. m_check_inbroad=1;
  555. MyLogManage.TheIpFilter.Options|=0x01;
  556. }
  557. }
  558. void CPage6::OnCHECKOutBroad() 
  559. {
  560. // TODO: Add your control notification handler code here
  561. if(m_check_outbroad)
  562. {
  563. m_check_outbroad=FALSE;
  564. MyLogManage.TheIpFilter.Options&=0xFFFFFFFd;
  565. }
  566. else
  567. {
  568. m_check_outbroad=1;
  569. MyLogManage.TheIpFilter.Options|=0x02;
  570. }
  571. }
  572. void CPage6::OnCHECKInLength() 
  573. {
  574. // TODO: Add your control notification handler code here
  575. if(m_check_inlength)
  576. {
  577. m_check_inlength=0;
  578. MyLogManage.TheIpFilter.Options&=0xFFFFFFEF;
  579. }
  580. else
  581. {
  582. m_check_inlength=1;
  583. MyLogManage.TheIpFilter.Options|=0x10;
  584. }
  585. }
  586. void CPage6::OnCHECKOutLength() 
  587. {
  588. // TODO: Add your control notification handler code here
  589. if(m_check_outlength)
  590. {
  591. m_check_outlength=0;
  592. MyLogManage.TheIpFilter.Options&=0xFFFFFFdF;
  593. }
  594. else
  595. {
  596. m_check_outlength=1;
  597. MyLogManage.TheIpFilter.Options|=0x20;
  598. }
  599. }
  600. void CPage6::OnCHECKInOffset() 
  601. {
  602. // TODO: Add your control notification handler code here
  603. if(m_check_inoffset)
  604. {
  605. m_check_inoffset=0;
  606. MyLogManage.TheIpFilter.Options&=0xFFFFEFFF;
  607. }
  608. else
  609. {
  610. m_check_inoffset=1;
  611. MyLogManage.TheIpFilter.Options|=0x1000;
  612. }
  613. }
  614. void CPage6::OnCHECKOutOffset() 
  615. {
  616. // TODO: Add your control notification handler code here
  617. if(m_check_outoffset)
  618. {
  619. m_check_outoffset=0;
  620. MyLogManage.TheIpFilter.Options&=0xFFFFdFFF;
  621. }
  622. else
  623. {
  624. m_check_outoffset=1;
  625. MyLogManage.TheIpFilter.Options|=0x2000;
  626. }
  627. }
  628. void CPage6::OnCHECKInMore() 
  629. {
  630. // TODO: Add your control notification handler code here
  631. if(m_check_inmore)
  632. {
  633. m_check_inmore=0;
  634. MyLogManage.TheIpFilter.Options&=0xFFFFbFFF;
  635. }
  636. else
  637. {
  638. m_check_inmore=1;
  639. MyLogManage.TheIpFilter.Options|=0x4000;
  640. }
  641. }
  642. void CPage6::OnCHECKOutMore() 
  643. {
  644. // TODO: Add your control notification handler code here
  645. if(m_check_outmore)
  646. {
  647. m_check_outmore=0;
  648. MyLogManage.TheIpFilter.Options&=0xFFFF7FFF;
  649. }
  650. else
  651. {
  652. m_check_outmore=1;
  653. MyLogManage.TheIpFilter.Options|=0x8000;
  654. }
  655. }
  656. void CPage6::OnCheckSorceRoute() 
  657. {
  658. if(m_check_route)
  659. {
  660. m_check_route=0;
  661. MyLogManage.TheIpFilter.Options&=0xFFBFFFF;
  662. }
  663. else
  664. {
  665. m_check_route=1;
  666. MyLogManage.TheIpFilter.Options|=0x40000;
  667. }
  668. }
  669. void CPage6::GetData()
  670. {
  671. if(MyLogManage.RequireLog&0x01)
  672. m_check_islog=TRUE;
  673. else m_check_islog=FALSE;
  674. if(MyLogManage.TheIpFilter.isLogIp&0x01)m_check_logip=TRUE;
  675. else m_check_logip=FALSE;
  676. if(MyLogManage.TheIpFilter.Options&0x01)
  677. m_check_inbroad=1;
  678. else m_check_inbroad=0;
  679. if(MyLogManage.TheIpFilter.Options&0x02)
  680. m_check_outbroad=TRUE;
  681. else m_check_outbroad=FALSE;
  682. if(MyLogManage.TheIpFilter.Options&0x04)
  683. m_check_incommingport=1;
  684. else m_check_incommingport=0;
  685. if(MyLogManage.TheIpFilter.Options&0x08)
  686. m_check_outgoingport=TRUE;
  687. else m_check_outgoingport=FALSE;
  688. if(MyLogManage.TheIpFilter.Options&0x10)
  689. m_check_inlength=1;
  690. else m_check_inlength=0;
  691. if(MyLogManage.TheIpFilter.Options&0x20)
  692. m_check_outlength=1;
  693. else m_check_outlength=0;
  694. if(MyLogManage.TheIpFilter.Options&0x40)
  695. m_check_incommingtype=TRUE;
  696. else m_check_incommingtype=FALSE;
  697. if(MyLogManage.TheIpFilter.Options&0x80)
  698. m_check_outgoingtype=TRUE;
  699. else m_check_outgoingtype=FALSE;
  700. if(MyLogManage.TheIpFilter.Options&0x100)
  701. m_check_incommingip=TRUE;
  702. else m_check_incommingip=FALSE;
  703. if(MyLogManage.TheIpFilter.Options&0x200)
  704. m_check_outgoingip=TRUE;
  705. else m_check_outgoingip=FALSE;
  706. if(MyLogManage.TheIpFilter.Options&0x1000)
  707. m_check_inoffset=TRUE;
  708. else m_check_inoffset=FALSE;
  709. if(MyLogManage.TheIpFilter.Options&0x2000)
  710. m_check_outoffset=TRUE;
  711. else m_check_outoffset=FALSE;
  712. if(MyLogManage.TheIpFilter.Options&0x4000)
  713. m_check_inmore=TRUE;
  714. else m_check_inmore=FALSE;
  715. if(MyLogManage.TheIpFilter.Options&0x8000)
  716. m_check_outmore=TRUE;
  717. else m_check_outmore=FALSE;
  718. if(MyLogManage.TheIpFilter.Options&0x10000)
  719. m_check_incommingdos=TRUE;
  720. else m_check_incommingdos=FALSE;
  721. if(MyLogManage.TheIpFilter.Options&0x20000)
  722. m_check_outgoingdos=TRUE;
  723. else m_check_outgoingdos=FALSE;
  724. if(MyLogManage.TheIpFilter.Options&0x40000)
  725. m_check_route=TRUE;
  726. else m_check_route=FALSE;
  727. m_check_prolog=MyLogManage.TheProCommentsLog.isLogProtocal;
  728. if(MyLogManage.TheProCommentsLog.Options&0x01)
  729. m_check_logipport=TRUE;
  730. else m_check_logipport=FALSE;
  731. if(MyLogManage.TheProCommentsLog.Options&0x02)
  732. m_check_logkind=TRUE;
  733. else m_check_logkind=FALSE;
  734. if(MyLogManage.TheProCommentsLog.Options&0x04)
  735. m_check_logurl=TRUE;
  736. else m_check_logurl=FALSE;
  737. if(MyLogManage.TheProCommentsLog.Options&0x08)
  738. m_check_logtime=TRUE;
  739. else m_check_logtime=FALSE;
  740. }
  741. BOOL CPage6::OnSetActive() 
  742. {
  743. // TODO: Add your specialized code here and/or call the base class
  744. GetData();
  745. UpdateData(0);
  746. return CPropertyPage::OnSetActive();
  747. }