📄 fwwebdevice.c
字号:
default: sprintf(fwWebTempError, " Unknown protocol type %d in dstPortEndDisplaySet!\n",pfwWebRule->proto); fwWebErrorPrint(fwWebTempError); return ERROR; break; } } return OK; }/******************************************************************************* * fwWebDstPortStartDisplayGet - Get the destination start port of a rule entry * to display on the webscreen editing/adding table*** RETURNS: OK if success, or ERROR if not */STATUS fwWebDstPortStartDisplayGet(void) { int ret = fwWebRuleFieldGet(FW_FIELD_PROTO,FWWEB_DISPLAY_INDEX, (void *)&pfwWebRule->proto,"fwWebDstPortStartDisplayGet"); if (ret == OK) { switch (pfwWebRule->proto) { case IPPROTO_TCP: if (fwWebRuleFieldGet(FW_FIELD_TCP,FWWEB_DISPLAY_INDEX,(void *)&pfwWebRule->tcp,"fwWebDstPortStartDisplayGet") == ERROR) { fwWebErrorPrint (" fwRuleGet failed in fwWebDstPortStartDisplayGet! \n"); fwWebIntHolder = 0; return ERROR; } fwWebIntHolder = pfwWebRule->tcp.dstPort.start; break; case IPPROTO_UDP: if (fwWebRuleFieldGet(FW_FIELD_UDP,FWWEB_DISPLAY_INDEX,(void *)&pfwWebRule->udp,"fwWebDstPortStartDisplayGet") == ERROR) { fwWebErrorPrint (" fwRuleGet failed in fwWebDstPortStartDisplayGet! \n"); fwWebIntHolder = 0; return ERROR; } fwWebIntHolder =pfwWebRule->udp.dstPort.start; break; case IPPROTO_ICMP:#ifdef INET6 case IPPROTO_ICMPV6: /*icmpv6*/#endif case IPPROTO_IP: fwWebIntHolder = 0; break; default: fwWebIntHolder = 0; sprintf(fwWebTempError, " Unknown protocol type %d in dstPortStartDisplayGet!\n",pfwWebRule->proto); fwWebErrorPrint(fwWebTempError); return ERROR; break; } } else fwWebIntHolder = 0; if (ret == ERROR) return ERROR; return OK; }/******************************************************************************* * fwWebDstPortStartDisplaySet - Set the destination start port of a rule entry.*** RETURNS: OK if success, or ERROR if not */STATUS fwWebDstPortStartDisplaySet(void) { DBG_PRINT(("Set fwWebDstPortStartDisplaySet \n ")); if( pfwWebRule != NULL) { switch (pfwWebRule->proto) { /* The protocol may not be set yet !*/ case IPPROTO_TCP: case IPPROTO_UDP: case IPPROTO_ICMP:#ifdef INET6 case IPPROTO_ICMPV6: /*icmpv6*/#endif case IPPROTO_IP: case IPPROTO_MAX + 1: pfwWebRule->tcp.dstPort.start = fwWebIntHolder; pfwWebRule->udp.dstPort.start = fwWebIntHolder; break; default: sprintf(fwWebTempError, " Unknown protocol type %d in dstPortStartDisplaySet!\n",pfwWebRule->proto); fwWebErrorPrint(fwWebTempError); return ERROR; break; } } return OK; }/******************************************************************************* * fwWebMoveIndexGet - Get the index of the next rule entry.*** RETURNS: OK*/STATUS fwWebMoveIndexGet(void) { if (fwWebMoveIndex <=0 ) fwWebMoveIndex =1; fwWebMoveIndex = fwWebMoveIndex + 1; if (fwWebMoveIndex > fwWebTotalEntry ) fwWebMoveIndex =1; return OK; }/******************************************************************************* * fwWebSrcAddrEndDisplayGet - Get the source end address of a rule entry * to display on the webscreen editing/adding table*** RETURNS: OK if success, or ERROR if not */STATUS fwWebSrcAddrEndDisplayGet(void) { int ret;#ifdef INET6 if( fwWebDirection == FW_PREIN_LOC_V6 || fwWebDirection == FW_OUT_LOC_V6) { ret = fwWebRuleFieldGet(FW_FIELD_IPADDR,FWWEB_DISPLAY_INDEX, (void *)&pfwWebRule->srcAddrV6,"fwWebSrcAddrEndDisplayGet"); if (ret == OK) { inet_ntop (AF_INET6, (void *) &pfwWebRule->srcAddrV6.end, fwWebStringHolder, INET6_ADDRSTRLEN); } else strcpy(fwWebStringHolder, "0::0:0:0:0"); } else#endif { ret = fwWebRuleFieldGet(FW_FIELD_IPADDR,FWWEB_DISPLAY_INDEX, (void *)&pfwWebRule->srcAddr,"fwWebSrcAddrEndDisplayGet"); if (ret == OK) { HTONL(pfwWebRule->srcAddr.end.s_addr); inet_ntop (AF_INET, (void *) &pfwWebRule->srcAddr.end, fwWebStringHolder, INET_ADDRSTRLEN); } else fwWebStringHolder[0] = 0; } if (ret == ERROR) return ERROR; return OK; }/******************************************************************************* * fwWebSrcAddrEndDisplaySet - Set the source end address of a rule entry.*** RETURNS: OK if success, or ERROR if not */STATUS fwWebSrcAddrEndDisplaySet(void) { int retv6 = 1; int ret =1; DBG_PRINT(("Set fwWebSrcAddrEndDisplaySet \n ")); if( pfwWebRule != NULL) {#ifdef INET6 retv6 = inet_pton (AF_INET6, fwWebStringHolder, (void *) &pfwWebRule->srcAddrV6.end); if (retv6 != 1) fwWebV6AddrError = TRUE;#endif ret = inet_pton (AF_INET, fwWebStringHolder, (void *) &pfwWebRule->srcAddr.end); NTOHL(pfwWebRule->srcAddr.end.s_addr); if (ret != 1 && strcmp(fwWebStringHolder, "255.255.255.255") ) fwWebV4AddrError = TRUE; /* not a valid v4 or v6 address */ if (strcmp(fwWebStringHolder, "255.255.255.255") && ret != 1 && retv6 !=1 ) { sprintf(fwWebTempError, "fwWebSrcAddrEndDisplaySet failed direction %d with invalid address %s!\n", fwWebDirection, fwWebStringHolder); fwWebErrorPrint(fwWebTempError); /*return ERROR;*/ } } return OK; }/******************************************************************************* * fwWebSrcAddrStartDisplayGet - Get the source start address of a rule entry * to display on the webscreen editing/adding table*** RETURNS: OK if success, or ERROR if not */STATUS fwWebSrcAddrStartDisplayGet(void) { int ret;#ifdef INET6 if( fwWebDirection == FW_PREIN_LOC_V6 || fwWebDirection == FW_OUT_LOC_V6) { ret = fwWebRuleFieldGet(FW_FIELD_IPADDR,FWWEB_DISPLAY_INDEX, (void *)&pfwWebRule->srcAddrV6,"fwWebSrcAddrStartDisplayGet"); if (ret == OK) { inet_ntop (AF_INET6, (void *) &pfwWebRule->srcAddrV6.start, fwWebStringHolder, INET6_ADDRSTRLEN); } else strcpy(fwWebStringHolder, "0::0:0:0:0"); } else#endif { ret = fwWebRuleFieldGet(FW_FIELD_IPADDR,FWWEB_DISPLAY_INDEX, (void *)&pfwWebRule->srcAddr,"fwWebSrcAddrStartDisplayGet"); if (ret == OK) { HTONL(pfwWebRule->srcAddr.start.s_addr); inet_ntop (AF_INET, (void *) &pfwWebRule->srcAddr.start, fwWebStringHolder, INET_ADDRSTRLEN); } else fwWebStringHolder[0] = 0; } if (ret == ERROR) return ERROR; return OK; }/******************************************************************************* * fwWebSrcAddrStartDisplaySet - Set the source start address of a rule entry.*** RETURNS: OK if success, or ERROR if not */STATUS fwWebSrcAddrStartDisplaySet(void) { int retv6 = 1; int ret = 1; DBG_PRINT(("Set fwWebSrcAddrStartDisplaySet \n ")); if( pfwWebRule != NULL) {#ifdef INET6 retv6 = inet_pton (AF_INET6, fwWebStringHolder, (void *) &pfwWebRule->srcAddrV6.start); if (retv6 != 1) fwWebV6AddrError = TRUE;#endif ret = inet_pton (AF_INET, fwWebStringHolder, (void *) &pfwWebRule->srcAddr.start); NTOHL(pfwWebRule->srcAddr.start.s_addr); if (ret != 1 && strcmp(fwWebStringHolder, "255.255.255.255") ) fwWebV4AddrError = TRUE; /* not a valid v4 or v6 address */ if (strcmp(fwWebStringHolder, "255.255.255.255") && ret != 1 && retv6 != 1) { sprintf(fwWebTempError, "fwWebSrcAddrStartDisplaySet failed direction %d with invalid address %s!\n", fwWebDirection, fwWebStringHolder); fwWebErrorPrint(fwWebTempError); /*return ERROR;*/ } } return OK; }/******************************************************************************* * fwWebSrcPortGet - Get the source port range of a rule entry to display on * the webscreen incoming or outgoing table*** RETURNS: OK if success, or ERROR if not */STATUS fwWebSrcPortGet(void) { if (fwWebTotalEntry <= 0) return OK; if( fwWebRuleFieldGet(FW_FIELD_PROTO,FWWEB_MOVE_INDEX, (void *)&pfwWebRule->proto, "fwWebSrcPortGet") == OK) switch (pfwWebRule->proto) { case IPPROTO_TCP: if (fwWebRuleFieldGet(FW_FIELD_TCP,FWWEB_MOVE_INDEX,(void *)&pfwWebRule->tcp,"fwWebSrcPortGet") == ERROR) { strcpy(fwWebStringHolder, "N/A"); fwWebErrorPrint (" fwRuleGet failed in fwWebSrcPortGet! \n"); return ERROR; } sprintf(fwWebStringHolder, "%d - %d", pfwWebRule->tcp.srcPort.start, pfwWebRule->tcp.srcPort.end); break; case IPPROTO_UDP: if (fwWebRuleFieldGet(FW_FIELD_UDP,FWWEB_MOVE_INDEX,(void *)&pfwWebRule->udp,"fwWebSrcPortGet") == ERROR) { strcpy(fwWebStringHolder, "N/A"); fwWebErrorPrint (" fwRuleGet failed in fwWebSrcPortGet! \n"); return ERROR; } sprintf(fwWebStringHolder, "%d - %d", pfwWebRule->udp.srcPort.start, pfwWebRule->udp.srcPort.end); break; case IPPROTO_ICMP:#ifdef INET6 case IPPROTO_ICMPV6: /*icmpv6*/#endif case IPPROTO_IP: strcpy(fwWebStringHolder, "N/A"); break; default: strcpy(fwWebStringHolder, "0 - 0"); sprintf(fwWebTempError, " Unknown protocol type %d in srcPortGet!\n",pfwWebRule->proto); fwWebErrorPrint(fwWebTempError); return ERROR; break; } else { strcpy(fwWebStringHolder, "0 - 0"); return ERROR; } return OK; }/******************************************************************************* * fwWebSrcPortEndDisplayGet - Get the source end port of a rule entry * to display on the webscreen editing/adding table*** RETURNS: OK if success, or ERROR if not */STATUS fwWebSrcPortEndDisplayGet(void) { int ret = fwWebRuleFieldGet(FW_FIELD_PROTO,FWWEB_DISPLAY_INDEX, (void *)&pfwWebRule->proto,"fwWebSrcPortEndDisplayGet"); if (ret == OK) switch (pfwWebRule->proto) { case IPPROTO_TCP: if (fwWebRuleFieldGet(FW_FIELD_TCP,FWWEB_DISPLAY_INDEX,(void *)&pfwWebRule->tcp,"fwWebSrcPortEndDisplayGet") == ERROR) { fwWebErrorPrint (" fwRuleGet failed in fwWebSrcPortEndDisplayGet! \n"); fwWebIntHolder = 0; return ERROR; } fwWebIntHolder = pfwWebRule->tcp.srcPort.end; break; case IPPROTO_UDP: if (fwWebRuleFieldGet(FW_FIELD_UDP,FWWEB_DISPLAY_INDEX,(void *)&pfwWebRule->udp,"fwWebSrcPortEndDisplayGet") == ERROR) { fwWebErrorPrint (" fwRuleGet failed in fwWebSrcPortEndDisplayGet! \n"); fwWebIntHolder = 0; return ERROR; } fwWebIntHolder =pfwWebRule->udp.srcPort.end; break; case IPPROTO_ICMP:#ifdef INET6 case IPPROTO_ICMPV6: /*icmpv6*/#endif fwWebIntHolder = 0; break; case IPPROTO_IP: fwWebIntHolder = 0; break; default: fwWebIntHolder = 0; sprintf(fwWebTempError, " Unknown protocol type %d in srcPortEndDisplayGet!\n",pfwWebRule->proto); fwWebErrorPrint(fwWebTempError); return ERROR; break; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -