亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? snort_httpinspect.c

?? 著名的入侵檢測系統snort的最新版本的源碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
            SnortSnprintf(ErrorString, ErrStrLen,                          "Unable to open the IIS Unicode Map file '%s'.",                          filename);        }        else if(iRet == HI_FATAL_ERR)        {            SnortSnprintf(ErrorString, ErrStrLen,                          "Did not find specified IIS Unicode codemap in "                          "the specified IIS Unicode Map file.");        }        else        {            SnortSnprintf(ErrorString, ErrStrLen,                          "There was an error while parsing the IIS Unicode Map file.");        }        return -1;    }    return 0;}static int ProcessOversizeDir(HTTPINSPECT_CONF *ServerConf,                              char *ErrorString, int ErrStrLen){    char *pcToken;    char *pcEnd;    int  iDirLen;    pcToken = strtok(NULL, CONF_SEPARATORS);    if(pcToken == NULL)    {        SnortSnprintf(ErrorString, ErrStrLen,                      "No argument to token '%s'.", OVERSIZE_DIR);        return -1;    }    /*    **  Grab the oversize directory length    */    iDirLen = strtol(pcToken, &pcEnd, 10);    if(*pcEnd || iDirLen < 0)    {        SnortSnprintf(ErrorString, ErrStrLen,                      "Invalid argument to token '%s'.", OVERSIZE_DIR);                return -1;    }    ServerConf->long_dir = iDirLen;    return 0;}/***  NAME**      ProcessGlobalConf::*//****  This is where we process the global configuration for HttpInspect.****  We set the values of the global configuraiton here.  Any errors that**  are encountered are specified in the error string and the type of**  error is returned through the return code, i.e. fatal, non-fatal.****  The configuration options that are dealt with here are:**      - global_alert**          This tells us whether to do any internal alerts or not, on**          a global scale.**      - max_pipeline**          Tells HttpInspect how many pipeline requests to buffer looking**          for a response before inspection.**      - inspection_type**          What type of inspection for HttpInspect to do, stateless or**          stateful.****  @param GlobalConf  pointer to the global configuration**  @param ErrorString error string buffer**  @param ErrStrLen   the lenght of the error string buffer****  @return an error code integer **          (0 = success, >0 = non-fatal error, <0 = fatal error)****  @retval  0 successs**  @retval -1 generic fatal error**  @retval  1 generic non-fatal error*/static int ProcessGlobalConf(HTTPINSPECT_GLOBAL_CONF *GlobalConf,                             char *ErrorString, int ErrStrLen){    int  iRet;    char *pcToken;    int  iTokens = 0;    while ((pcToken = strtok(NULL, CONF_SEPARATORS)) != NULL)    {        /*        **  Show that we at least got one token        */        iTokens = 1;        /*        **  Search for configuration keywords        */        if(!strcmp(MAX_PIPELINE, pcToken))        {            iRet = ProcessMaxPipeline(GlobalConf, ErrorString, ErrStrLen);            if (iRet)            {                return iRet;            }        }        else if(!strcmp(INSPECT_TYPE, pcToken))        {            iRet = ProcessInspectType(GlobalConf, ErrorString, ErrStrLen);            if (iRet)            {                return iRet;            }        }        else if(!strcmp(IIS_UNICODE_MAP, pcToken))        {            iRet = ProcessIISUnicodeMap(&GlobalConf->iis_unicode_map, &GlobalConf->iis_unicode_map_filename,                                        &GlobalConf->iis_unicode_codepage, ErrorString,ErrStrLen);            if (iRet)            {                return iRet;            }        }        else if(!strcmp(ANOMALOUS_SERVERS, pcToken))        {            /*            **  This is easy to configure since we just look for the token            **  and turn on the option.            */            GlobalConf->anomalous_servers = 1;        }        else if(!strcmp(PROXY_ALERT, pcToken))        {            GlobalConf->proxy_alert = 1;        }        else        {            SnortSnprintf(ErrorString, ErrStrLen,                          "Invalid keyword '%s' for '%s' configuration.",                           pcToken, GLOBAL);            return -1;        }    }    /*    **  If there are not any tokens to the configuration, then    **  we let the user know and log the error.  return non-fatal    **  error.    */    if(!iTokens)    {        SnortSnprintf(ErrorString, ErrStrLen,                      "No tokens to '%s' configuration.", GLOBAL);        return -1;    }    /*    **  Let's check to make sure that we get a default IIS Unicode Codemap    */    if(!GlobalConf->iis_unicode_map)    {        SnortSnprintf(ErrorString, ErrStrLen,                      "Global configuration must contain an IIS Unicode Map "                      "configuration.  Use token '%s'.", IIS_UNICODE_MAP);        return -1;    }    return 0;}/***  NAME**    ProcessProfile::*//** Returns error messages for failed hi_ui_config_set_profile calls. ** ** Called exclusively by ProcessProfile. */static inline int _ProcessProfileErr(int iRet, char* ErrorString,                 int ErrStrLen, char *token){    if(iRet == HI_MEM_ALLOC_FAIL)    {        SnortSnprintf(ErrorString, ErrStrLen,                      "Memory allocation failed while setting the '%s' "                      "profile.", token);        return -1;    }    else    {        SnortSnprintf(ErrorString, ErrStrLen,                      "Undefined error code for set_profile_%s.", token);        return -1;    }}/***  NAME**    ProcessProfile::*//****  Process the PROFILE configuration.****  This function verifies that the argument to the profile configuration**  is valid.  We also check to make sure there is no additional**  configuration after the PROFILE.  This is no allowed, so we**  alert on that fact.****  @param ServerConf  pointer to the server configuration**  @param ErrorString error string buffer**  @param ErrStrLen   the length of the error string buffer****  @return an error code integer **          (0 = success, >0 = non-fatal error, <0 = fatal error)****  @retval  0 successs**  @retval -1 generic fatal error**  @retval  1 generic non-fatal error*/static int ProcessProfile(HTTPINSPECT_GLOBAL_CONF *GlobalConf,                          HTTPINSPECT_CONF *ServerConf,                          char *ErrorString, int ErrStrLen){    char *pcToken;    int  iRet;    pcToken = strtok(NULL, CONF_SEPARATORS);    if(pcToken == NULL)    {        SnortSnprintf(ErrorString, ErrStrLen,                      "No argument to '%s'.", PROFILE);        return -1;    }    /*    **  Load the specific type of profile    */    if(!strcmp(APACHE, pcToken))    {        iRet = hi_ui_config_set_profile_apache(ServerConf);        if (iRet)        {            /*  returns -1 */            return _ProcessProfileErr(iRet, ErrorString, ErrStrLen, pcToken);        }        ServerConf->profile = HI_APACHE;    }    else if(!strcmp(IIS, pcToken))    {        iRet = hi_ui_config_set_profile_iis(ServerConf, GlobalConf->iis_unicode_map);        if (iRet)        {            /* returns -1 */            return _ProcessProfileErr(iRet, ErrorString, ErrStrLen, pcToken);        }        ServerConf->profile = HI_IIS;    }    else if(!strcmp(IIS4_0, pcToken) || !strcmp(IIS5_0, pcToken))    {        iRet = hi_ui_config_set_profile_iis_4or5(ServerConf, GlobalConf->iis_unicode_map);        if (iRet)        {            /* returns -1 */            return _ProcessProfileErr(iRet, ErrorString, ErrStrLen, pcToken);        }        ServerConf->profile = (pcToken[3]=='4'?HI_IIS4:HI_IIS5);    }    else if(!strcmp(ALL, pcToken))    {        iRet = hi_ui_config_set_profile_all(ServerConf, GlobalConf->iis_unicode_map);        if (iRet)        {            /* returns -1 */            return _ProcessProfileErr(iRet, ErrorString, ErrStrLen, pcToken);        }        ServerConf->profile = HI_ALL;    }    else    {        SnortSnprintf(ErrorString, ErrStrLen,                      "Invalid profile argument '%s'.", pcToken);        return -1;    }    return 0;}/***  NAME**    ProcessPorts::*//****  Process the port list for the server configuration.****  This configuration is a list of valid ports and is ended by a **  delimiter.****  @param ServerConf  pointer to the server configuration**  @param ErrorString error string buffer**  @param ErrStrLen   the length of the error string buffer****  @return an error code integer **          (0 = success, >0 = non-fatal error, <0 = fatal error)****  @retval  0 successs**  @retval -1 generic fatal error**  @retval  1 generic non-fatal error*/static int ProcessPorts(HTTPINSPECT_CONF *ServerConf,                        char *ErrorString, int ErrStrLen){    char *pcToken;    char *pcEnd;    int  iPort;    int  iEndPorts = 0;    pcToken = strtok(NULL, CONF_SEPARATORS);    if(!pcToken)    {        SnortSnprintf(ErrorString, ErrStrLen,                      "Invalid port list format.");        return -1;    }    if(strcmp(START_PORT_LIST, pcToken))    {        SnortSnprintf(ErrorString, ErrStrLen,                      "Must start a port list with the '%s' token.",                      START_PORT_LIST);        return -1;    }        memset(ServerConf->ports, 0, 65536);    while ((pcToken = strtok(NULL, CONF_SEPARATORS)) != NULL)    {        if(!strcmp(END_PORT_LIST, pcToken))        {            iEndPorts = 1;            break;        }        iPort = strtol(pcToken, &pcEnd, 10);        /*        **  Validity check for port        */        if(*pcEnd)        {            SnortSnprintf(ErrorString, ErrStrLen, "Invalid port number.");            return -1;        }        if(iPort < 0 || iPort > 65535)        {            SnortSnprintf(ErrorString, ErrStrLen,                          "Invalid port number.  Must be between 0 and 65535.");            return -1;        }        ServerConf->ports[iPort] = 1;        if(ServerConf->port_count < 65536)            ServerConf->port_count++;    }    if(!iEndPorts)    {        SnortSnprintf(ErrorString, ErrStrLen,                      "Must end '%s' configuration with '%s'.",                      PORTS, END_PORT_LIST);        return -1;    }    return 0;}/***  NAME**    ProcessFlowDepth::*//****  Configure the flow depth for a server.****  Check that the value for flow depth is within bounds**  and is a valid number.****  @param ServerConf  pointer to the server configuration**  @param ErrorString error string buffer**  @param ErrStrLen   the length of the error string buffer****  @return an error code integer **          (0 = success, >0 = non-fatal error, <0 = fatal error)****  @retval  0 successs**  @retval -1 generic fatal error**  @retval  1 generic non-fatal error*/static int ProcessFlowDepth(HTTPINSPECT_CONF *ServerConf,                            char *ErrorString, int ErrStrLen){    char *pcToken;    int  iFlowDepth;    char *pcEnd;    pcToken = strtok(NULL, CONF_SEPARATORS);    if(pcToken == NULL)    {        SnortSnprintf(ErrorString, ErrStrLen,                      "No argument to '%s' token.", FLOW_DEPTH);        return -1;    }    iFlowDepth = strtol(pcToken, &pcEnd, 10);    if(*pcEnd)    {        SnortSnprintf(ErrorString, ErrStrLen,                      "Invalid argument to '%s'.", FLOW_DEPTH);        return -1;    }    /* -1 here is okay, which means ignore ALL server side traffic */    if(iFlowDepth < -1 || iFlowDepth > 1460)    {        SnortSnprintf(ErrorString, ErrStrLen,                      "Invalid argument to '%s'.  Must be between 0 and 1460.",                      FLOW_DEPTH);        return -1;    }    ServerConf->flow_depth = iFlowDepth;    return 0;}/***  NAME**    ProcessPostDepth::*//****  Configure the post depth for client requests****  Checks that the value for flow depth is within bounds**  and is a valid number.****  @param ServerConf  pointer to the server configuration**  @param ErrorString error string buffer**  @param ErrStrLen   the length of the error string buffer****  @return an error code integer **          (0 = success, >0 = non-fatal error, <0 = fatal error)****  @retval  0 successs**  @retval -1 generic fatal error**  @retval  1 generic non-fatal error*/static int ProcessPostDepth(HTTPINSPECT_CONF *ServerConf,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av影院午夜一区| 日韩视频在线一区二区| 一区视频在线播放| 欧美一区二区三区在线观看 | 亚洲成va人在线观看| 亚洲少妇屁股交4| 亚洲视频中文字幕| 亚洲精品你懂的| 亚洲成av人影院| 日本伊人色综合网| 国产一区亚洲一区| 精品在线免费观看| 成人免费视频免费观看| 色视频成人在线观看免| 欧美亚洲动漫精品| 精品久久久三级丝袜| 国产视频一区在线播放| 中文字幕一区二区三区不卡在线| 国产精品第四页| 一区二区三区.www| 爽好久久久欧美精品| 极品美女销魂一区二区三区免费| 丁香五精品蜜臀久久久久99网站| 99精品欧美一区二区蜜桃免费| 91黄色免费网站| 欧美一区二区视频网站| 国产欧美日韩不卡免费| 亚洲精品ww久久久久久p站| 日韩国产在线一| 国产成a人亚洲| 在线观看国产一区二区| 精品乱人伦一区二区三区| 中文字幕一区日韩精品欧美| 午夜精品久久久久久久久久| 国产福利不卡视频| 欧美性受xxxx| 中文字幕精品一区| 日本怡春院一区二区| 裸体歌舞表演一区二区| 色一情一伦一子一伦一区| 91精品国产91综合久久蜜臀| 日本一区二区电影| 日本aⅴ免费视频一区二区三区| 成人国产在线观看| 精品日韩一区二区三区 | 午夜私人影院久久久久| 国产成人精品亚洲777人妖| 欧美日韩一区二区三区四区| 国产精品天干天干在线综合| 天使萌一区二区三区免费观看| 福利一区在线观看| 日韩免费福利电影在线观看| 亚洲一区二三区| 不卡免费追剧大全电视剧网站| 日韩精品中文字幕在线不卡尤物| 亚洲精品免费在线播放| 成人免费av网站| 精品国产一区二区三区av性色| 亚洲国产中文字幕| 日本久久一区二区三区| 国产精品人人做人人爽人人添| 久久9热精品视频| 欧美一区二区播放| 日韩高清不卡在线| 欧美日韩性生活| 亚洲一区二区四区蜜桃| 色综合久久久久久久久久久| 国产精品久久免费看| 风间由美一区二区三区在线观看 | 亚洲三级在线播放| 成人亚洲一区二区一| 国产日韩欧美精品一区| 久国产精品韩国三级视频| 日韩一级高清毛片| 免费不卡在线视频| 日韩一级二级三级精品视频| 免费成人在线视频观看| 欧美不卡视频一区| 精久久久久久久久久久| 26uuu国产一区二区三区| 狠狠色丁香婷婷综合| 久久久国产精品麻豆 | 国产精品久久久久aaaa樱花 | 婷婷六月综合亚洲| 欧美一区二区三区成人| 免费成人在线播放| 久久精品一区二区三区不卡牛牛 | 91成人看片片| 亚洲福利视频一区| 欧美一区二区三区四区五区| 免费黄网站欧美| 久久久不卡影院| 成人av资源站| 一区二区三区不卡视频| 欧美高清性hdvideosex| 韩日av一区二区| 欧美激情一区在线| 日本韩国一区二区三区| 伊人一区二区三区| 欧美一区午夜视频在线观看| 精品一二三四在线| 国产精品国产三级国产| 欧美日韩日日摸| 国产在线国偷精品免费看| 综合中文字幕亚洲| 欧美电影一区二区| 国产成人免费网站| 亚洲成人黄色影院| 久久影视一区二区| 91福利国产精品| 国产一区二区三区在线观看免费| 国产日韩精品一区二区三区在线| 91极品视觉盛宴| 国产精品一级在线| 亚洲成人一区在线| 久久久精品综合| 欧美精品粉嫩高潮一区二区| 国产成人精品影视| 日本视频在线一区| 亚洲码国产岛国毛片在线| 精品久久国产字幕高潮| 欧美亚男人的天堂| 成人性生交大片免费看在线播放 | 亚洲国产精品久久不卡毛片| 2023国产精华国产精品| 欧美视频中文字幕| 不卡av电影在线播放| 久久99日本精品| 亚洲va国产va欧美va观看| 中文字幕综合网| 久久久久久免费| 精品精品欲导航| 欧美日韩日日夜夜| 欧美三级视频在线观看| av综合在线播放| 粉嫩av一区二区三区粉嫩| 久久精品免费观看| 日韩精品电影一区亚洲| 亚洲电影一级片| 亚洲精品成人精品456| 中文字幕中文字幕在线一区 | 国产日韩欧美激情| 日韩免费视频一区| 欧美一级片在线看| 91精品综合久久久久久| 欧美日韩久久不卡| 欧美性色黄大片| 91福利精品视频| 欧洲一区在线电影| 欧日韩精品视频| 一本色道久久综合精品竹菊| www.亚洲国产| 99久久精品免费看国产| av电影天堂一区二区在线观看| 成人免费视频一区二区| 春色校园综合激情亚洲| 不卡的电影网站| 色综合色综合色综合色综合色综合 | 91免费版pro下载短视频| 91视频免费播放| 91麻豆精东视频| 欧美视频一区二区三区在线观看 | 欧美精品欧美精品系列| 欧美一区二区久久| 欧美不卡一区二区三区四区| 欧美精品一区二区三区高清aⅴ| 久久影院视频免费| 中文字幕一区二区三| 夜色激情一区二区| 日韩福利视频导航| 国产乱码精品一区二区三| eeuss鲁片一区二区三区在线看| 不卡视频在线看| 精品视频一区二区三区免费| 日韩欧美一级二级三级| 久久日韩粉嫩一区二区三区| 亚洲国产精华液网站w| 一区二区三区色| 奇米亚洲午夜久久精品| 国产精品亚洲成人| 91国在线观看| 久久综合色婷婷| 亚洲美女在线一区| 久久国产精品72免费观看| 不卡视频一二三四| 欧美一区二区网站| 自拍偷自拍亚洲精品播放| 免费看欧美女人艹b| 91视频在线看| 欧美一区二区成人6969| 中文成人av在线| 青青草成人在线观看| 不卡免费追剧大全电视剧网站| 777久久久精品| 国产精品久久久久一区| 欧美aaaaaa午夜精品| 91在线云播放| 久久精品视频一区二区三区| 亚洲综合久久久| 成人福利视频网站|