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

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

?? input.c

?? vxworks的完整的源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
/* input.c - routines for processing incoming RIP messages *//* Copyright 1984 - 2002 Wind River Systems, Inc. */#include "copyright_wrs.h"/* * Copyright (c) 1983, 1988, 1993 *	The Regents of the University of California.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by the University of *	California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *        @(#)input.c	8.3 (Berkeley) 4/28/95 *//*modification history--------------------01s,22mar02,niq  Merged from Synth view, tor3_x.synth branch, ver 01z01r,24jan02,niq  SPR 72415 - Added support for Route tags01q,15oct01,rae  merge from truestack ver 01t, base 01n (SPRs 70188, 69983 etc.)01p,21nov00,spm  fixed transmission of responses to wrong port (SPR #62532)01o,10nov00,spm  merged from version 01p of tor3_x branch (SPR #33692 fix)01n,16mar99,spm  recovered orphaned code from tor1_0_1.sens1_1 (SPR #25770)01m,29sep98,spm  updated route modification time for IP group MIB (SPR #9374)01l,11sep98,spm  general overhaul of input processing (SPR #22297); removed                 all references to bloated trace commands (SPR #22350)01k,01sep98,spm  changed test of next hop address to detect supernet                  matches (SPR #22220) and comply with RIP specification;                 modified whitespace (for coding standards) and added comments01j,26jun98,spm  corrected timer setting for poisoned routes; removed duplicate                 tests from response processing; updated debug messages and                 added typecast to remove compiler warning01i,03oct97,gnn  added includes and declarations to remove warnings01h,15may97,gnn  fixed errors relating to ripSplitPacket.01g,08may97,gnn  fixed more ANVL related errors.01f,17apr97,gnn  fixed errors pointed out by ANVL.       01e,14apr97,gnn  added input packet authentication.01d,07apr97,gnn  cleared up some of the more egregious warnings.                 added MIB-II interface and option support.01c,12mar97,gnn  added multicast support.                 added time variables.01b,24feb97,gnn  added rip version 2 functionality01a,26nov96,gnn  created from BSD4.4 routed*//*DESCRIPTION*//* * Routing Table Management Daemon */#include "vxWorks.h"#include "logLib.h"#include "tickLib.h"#include "rip/defs.h"#include "m2Lib.h"#include "routeEnhLib.h"#ifdef VIRTUAL_STACK#include "netinet/vsLib.h"#include "netinet/vsRip.h"#elseIMPORT int routedDebug;#endif/* The random number generation limits the frequency of triggered updates. */LOCAL u_long ripRandTimeSeed = 1;LOCAL u_long ripRandTime (void);LOCAL void ripRouteAgeUpdate(struct rt_entry *pRtEntry);#define RANDOMDELAY()    (MIN_WAITTIME * 1000000 + \               ripRandTime() % ((MAX_WAITTIME - MIN_WAITTIME) * 1000000))#define osa(x) ((struct osockaddr *)(&(x)))/* forward declarations */void addrouteforif(register struct interface *ifp);void ripSplitPacket (struct interface* pIfp, struct sockaddr_in *src,                     struct sockaddr* orig, struct sockaddr* gateway,                      struct sockaddr* netmask, int* pTag );void timevaladd (struct timeval *t1, struct timeval *t2);IMPORT STATUS ripAuthCheck (char *, RIP_PKT *);IMPORT void ripSockaddrPrint (struct sockaddr *);/* * Process a newly received packet. */void routedInput    (    struct sockaddr *from,    register RIP_PKT *rip,    int size    )    {    register struct rt_entry *rt;    register struct netinfo *n;    register struct netinfo *pFirst;    register struct interface *ifp;    register struct interface *pErrorIfp;    struct interface *ripIfWithDstAddr();    int count, changes = 0;    register struct afswitch *afp;    static struct sockaddr badfrom, badfrom2;    struct sockaddr gateway;    struct sockaddr netmask;    int tag;    int origMetric;#ifndef VIRTUAL_STACK    IMPORT RIP ripState;#endif    ifp = 0;    if (routedDebug > 2)        logMsg ("Received RIP message.\n", 0, 0, 0, 0, 0, 0);    if (from->sa_family >= AF_MAX ||        (afp = &afswitch[from->sa_family])->af_hash == (int (*)())0)        {        if (routedDebug)            logMsg ("Command %d received from unsupported address family %d.\n",                    rip->rip_cmd, from->sa_family, 0, 0, 0, 0);        return;        }    /*      * Determine the interface connected to the source of the      * RIP message. If no match is found, the message will be ignored.     */    pErrorIfp = ripIfLookup (from);    if (pErrorIfp == NULL)        {        if (routedDebug)            logMsg ("RIP message received from unreachable router %s.\n",                    (int)(*afswitch[from->sa_family].af_format)(from),                    0, 0, 0, 0, 0);         return;         }    /* If the interface has been disabled, silently drop received packets. */    if (pErrorIfp->ifConf.rip2IfConfStatus != M2_rip2IfConfStatus_valid)        return;    /*      * Test for valid version numbers and filter RIP messages based on the      * current setting of the interface's receive control switch.      */    if (rip->rip_vers == 0)        {        if (routedDebug)            logMsg ("RIP version 0 packet received from %s! (cmd %d)\n",                    (int)(*afswitch[from->sa_family].af_format)(from),                     rip->rip_cmd, 0, 0, 0, 0);        pErrorIfp->ifStat.rip2IfStatRcvBadPackets++;        return;        }    if (rip->rip_vers == 1 &&             pErrorIfp->ifConf.rip2IfConfReceive == M2_rip2IfConfReceive_rip2)        {        if (routedDebug)            logMsg ("RIP-1 message rejected by receive control switch.\n",                     0, 0, 0, 0, 0, 0);        pErrorIfp->ifStat.rip2IfStatRcvBadPackets++;        return;        }    if (rip->rip_vers == 2 &&             pErrorIfp->ifConf.rip2IfConfReceive == M2_rip2IfConfReceive_rip1)        {        if (routedDebug)            logMsg ("RIP-2 message rejected by receive control switch.\n",                     0, 0, 0, 0, 0, 0);        pErrorIfp->ifStat.rip2IfStatRcvBadPackets++;        return;        }    /*      * Handle message authentication. If authentication is active, only      * messages validated by the authentication hook are accepted. That      * routine may allow RIP-1 messages if desired and must validate all      * RIP-2 messages.     */    if (pErrorIfp->ifConf.rip2IfConfAuthType ==            M2_rip2IfConfAuthType_noAuthentication)        {        /*         * Authentication is not enabled. Discard any RIP-2 messages          * containing authentication entries.         */        if (rip->rip_vers == 2)            {            pFirst = rip->rip_nets;            if (ntohs(osa(pFirst->rip_dst)->sa_family) == RIP2_AUTH)                {                if (routedDebug)                    logMsg ("Discarding message with unused authentication.\n",                            0, 0, 0, 0, 0, 0);                pErrorIfp->ifStat.rip2IfStatRcvBadPackets++;                return;                }            }        /* Get the first rip entry for processing */        pFirst = n = rip->rip_nets;        }    else        {        /*          * Authenticate message. All RIP-2 messages without authentication         * entries are rejected. RIP-2 messages with the current MD5 key         * or simple password are accepted. Under MD5 authentication, all         * other RIP-2 messages and all RIP-1 messages are rejected. Under         * simple password authentication, those messages are still accepted         * if the hook routine returns OK but are rejected if no hook routine         * is installed.         */        if (rip->rip_vers == 2)            {            pFirst = rip->rip_nets;            if (ntohs (osa (pFirst->rip_dst)->sa_family) != RIP2_AUTH)                {                if (routedDebug)                    logMsg ("Discarding unauthenticated RIP-2 message.\n",                            0, 0, 0, 0, 0, 0);                pErrorIfp->ifStat.rip2IfStatRcvBadPackets++;                return;                }            }#ifdef RIP_MD5        /*         * When MD5 authentication is active, the validation routine discards         * all RIP-1 messages and any RIP-2 messages without a matching key.         */        if (pErrorIfp->ifConf.rip2IfConfAuthType == M2_rip2IfConfAuthType_md5)            {            if (ripAuthKeyInMD5(pErrorIfp, rip, size) == ERROR)                {                if (routedDebug)                    logMsg ("Unable to authenticate RIP message.\n",                            0, 0, 0, 0, 0, 0);                return;                }            /*             * Reduce the reported size to ignore the entry which contains             * the MD5 authentication trailer (20 bytes).             */            size -= sizeof(struct netinfo);            }        else if (pErrorIfp->ifConf.rip2IfConfAuthType ==                 M2_rip2IfConfAuthType_simplePassword)#else        if (pErrorIfp->ifConf.rip2IfConfAuthType ==            M2_rip2IfConfAuthType_simplePassword)#endif /* RIP_MD5 */            {            /*             * The ripAuthCheck() routine automatically accepts any RIP-2              * messages containing the correct simple password authentication              * key. All other messages are handled by the authentication hook,             * or discarded if none is available.             */            if (ripAuthCheck (pErrorIfp->ifConf.rip2IfConfAuthKey,                              rip) == ERROR)                {                if (pErrorIfp->authHook)                    {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品福利一区二区三区av| 国产精品美女久久福利网站| 国产一区二区在线免费观看| 一区二区三区成人| 久久精品人人做| 久久日韩粉嫩一区二区三区| 精品视频999| 欧美三级乱人伦电影| 在线看一区二区| 欧美影片第一页| 99国产精品久久久久| 成人精品国产福利| 不卡一二三区首页| 99久久久免费精品国产一区二区| 国产+成+人+亚洲欧洲自线| 国产一区二区精品久久91| 国产在线看一区| 国产美女一区二区| 国产69精品久久99不卡| 成人网页在线观看| 日本久久精品电影| 欧美在线免费视屏| 欧美一区二区三区免费观看视频 | 久久久久久久久久久久久女国产乱| 欧美一区二区成人6969| 欧美一区二区三区免费大片| 亚洲精品在线免费播放| 国产精品久久久久久久久晋中| 亚洲女同女同女同女同女同69| 亚洲成年人网站在线观看| 日本sm残虐另类| 成人午夜视频免费看| 色婷婷av一区二区三区软件| 69堂精品视频| 国产精品免费久久| 亚洲第一福利一区| 黑人精品欧美一区二区蜜桃| 99久久婷婷国产| 91精品视频网| 国产精品第五页| 午夜久久久久久电影| 国产传媒久久文化传媒| 日本一区免费视频| 国产精品成人一区二区艾草| 天天综合色天天综合| 国产成人自拍网| 欧美一级爆毛片| 亚洲电影中文字幕在线观看| 国产激情视频一区二区三区欧美| 精品视频1区2区3区| 中文字幕在线一区二区三区| 久久精品国产999大香线蕉| 一本大道久久a久久综合婷婷| 久久―日本道色综合久久| 亚瑟在线精品视频| 在线影视一区二区三区| 日本一区二区三区免费乱视频| 爽好多水快深点欧美视频| 在线观看亚洲一区| 亚洲欧美怡红院| 97久久精品人人做人人爽50路| 欧美国产一区二区| 国产精华液一区二区三区| 精品久久久影院| 国产综合一区二区| 国产欧美一区二区精品仙草咪| 国产一区福利在线| 国产精品久久久久久久蜜臀 | 国产欧美精品一区二区色综合| 国产麻豆一精品一av一免费| 欧美成人伊人久久综合网| 蜜桃久久精品一区二区| 日韩欧美在线不卡| 国产精品中文欧美| 国产欧美精品一区二区三区四区| 国产福利视频一区二区三区| 国产精品免费视频一区| aaa亚洲精品一二三区| 亚洲精品国产品国语在线app| 欧美在线一二三| 麻豆91在线观看| 亚洲人成7777| 欧美一区二区三区在线电影| 国产精品原创巨作av| 专区另类欧美日韩| 7777精品伊人久久久大香线蕉完整版| 美女视频免费一区| 中文一区在线播放| 综合久久久久久久| 欧美日韩高清不卡| 国产成人av电影在线观看| 亚洲精品中文在线| 国产日韩欧美a| 欧美一级艳片视频免费观看| 粉嫩嫩av羞羞动漫久久久| 一区二区三区日韩| 亚洲国产精品av| 在线电影院国产精品| 成人av电影在线观看| 美脚の诱脚舐め脚责91| 亚洲综合一区二区三区| 久久久久亚洲综合| 欧美电影在哪看比较好| 99国产精品99久久久久久| 麻豆精品视频在线观看视频| 亚洲视频中文字幕| 久久精品一区二区三区不卡| 这里只有精品电影| 欧美性生活久久| 一本一道久久a久久精品| 国产成人超碰人人澡人人澡| 免费看日韩a级影片| 五月天一区二区三区| 亚洲综合色丁香婷婷六月图片| 国产精品午夜电影| 国产精品短视频| 亚洲欧美一区二区久久| 亚洲三级电影网站| 亚洲欧洲制服丝袜| 亚洲一二三四区不卡| 一区二区在线观看视频| 亚洲黄色小视频| 日韩高清在线电影| 日韩电影在线免费看| 老司机精品视频在线| 国产一区二区视频在线| 国产成人综合网站| 91亚洲精华国产精华精华液| 在线中文字幕一区二区| 欧美一区二区三区四区视频| 久久久久青草大香线综合精品| 中文文精品字幕一区二区| 综合久久国产九一剧情麻豆| 亚洲午夜电影网| 韩国精品一区二区| 一本一本久久a久久精品综合麻豆| 在线亚洲精品福利网址导航| 精品国产第一区二区三区观看体验| 国产亚洲短视频| 亚洲综合视频网| 国产成人a级片| 欧美疯狂做受xxxx富婆| 久久精品欧美日韩精品| 亚洲成a人片综合在线| 国产91富婆露脸刺激对白| 欧美午夜视频网站| 精品国产乱码久久久久久浪潮| 中文字幕在线不卡一区二区三区| 日韩精品福利网| 92精品国产成人观看免费| 欧美日韩你懂得| 一区二区在线观看视频 | 免费高清在线视频一区·| 色综合久久久久综合体| 国产人成亚洲第一网站在线播放| 亚洲第一久久影院| 91丝袜呻吟高潮美腿白嫩在线观看| 精品国产免费视频| 亚洲bt欧美bt精品| 欧美在线一区二区| 最新久久zyz资源站| 国产精品18久久久久久久网站| 欧美性videosxxxxx| 亚洲欧美日韩中文播放| 成人免费视频一区二区| 久久久久久毛片| 国产一区二区不卡在线| www日韩大片| 国产成人一区二区精品非洲| 久久久美女毛片| 国产一区二区调教| 国产亚洲一本大道中文在线| 国产精品一色哟哟哟| 久久久久国产精品厨房| 国产一区二区不卡在线| 国产精品色一区二区三区| 成人美女在线观看| 亚洲特级片在线| 欧美视频在线观看一区| 日本不卡在线视频| 精品电影一区二区| 福利一区福利二区| 亚洲欧美色一区| 精品久久久久久久一区二区蜜臀| 国产成人在线观看免费网站| 国产精品的网站| 91精品国产日韩91久久久久久| 激情综合一区二区三区| 亚洲精品乱码久久久久久久久 | www.av亚洲| 美女在线视频一区| 亚洲少妇30p| 精品国产露脸精彩对白| 91免费看`日韩一区二区| 日本vs亚洲vs韩国一区三区二区| 国产精品另类一区| 日韩午夜电影在线观看| 99精品久久免费看蜜臀剧情介绍| 日本成人中文字幕在线视频| 中文字幕亚洲在|