⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fwwebdevice.c

📁 firewall PNE 3.3 source code, running at more than vxworks6.x version.
💻 C
📖 第 1 页 / 共 5 页
字号:
            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 + -