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

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

?? auth.c

?? r73模塊的無線網(wǎng)卡在Linux下的驅(qū)動(dòng)程序
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/*************************************************************************** * RT2x00 SourceForge Project - http://rt2x00.serialmonkey.com             * *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * *                                                                         * *   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.             * *                                                                         * *   Licensed under the GNU GPL                                            * *   Original code supplied under license from RaLink Inc, 2004.           * ***************************************************************************//*************************************************************************** *	Module Name:	auth.c * *	Abstract: * *	Revision History: *	Who		When		What *	--------	----------	----------------------------- *	Name		Date		Modification logs *	John		2004-9-3	porting from RT2500 ***************************************************************************/#include "rt_config.h"/*    ==========================================================================    Description:        authenticate state machine init, including state transition and timer init    Parameters:        Sm - pointer to the auth state machine    Note:        The state machine looks like this                        AUTH_REQ_IDLE           AUTH_WAIT_SEQ2                   AUTH_WAIT_SEQ4    MT2_MLME_AUTH_REQ   mlme_auth_req_action    invalid_state_when_auth          invalid_state_when_auth    MT2_MLME_DEAUTH_REQ mlme_deauth_req_action  mlme_deauth_req_action           mlme_deauth_req_action    MT2_CLS2ERR         cls2err_action          cls2err_action                   cls2err_action    MT2_PEER_AUTH_EVEN  drop                    peer_auth_even_at_seq2_action    peer_auth_even_at_seq4_action    MT2_AUTH_TIMEOUT    Drop                    auth_timeout_action              auth_timeout_action    ========================================================================== */VOID AuthStateMachineInit(    IN PRTMP_ADAPTER pAd,    IN PSTATE_MACHINE Sm,    OUT STATE_MACHINE_FUNC Trans[]){    StateMachineInit(Sm, (STATE_MACHINE_FUNC*)Trans, MAX_AUTH_STATE, MAX_AUTH_MSG, (STATE_MACHINE_FUNC)Drop, AUTH_REQ_IDLE, AUTH_MACHINE_BASE);    // the first column    StateMachineSetAction(Sm, AUTH_REQ_IDLE, MT2_MLME_AUTH_REQ, (STATE_MACHINE_FUNC)MlmeAuthReqAction);    // the second column    StateMachineSetAction(Sm, AUTH_WAIT_SEQ2, MT2_MLME_AUTH_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenAuth);    StateMachineSetAction(Sm, AUTH_WAIT_SEQ2, MT2_PEER_AUTH_EVEN, (STATE_MACHINE_FUNC)PeerAuthRspAtSeq2Action);    StateMachineSetAction(Sm, AUTH_WAIT_SEQ2, MT2_AUTH_TIMEOUT, (STATE_MACHINE_FUNC)AuthTimeoutAction);    // the third column    StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_MLME_AUTH_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenAuth);    StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_PEER_AUTH_EVEN, (STATE_MACHINE_FUNC)PeerAuthRspAtSeq4Action);    StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_AUTH_TIMEOUT, (STATE_MACHINE_FUNC)AuthTimeoutAction);    // timer init    RTMPInitTimer(pAd, &pAd->MlmeAux.AuthTimer, &AuthTimeout);}/*    ==========================================================================    Description:        function to be executed at timer thread when auth timer expires    ========================================================================== */VOID AuthTimeout(    IN	unsigned long data){    RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;    DBGPRINT(RT_DEBUG_TRACE,"AUTH - AuthTimeout\n");    MlmeEnqueue(pAd, AUTH_STATE_MACHINE, MT2_AUTH_TIMEOUT, 0, NULL);    RTUSBMlmeUp(pAd);}/*    ==========================================================================    Description:    ========================================================================== */VOID MlmeAuthReqAction(    IN PRTMP_ADAPTER pAd,    IN MLME_QUEUE_ELEM *Elem){    UCHAR               Addr[MAC_ADDR_LEN];    USHORT              Alg, Seq, Status;    ULONG               Timeout;    HEADER_802_11       AuthHdr;    PUCHAR              pOutBuffer = NULL;    ULONG               FrameLen = 0;    USHORT              NStatus;    // Block all authentication request durning WPA block period    if (pAd->PortCfg.bBlockAssoc == TRUE)    {        DBGPRINT(RT_DEBUG_TRACE, "AUTH - Block Auth request durning WPA block period!\n");        pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;        Status = MLME_STATE_MACHINE_REJECT;        MlmeEnqueue(pAd, MLME_CNTL_STATE_MACHINE, MT2_AUTH_CONF, 2, &Status);    }    else if(MlmeAuthReqSanity(pAd, Elem->Msg, Elem->MsgLen, Addr, &Timeout, &Alg))    {	RTMPCancelTimer(&pAd->MlmeAux.AuthTimer);        COPY_MAC_ADDR(pAd->MlmeAux.Bssid, Addr);        pAd->MlmeAux.Alg  = Alg;        Seq = 1;        Status = MLME_SUCCESS;        // allocate and send out AuthReq frame        NStatus = MlmeAllocateMemory(pAd, (PVOID)&pOutBuffer);  //Get an unused nonpaged memory        if (NStatus != NDIS_STATUS_SUCCESS)        {            DBGPRINT(RT_DEBUG_TRACE, "AUTH - MlmeAuthReqAction() allocate memory failed\n");            pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;            Status = MLME_FAIL_NO_RESOURCE;            MlmeEnqueue(pAd, MLME_CNTL_STATE_MACHINE, MT2_AUTH_CONF, 2, &Status);	        return;        }        DBGPRINT(RT_DEBUG_TRACE, "AUTH - Send AUTH request seq#1 (Alg=%d)  %d...\n", Alg, pAd->LatchRfRegs.Channel);        MgtMacHeaderInit(pAd, &AuthHdr, SUBTYPE_AUTH, 0, Addr, pAd->MlmeAux.Bssid);        MakeOutgoingFrame(pOutBuffer,           &FrameLen,                          sizeof(HEADER_802_11),&AuthHdr,                          2,                    &Alg,                          2,                    &Seq,                          2,                    &Status,                          END_OF_ARGS);        MiniportMMRequest(pAd, pOutBuffer, FrameLen);        RTMPSetTimer(pAd, &pAd->MlmeAux.AuthTimer, AUTH_TIMEOUT);        pAd->Mlme.AuthMachine.CurrState = AUTH_WAIT_SEQ2;    }    else    {        DBGPRINT(RT_DEBUG_ERROR, "AUTH - MlmeAuthReqAction() sanity check failed. BUG!!!!!\n");        pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;        Status = MLME_INVALID_FORMAT;        MlmeEnqueue(pAd, MLME_CNTL_STATE_MACHINE, MT2_AUTH_CONF, 2, &Status);    }}/*    ==========================================================================    Description:    ========================================================================== */VOID PeerAuthRspAtSeq2Action(    IN PRTMP_ADAPTER pAd,    IN MLME_QUEUE_ELEM *Elem){    UCHAR           Addr2[MAC_ADDR_LEN];    USHORT          Seq, Status, RemoteStatus, Alg;    UCHAR           ChlgText[CIPHER_TEXT_LEN];    UCHAR           CyperChlgText[CIPHER_TEXT_LEN + 8 + 8];    UCHAR           Element[2];    HEADER_802_11   AuthHdr;    PUCHAR          pOutBuffer = NULL;    ULONG           FrameLen = 0;    USHORT          Status2;    USHORT          NStatus;    if (PeerAuthSanity(pAd, Elem->Msg, Elem->MsgLen, Addr2, &Alg, &Seq, &Status, ChlgText))    {        if (MAC_ADDR_EQUAL(&pAd->MlmeAux.Bssid, Addr2) && Seq == 2)        {            DBGPRINT(RT_DEBUG_TRACE, "AUTH - Receive AUTH_RSP seq#2 to me (Alg=%d, Status=%d)\n", Alg, Status);		    RTMPCancelTimer(&pAd->MlmeAux.AuthTimer);            if (Status == MLME_SUCCESS)            {                if (pAd->MlmeAux.Alg == Ndis802_11AuthModeOpen)                {                    pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;                    MlmeEnqueue(pAd, MLME_CNTL_STATE_MACHINE, MT2_AUTH_CONF, 2, &Status);                }                else                {                    // 2. shared key, need to be challenged                    Seq++;                    RemoteStatus = MLME_SUCCESS;                    // allocate and send out AuthRsp frame                    NStatus = MlmeAllocateMemory(pAd, (PVOID)&pOutBuffer);  //Get an unused nonpaged memory                    if (NStatus != NDIS_STATUS_SUCCESS)                    {                        DBGPRINT(RT_DEBUG_TRACE, "AUTH - PeerAuthRspAtSeq2Action() allocate memory fail\n");                        pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美tickling网站挠脚心| 91小视频在线免费看| 日韩欧美一区在线观看| 日日夜夜精品免费视频| 91精品国产乱码| 久久爱另类一区二区小说| 欧美成人高清电影在线| 国产不卡免费视频| 中文字幕一区二区三区视频| 日本精品一区二区三区四区的功能| 亚洲精品视频观看| 欧美久久久久久久久久| 麻豆一区二区三区| 亚洲国产高清aⅴ视频| 一本久久a久久免费精品不卡| 亚洲欧美激情一区二区| 欧美美女喷水视频| 国产乱码字幕精品高清av| 亚洲品质自拍视频| 欧美一区二区三区四区在线观看| 国产一区二区三区四区五区入口 | 欧美日韩三级一区| 免费看欧美美女黄的网站| 久久久精品tv| 色8久久人人97超碰香蕉987| 久久99精品久久久久久动态图| 久久久久久97三级| 欧美日韩视频在线一区二区| 国产专区综合网| 亚洲久草在线视频| www日韩大片| 欧洲亚洲精品在线| 国产精品99久久久久久有的能看| 亚洲视频免费看| 欧美videos中文字幕| 色综合夜色一区| 国模无码大尺度一区二区三区| 亚洲女人的天堂| 久久青草国产手机看片福利盒子| 一本大道av伊人久久综合| 激情综合五月婷婷| 亚洲成av人片观看| 中文字幕制服丝袜一区二区三区| 91精品国产一区二区三区| 91美女片黄在线| 国产乱码精品一区二区三区av| 亚洲国产一区二区在线播放| 亚洲一区二区三区四区的| 精品国产免费久久| 欧美日韩二区三区| 97成人超碰视| 国产99精品在线观看| 免费观看在线综合| 亚洲国产精品久久一线不卡| 中文字幕一区免费在线观看| 久久久久久免费| 在线不卡中文字幕播放| 91极品视觉盛宴| 99久久综合色| 成人黄色a**站在线观看| 国产精品中文字幕一区二区三区| 日韩av在线播放中文字幕| 亚洲综合视频在线| 国产精品理论片| 久久这里只有精品6| 日韩精品一区在线| 666欧美在线视频| 欧美高清视频一二三区| 色婷婷狠狠综合| av一二三不卡影片| 99久久99久久综合| 丁香亚洲综合激情啪啪综合| 国产毛片精品视频| 韩国av一区二区三区在线观看| 喷白浆一区二区| 日本美女一区二区三区视频| 天堂一区二区在线| 日韩高清在线一区| 蜜臀久久久99精品久久久久久| 日韩电影在线观看电影| 日本成人超碰在线观看| 喷白浆一区二区| 激情成人午夜视频| 国产一区二区精品在线观看| 国产精品综合在线视频| 国产成人啪免费观看软件| 高清不卡在线观看| 99久久婷婷国产综合精品电影 | 日韩国产高清影视| 免费观看一级特黄欧美大片| 男人的j进女人的j一区| 九色综合国产一区二区三区| 国产一区二区在线电影| 成人h动漫精品一区二区| 91美女片黄在线观看91美女| 欧美日韩一区 二区 三区 久久精品| 欧美三级电影在线观看| 3d成人h动漫网站入口| 亚洲精品在线三区| 亚洲国产精品av| 亚洲午夜久久久久久久久电影院| 亚洲超丰满肉感bbw| 麻豆91免费观看| 成人在线视频首页| 在线亚洲+欧美+日本专区| 欧美日韩国产大片| 国产亚洲综合在线| 亚洲蜜桃精久久久久久久| 日本午夜精品一区二区三区电影| 韩国精品一区二区| 色乱码一区二区三区88| 欧美一区二区三区喷汁尤物| 欧美激情综合网| 亚洲v精品v日韩v欧美v专区 | 国产在线不卡一卡二卡三卡四卡| jvid福利写真一区二区三区| 欧美日韩一区二区欧美激情 | 国产成人无遮挡在线视频| 91国产丝袜在线播放| 欧美成人猛片aaaaaaa| 亚洲人亚洲人成电影网站色| 蜜桃一区二区三区在线| 91麻豆.com| 久久久综合精品| 亚洲国产精品尤物yw在线观看| 极品美女销魂一区二区三区 | 欧美国产精品一区| 亚洲午夜在线电影| 国产成人精品亚洲午夜麻豆| 欧美日韩国产精品自在自线| 国产女同互慰高潮91漫画| 午夜精品久久久久久久久| 成人综合婷婷国产精品久久免费| 欧美日韩免费不卡视频一区二区三区 | 欧美无砖砖区免费| 久久久国际精品| 亚洲成a人v欧美综合天堂| 成人手机电影网| 精品日韩99亚洲| 亚洲v精品v日韩v欧美v专区| 99国产精品视频免费观看| 精品国产不卡一区二区三区| 午夜精品久久久久久久久久久 | 亚洲精品久久7777| 国产精品一区二区不卡| 日韩一级黄色片| 亚洲国产综合色| 91在线播放网址| 欧美国产1区2区| 国产精品伊人色| 亚洲精品一区二区三区影院| 午夜亚洲国产au精品一区二区| av不卡一区二区三区| 国产夜色精品一区二区av| 精品综合免费视频观看| 日韩女优制服丝袜电影| 视频一区二区中文字幕| 欧美日韩国产小视频| 夜夜爽夜夜爽精品视频| 99久久婷婷国产综合精品| 国产精品萝li| av午夜一区麻豆| 国产精品国产三级国产aⅴ中文 | 亚洲色图都市小说| 成人黄色av网站在线| 国产精品久久久久久久久免费丝袜 | 精品久久久影院| 麻豆91在线播放免费| 日韩精品综合一本久道在线视频| 日韩电影免费在线| 欧美一区二区大片| 青青草97国产精品免费观看 | 91免费版pro下载短视频| 亚洲欧美一区二区视频| 99精品国产视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产91丝袜在线播放九色| 欧美高清在线精品一区| 91一区二区三区在线播放| 一区二区三区四区视频精品免费| 色一区在线观看| 亚洲电影一区二区| 在线播放一区二区三区| 免费成人在线视频观看| 日韩免费一区二区三区在线播放| 激情久久久久久久久久久久久久久久| 欧美成人午夜电影| 从欧美一区二区三区| 一区二区三区在线免费播放| 正在播放亚洲一区| 国产精品99久久久久久久vr| 亚洲欧洲日韩在线| 欧美日韩一级片在线观看| 麻豆精品精品国产自在97香蕉| 久久伊99综合婷婷久久伊| 91论坛在线播放| 青椒成人免费视频| 国产精品麻豆一区二区 | 99国产精品久| 亚洲高清免费观看 |