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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? input.c

?? vxwork源代碼
?? 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)                    {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级二级三级| 中文字幕制服丝袜一区二区三区| 国产99久久久国产精品潘金| 一区二区三区.www| 久久综合九色综合97婷婷女人| 91网站在线播放| 国产在线一区观看| 日韩高清一区二区| 亚洲一卡二卡三卡四卡| 国产精品乱码一区二区三区软件| 欧美一区二区三区四区高清| 色婷婷av一区二区三区大白胸| 福利视频网站一区二区三区| 免费人成在线不卡| 亚洲v中文字幕| 亚洲精品欧美激情| 日韩美女视频一区二区| 久久久777精品电影网影网| 日韩精品在线网站| 91精品国产欧美一区二区18| 欧美三级在线播放| 色噜噜狠狠色综合中国| 99久久久免费精品国产一区二区| 国产一区二区剧情av在线| 美女视频第一区二区三区免费观看网站| 亚洲青青青在线视频| 国产精品美女久久久久久| 久久午夜色播影院免费高清| 精品少妇一区二区三区在线播放| 欧美精选在线播放| 欧美老年两性高潮| 91精品国产91综合久久蜜臀| 欧美精品久久一区二区三区| 欧美日韩一区高清| 欧美日韩dvd在线观看| 精品1区2区3区| 欧美日韩性生活| 欧美猛男男办公室激情| 欧美日韩国产免费| 3751色影院一区二区三区| 欧美精品免费视频| 欧美电影免费观看高清完整版在线| 欧美一区二区视频网站| 日韩精品一区二区三区在线播放 | 色婷婷激情久久| 91在线丨porny丨国产| 色视频一区二区| 欧美怡红院视频| 欧美人与z0zoxxxx视频| 91精品国产高清一区二区三区| 91麻豆精品91久久久久同性| 欧美va在线播放| 久久久五月婷婷| 中日韩免费视频中文字幕| 亚洲欧美日本韩国| 亚洲777理论| 久久超级碰视频| 国产电影一区二区三区| eeuss鲁一区二区三区| 在线观看亚洲a| 欧美xxxxx牲另类人与| 国产精品每日更新| 亚洲国产精品欧美一二99| 久久国产精品色| 99视频在线观看一区三区| 欧美日韩一二三区| 久久综合给合久久狠狠狠97色69| 中文字幕一区二区三| 亚洲国产视频网站| 麻豆精品在线播放| 成人h动漫精品一区二区| 欧美亚洲综合久久| 精品国产免费一区二区三区香蕉| 中文字幕av不卡| 亚洲va中文字幕| 国产精品123区| 欧美日韩一区在线观看| 国产亲近乱来精品视频| 亚洲福利一区二区三区| 国产麻豆欧美日韩一区| 欧美主播一区二区三区| 久久久久久夜精品精品免费| 亚洲精品五月天| 国产一区视频网站| 欧美日韩亚洲综合在线 | 91精品国产手机| 国产精品家庭影院| 日本不卡中文字幕| 成人18视频日本| 日韩一区二区免费电影| 亚洲免费观看视频| 国产精品乡下勾搭老头1| 91麻豆精品国产自产在线观看一区 | 国产一区中文字幕| 欧美色图片你懂的| 中文字幕精品综合| 蜜臀精品一区二区三区在线观看 | 欧美精品aⅴ在线视频| 欧美激情综合在线| 美腿丝袜亚洲色图| 欧美日韩免费电影| 中文字幕在线免费不卡| 韩国v欧美v亚洲v日本v| 欧美日韩精品电影| 亚洲免费av在线| 国产91高潮流白浆在线麻豆 | 在线亚洲人成电影网站色www| 久久先锋影音av| 麻豆91免费观看| 欧美日韩在线电影| 男女男精品视频| 欧美日韩一二三区| 一区二区三区在线观看动漫 | 日韩美女天天操| 天天操天天色综合| 色综合久久综合中文综合网| 欧美激情综合网| 国产91丝袜在线18| 久久丝袜美腿综合| 国产一区二区三区四区五区美女| 日韩午夜三级在线| 欧美aⅴ一区二区三区视频| 欧美日韩另类一区| 亚洲影院免费观看| 色94色欧美sute亚洲线路一ni| 国产精品国产三级国产aⅴ原创| 国产精品自在在线| 久久新电视剧免费观看| 国产一区二区视频在线播放| 久久综合久久综合亚洲| 韩国三级在线一区| 久久香蕉国产线看观看99| 国产一区免费电影| 国产免费成人在线视频| 粉嫩aⅴ一区二区三区四区| 久久久久久久久蜜桃| 国产精品一区在线观看你懂的| 国产亚洲精品bt天堂精选| 国产成人精品免费| 国产精品私人自拍| 一本大道久久精品懂色aⅴ| 亚洲欧美aⅴ...| 欧美体内she精视频| 日韩一区精品字幕| 精品嫩草影院久久| 国产成+人+日韩+欧美+亚洲| 国产精品美女久久久久av爽李琼| 成人毛片视频在线观看| 亚洲视频免费在线| 欧美日韩一区二区在线视频| 男女性色大片免费观看一区二区| 精品sm捆绑视频| 成人18精品视频| 亚洲丰满少妇videoshd| 欧美一区二区视频在线观看| 国产精品正在播放| 亚洲啪啪综合av一区二区三区| 在线观看免费亚洲| 看国产成人h片视频| 亚洲国产成人自拍| 欧美性猛交一区二区三区精品| 日日欢夜夜爽一区| 精品国产一区二区三区av性色| 成人免费视频视频| 一区二区三区在线不卡| 日韩欧美亚洲国产另类| 成人激情免费视频| 午夜精品福利久久久| 国产亚洲婷婷免费| 欧美中文字幕不卡| 韩国午夜理伦三级不卡影院| 亚洲人成影院在线观看| 日韩三级免费观看| 成人a级免费电影| 日韩av午夜在线观看| 久久精品在这里| 欧美视频完全免费看| 国产一区二三区| 亚洲一区二区三区视频在线| 亚洲精品一区二区精华| 色香蕉久久蜜桃| 激情欧美一区二区三区在线观看| 亚洲美女在线国产| 亚洲精品在线免费播放| 日本韩国欧美国产| 国产精华液一区二区三区| 亚洲小说欧美激情另类| 亚洲国产精品影院| 日本一区二区三区电影| 欧美剧情电影在线观看完整版免费励志电影| 国产综合色在线视频区| 亚洲一级电影视频| 国产精品久久久久久久久免费相片| 欧美一区国产二区| 日本道色综合久久| 风间由美一区二区三区在线观看 | av网站免费线看精品| 紧缚奴在线一区二区三区| 亚洲制服丝袜av| 中文字幕精品在线不卡|