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

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

?? ftp_bounce_lookup.c

?? 著名的入侵檢測系統snort的最新版本的源碼
?? C
字號:
/* * ftp_bounce_lookup.c * * Copyright (C) 2004 Sourcefire,Inc * Steven A. Sturges <ssturges@sourcefire.com> * Daniel J. Roelker <droelker@sourcefire.com> * Marc A. Norton <mnorton@sourcefire.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License Version 2 as * published by the Free Software Foundation.  You may not use, modify or * distribute this program under any other version of the GNU General * Public License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * Description: * * This file contains functions to access the BOUNCE_LOOKUP structure. * * We wrap the access to BOUNCE_LOOKUP so changing the lookup algorithms * are more modular and independent.  This is the only file that would need * to be changed to change the algorithmic lookup. * * NOTES: * - 16.09.04:  Initial Development.  SAS * */#include <stdlib.h>#include <stdio.h>#include <string.h>#include "ftpp_util_kmap.h"#include "ftpp_ui_config.h"#include "ftpp_return_codes.h"#include "snort_ftptelnet.h"/* * Function: ftp_bounce_lookup_init(BOUNCE_LOOKUP **BounceLookup) * * Purpose: Initialize the bounce_lookup structure. * *          We need to initialize the bounce_lookup structure for *          the FTP bounce configuration.  Don't want a NULL pointer *          flying around, when we have to look for allowable bounces. * * Arguments: BounceLookup      => pointer to the pointer of the bounce *                                 lookup structure. * * Returns: int => return code indicating error or success * */int ftp_bounce_lookup_init(BOUNCE_LOOKUP **BounceLookup){    KMAP *km = KMapNew((KMapUserFreeFunc)FTPTelnetCleanupFTPBounceTo);     *BounceLookup = km;    if(*BounceLookup == NULL)    {        return FTPP_MEM_ALLOC_FAIL;    }    km->nocase = 1;    return FTPP_SUCCESS;}/* * Function: ftp_bounce_lookup_cleanup(BOUNCE_LOOKUP **BounceLookup) * * Purpose: Free the bounce_lookup structure. *          We need to free the bounce_lookup structure. * * Arguments: BounceLookup  => pointer to the pointer of the bounce *                             lookup structure. * * Returns: int => return code indicating error or success * */int ftp_bounce_lookup_cleanup(BOUNCE_LOOKUP **BounceLookup){    KMAP *km;    if (BounceLookup == NULL)        return FTPP_INVALID_ARG;    km = *BounceLookup;    if (km)    {        KMapDelete(km);        *BounceLookup = NULL;    }    return FTPP_SUCCESS;}/* * Function: ftp_bounce_lookup_add(BOUNCE_LOOKUP *BounceLookup, *                                 char *ip, int len,  *                                 FTP_BOUNCE_TO *BounceTo) *  * Purpose: Add a bounce configuration to the list.  IP is stored *          in dot notation order.  When the lookup happens, we *          compare up to len bytes of the address. * * Arguments: BounceLookup => a pointer to the lookup structure *            IP           => the ftp bounce address *            len          => Length of the address  *            BounceTo     => a pointer to the bounce configuration structure * * Returns: int => return code indicating error or success * */int ftp_bounce_lookup_add(BOUNCE_LOOKUP *BounceLookup, char *ip, int len,                             FTP_BOUNCE_TO *BounceTo){    int iRet;    if(!BounceLookup || !BounceTo)    {        return FTPP_INVALID_ARG;    }    iRet = KMapAdd(BounceLookup, (void *)ip, len, (void *)BounceTo);    if (iRet)    {        /*         * This means the key has already been added.        */        if(iRet == 1)        {            return FTPP_NONFATAL_ERR;        }        else        {            return FTPP_MEM_ALLOC_FAIL;        }    }    return FTPP_SUCCESS;}/* * Function: ftp_bounce_lookup_find(BOUNCE_LOOKUP *BounceLookup, *                                  char *ip, int len, *                                  int *iError) * * Purpose: Find a bounce configuration given a IP. *          We look up a bounce configuration given an IP and *          return a pointer to that bounce configuration if found. * * Arguments: BounceLookup => a pointer to the lookup structure *            IP           => the ftp bounce address *            len          => Length of the address  *            iError       => a pointer to an error code * * Returns: int => return code indicating error or success * * Returns: FTP_BOUNCE_TO* => Pointer to bounce configuration structure *                            matching IP if found, NULL otherwise. * */FTP_BOUNCE_TO  *ftp_bounce_lookup_find(BOUNCE_LOOKUP *BounceLookup,                                        char *ip, int len, int *iError){    FTP_BOUNCE_TO *BounceTo = NULL;    if(!iError)    {        return NULL;    }    if(!BounceLookup)    {        *iError = FTPP_INVALID_ARG;        return NULL;    }    *iError = FTPP_SUCCESS;    BounceTo = (FTP_BOUNCE_TO *)KMapFind(BounceLookup,(void *)ip,len);    if (!BounceTo)    {        *iError = FTPP_NOT_FOUND;    }    return BounceTo;}/* * Function: ftp_bounce_lookup_first(BOUNCE_LOOKUP *BounceLookup, *                                   int *iError) * * Purpose: This lookups the first bounce configuration, so we can *          iterate through the configurations. * * Arguments: BounceLookup  => pointer to the bounce lookup structure *            iError        => pointer to the integer to set for errors * * Returns: FTP_BOUNCE_TO* => Pointer to first bounce configuration structure * */FTP_BOUNCE_TO *ftp_bounce_lookup_first(BOUNCE_LOOKUP *BounceLookup,                                            int *iError){    FTP_BOUNCE_TO *BounceTo;    if(!iError)    {        return NULL;    }    if(!BounceLookup)    {        *iError = FTPP_INVALID_ARG;        return NULL;    }    *iError = FTPP_SUCCESS;    BounceTo = (FTP_BOUNCE_TO *)KMapFindFirst(BounceLookup);    if (!BounceTo)    {        *iError = FTPP_NOT_FOUND;    }    return BounceTo;}/* * Function: ftp_bounce_lookup_next(BOUNCE_LOOKUP *BounceLookup, *                                  int *iError) * * Iterates to the next configuration, like a list it just returns * the next config in the config list. * * Purpose: This lookups the next bounce configuration, so we can *          iterate through the configurations. * * Arguments: BounceLookup  => pointer to the bounce lookup structure *            iError        => pointer to the integer to set for errors * * Returns: FTP_BOUNCE_TO*  => Pointer to next bounce configuration structure * */FTP_BOUNCE_TO *ftp_bounce_lookup_next(BOUNCE_LOOKUP *BounceLookup,                                           int *iError){    FTP_BOUNCE_TO *BounceTo;    if(!iError)    {        return NULL;    }    if(!BounceLookup)    {        *iError = FTPP_INVALID_ARG;        return NULL;    }    *iError = FTPP_SUCCESS;    BounceTo = (FTP_BOUNCE_TO *)KMapFindNext(BounceLookup);    if (!BounceTo)    {        *iError = FTPP_NOT_FOUND;    }    return BounceTo;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区三区在线| 91蜜桃在线免费视频| 日韩欧美国产系列| 久久成人羞羞网站| 国产亚洲va综合人人澡精品| 成人免费视频app| 亚洲欧美日韩国产成人精品影院 | 亚洲精品乱码久久久久久日本蜜臀| 一本大道久久a久久精品综合| 亚洲综合一区在线| 日韩亚洲电影在线| 国产aⅴ综合色| 亚洲国产精品精华液网站| 51午夜精品国产| 国产成人精品www牛牛影视| 亚洲欧美日本在线| 日韩视频在线观看一区二区| 国产91对白在线观看九色| 亚洲综合av网| 久久综合久久综合久久综合| 91在线你懂得| 另类小说色综合网站| 1000精品久久久久久久久| 欧美巨大另类极品videosbest| 国产一区二区不卡在线| 亚洲国产美女搞黄色| 久久精品视频网| 欧美日韩精品福利| 懂色av一区二区三区蜜臀| 午夜精品爽啪视频| 中文字幕一区二区三区不卡| 欧美一级久久久久久久大片| 91色婷婷久久久久合中文| 精品一区二区三区影院在线午夜| 成人免费一区二区三区在线观看 | 日韩精品一区二区三区在线| 91蜜桃在线观看| 国产麻豆精品视频| 亚洲va欧美va人人爽午夜| 中文字幕免费一区| 日韩精品一区二区三区三区免费| 色婷婷精品大在线视频| 国产乱码精品一品二品| 日日摸夜夜添夜夜添精品视频| 《视频一区视频二区| 久久久久久97三级| 欧美一区二区三区四区视频| 91麻豆国产福利在线观看| 国产精品亚洲一区二区三区在线| 天天射综合影视| 亚洲综合一二区| 亚洲免费视频中文字幕| 国产午夜亚洲精品午夜鲁丝片| 日韩一区二区在线播放| 欧美久久婷婷综合色| 在线免费视频一区二区| 色综合天天综合| 99亚偷拍自图区亚洲| 国产 欧美在线| 国产成人av电影免费在线观看| 看电影不卡的网站| 日韩精品色哟哟| 三级久久三级久久久| 亚洲高清免费观看 | 精品国产一区二区三区不卡| 欧美主播一区二区三区| 91福利国产精品| 99久久国产免费看| 成人国产在线观看| 成人激情小说乱人伦| 99热这里都是精品| www..com久久爱| 91麻豆精品在线观看| 色婷婷综合视频在线观看| 色女孩综合影院| 欧美曰成人黄网| 欧美精品高清视频| 日韩区在线观看| 久久综合久久综合亚洲| 欧美国产国产综合| 国产精品传媒在线| 亚洲美女屁股眼交3| 亚洲一二三区不卡| 日本欧美大码aⅴ在线播放| 麻豆一区二区三| 国产福利一区二区三区在线视频| 国产精品资源在线观看| av一区二区三区四区| 日本道精品一区二区三区| 欧美视频你懂的| 91麻豆精品国产91久久久更新时间| 欧美一区二区在线视频| 久久网站热最新地址| 国产精品久久久久久户外露出| 亚洲理论在线观看| 丝袜美腿高跟呻吟高潮一区| 理论片日本一区| av在线不卡免费看| 欧美日韩国产免费一区二区| 精品久久人人做人人爽| 国产精品第13页| 日韩高清一级片| 成人一区二区三区视频| 在线观看成人免费视频| 欧美电影免费观看高清完整版| 欧美国产日韩亚洲一区| 亚洲伊人伊色伊影伊综合网| 久久不见久久见中文字幕免费| 国产精品亚洲午夜一区二区三区| 在线视频综合导航| 精品国产一区二区三区久久影院| 国产自产视频一区二区三区| heyzo一本久久综合| 制服丝袜亚洲色图| 欧美午夜电影在线播放| 久久婷婷久久一区二区三区| 欧美日韩情趣电影| 91毛片在线观看| 69堂精品视频| 一区免费观看视频| 免费看日韩a级影片| 99久久精品国产毛片| 日韩精品一区在线观看| 亚洲视频免费在线观看| 美女诱惑一区二区| 色偷偷久久人人79超碰人人澡 | 久久视频一区二区| 一区二区三区在线观看动漫| 国产精品自拍在线| 欧美一卡在线观看| 亚洲免费在线观看| 成人深夜在线观看| 欧美mv日韩mv国产网站| 亚洲h精品动漫在线观看| 成人在线综合网| 欧美成人精品二区三区99精品| 亚洲一区在线播放| av电影天堂一区二区在线| 久久色.com| 精品综合免费视频观看| 欧美天堂亚洲电影院在线播放| 国产精品二区一区二区aⅴ污介绍| 国产一区二区三区观看| 日韩无一区二区| 五月综合激情婷婷六月色窝| 色综合久久99| 亚洲欧美在线视频| 成人免费视频app| 国产日韩精品一区| 韩国午夜理伦三级不卡影院| 91精品国产全国免费观看| 亚洲成人免费av| 欧美日韩在线三区| 亚洲综合视频在线观看| 在线视频欧美区| 亚洲猫色日本管| 色国产精品一区在线观看| 日韩理论在线观看| 91小宝寻花一区二区三区| 亚洲手机成人高清视频| 91视视频在线观看入口直接观看www| 中文字幕在线不卡国产视频| 成人国产电影网| ●精品国产综合乱码久久久久| 99久久精品费精品国产一区二区| 国产精品灌醉下药二区| 91捆绑美女网站| 亚洲精品第1页| 欧美日韩一区二区在线观看 | 国产精品18久久久久久久久| 精品电影一区二区三区| 国产在线不卡一区| 久久精品一区二区三区av| 国产成人在线免费| 国产精品国产成人国产三级| 色婷婷综合五月| 石原莉奈在线亚洲三区| 日韩欧美一级在线播放| 国内精品在线播放| 国产精品视频一二三| 91香蕉视频在线| 日韩激情在线观看| 日韩欧美激情四射| 成人午夜av影视| 亚洲黄色免费电影| 欧美一区二区在线免费观看| 国产久卡久卡久卡久卡视频精品| 国产精品女同互慰在线看| 日本久久精品电影| 免费在线观看一区二区三区| 久久天天做天天爱综合色| 91免费看视频| 日韩高清在线不卡| 国产目拍亚洲精品99久久精品| 99精品欧美一区二区三区小说| 丝袜a∨在线一区二区三区不卡| 久久欧美一区二区| 欧美性色黄大片手机版| 国产一区二区三区综合| 亚洲麻豆国产自偷在线|