summaryrefslogtreecommitdiff
path: root/network/wlan/WDI/COMMON/P2P_Receive.c
diff options
context:
space:
mode:
authorkarlf <[email protected]>2016-08-11 13:28:13 -0700
committerkarlf <[email protected]>2016-08-11 13:28:13 -0700
commit96eb96dfb613e4c745db6bd1f53a92fe7e2290fc (patch)
treead5f3ede5cbcd6b598677ce41bcf8318471bdd92 /network/wlan/WDI/COMMON/P2P_Receive.c
parent687b274aa38fd05c8c26e3068932121876d7f745 (diff)
Updated for "Windows 10 Anniversary Update" (Version 1607)
Diffstat (limited to 'network/wlan/WDI/COMMON/P2P_Receive.c')
-rw-r--r--network/wlan/WDI/COMMON/P2P_Receive.c744
1 files changed, 0 insertions, 744 deletions
diff --git a/network/wlan/WDI/COMMON/P2P_Receive.c b/network/wlan/WDI/COMMON/P2P_Receive.c
deleted file mode 100644
index 858e8231..00000000
--- a/network/wlan/WDI/COMMON/P2P_Receive.c
+++ /dev/null
@@ -1,744 +0,0 @@
-#include "Mp_Precomp.h"
-
-#if WPP_SOFTWARE_TRACE
-#include "P2P_Receive.tmh"
-#endif
-
-#include "P2P_Internal.h"
-
-#if (P2P_SUPPORT == 1)
-
-//-----------------------------------------------------------------------------
-// Local
-//-----------------------------------------------------------------------------
-
-
-//-----------------------------------------------------------------------------
-// Exported
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// Exported: public
-//-----------------------------------------------------------------------------
-
-BOOLEAN
-p2p_validate_Beacon(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!FrameBuf_Length(&msg->p2pAttributes))
- {
- break;
- }
-
- if(!msg->_devId)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dev id attr\n"));
- break;
- }
-
- if(!msg->_capability)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no capability attr\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_ProbeReq(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!FrameBuf_Length(&msg->p2pAttributes))
- {
- break;
- }
-
- if(!msg->_capability)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no capability attr\n"));
- break;
- }
-
- if(!msg->_opChannel && TEST_FLAG(msg->grpCap, P2P_GROUP_CAP_GROUP_OWNER))
- {
- // PF #2, some vender don't send ProbeReq with op channel
- // do not filter
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_ProbeRsp(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!FrameBuf_Length(&msg->p2pAttributes))
- {
- break;
- }
-
- if(!msg->_capability)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no capability attr\n"));
- break;
- }
-
- if(!msg->_devInfo)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dev info attr\n"));
- break;
- }
-
- if(!msg->_dsParam) // from P2P_OnProbersp
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no ds param ie\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_AssocReq(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_capability)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no capability attr\n"));
- break;
- }
-
- if(!msg->_devInfo)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dev info attr\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_AssocRsp(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- /*if(!msg->_status)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no status attr\n"));
- break;
- }*/
-
- /*if(!msg->_capability)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no capability attr\n"));
- break;
- }*/
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_Deauth(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- /*if(!msg->_minorReasonCode)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no minor reason code attr\n"));
- break;
- }*/
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_GoNegReq(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_dialogToken)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dialog token\n"));
- break;
- }
-
- if(!msg->_capability)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no capability attr\n"));
- break;
- }
-
- if(!msg->_goIntent)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no go intent attr\n"));
- break;
- }
-
- if(!msg->_configTimeout)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no config timeout attr\n"));
- break;
- }
-
- if(!msg->_listenChannel)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no listen channel attr\n"));
- break;
- }
-
- if(!msg->_intendedIntfAddr)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no intended interface address attr\n"));
- break;
- }
-
- if(!msg->_channelList)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no channel list attr\n"));
- break;
- }
-
- if(!msg->_devInfo)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dev info attr\n"));
- break;
- }
-
- if(!msg->_opChannel)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no op channel attr\n"));
- break;
- }
-
- if(!msg->_wpsDevPasswordId)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no WPS device password id attr\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_GoNegRsp(
- IN const P2P_INFO *info,
- IN P2P_MESSAGE *msg
- )
-{
- int go = 0;
-
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_dialogToken)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dialog token\n"));
- break;
- }
-
- if(!msg->_status)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no status attr\n"));
- break;
- }
-
- if(!msg->_capability)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no capability attr\n"));
- break;
- }
-
- if(!msg->_goIntent)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no go intent attr\n"));
- break;
- }
-
- go = p2p_go_det(info->GOIntent, msg->goIntent);
-
- if(!msg->_intendedIntfAddr)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no intended interface address attr\n"));
- break;
- }
-
- if(!msg->_channelList)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no channel list attr\n"));
- break;
- }
-
- if(!msg->_devInfo)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dev info attr\n"));
- break;
- }
-
- if(!msg->_grpId && !go)
- {// peer is GO and no group id
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no group id attr, self intent: %u, peer intent: %u\n", info->GOIntent, msg->goIntent));
- break;
- }
-
- if(!msg->_opChannel && !go)
- {// peer is GO and no op channel
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no op channel attr, self intent: %u, peer intent: %u\n", info->GOIntent, msg->goIntent));
- break;
- }
-
- if(P2P_SC_SUCCESS == msg->status && !msg->_wpsDevPasswordId)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("status is success but no WPS device password id attr\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_GoNegConfirm(
- IN BOOLEAN go,
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_dialogToken)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dialog token\n"));
- break;
- }
-
- if(!msg->_status)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no status attr\n"));
- break;
- }
-
- if(!msg->_capability)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no capability attr\n"));
- break;
- }
-
- if(!msg->_channelList)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no channel list attr\n"));
- break;
- }
-
- if(!msg->_grpId && !go)
- {// peer is GO and no group id
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no group id attr when peer will be go\n"));
- break;
- }
-
- if(!msg->_opChannel)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no op channel attr\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_InvitationReq(
- IN P2P_MESSAGE *msg
- )
-{
- P2P_ROLE invitorRole;
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_dialogToken)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dialog token\n"));
- break;
- }
-
- if(!msg->_configTimeout)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no config timeout attr\n"));
- break;
- }
-
- if(!msg->_grpId)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no group id attr\n"));
- break;
- }
-
- invitorRole = (eqMacAddr(msg->grpDevAddr, msg->sa)) ? (P2P_GO) : (P2P_CLIENT);
-
- if(!msg->_grpBssid && P2P_GO == invitorRole)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no group bssid attr\n"));
- break;
- }
-
- if(!msg->_channelList)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no channel list attr\n"));
- break;
- }
-
- if(!msg->_devInfo)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dev info attr\n"));
- break;
- }
-
- if(!msg->_grpId)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no group id attr\n"));
- break;
- }
-
- if(!msg->_opChannel && P2P_GO == invitorRole)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no op channel attr when invitor role is GO\n"));
- break;
- }
-
- if(!msg->_invitationFlags)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no invitation flags attr\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_InvitationRsp(
- IN P2P_ROLE invitorRole,
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_dialogToken)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dialog token\n"));
- break;
- }
-
- if(!msg->_status)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no status attr\n"));
- break;
- }
-
- if(!msg->_channelList)
- {
- // Although the channel list attribute is mandatory for the successful case of
- // invitation response, actually the information is not important because the
- // pairing devices can go to next association by the OP channel attribute.
- // Then, we defined it as optional and this would fix the invitation failure
- // with Netgear PTV3000 (FW:2.4.12 or later) under Win8.
- // By Bruce, 2013-09-03.
- }
-
- if(!msg->_opChannel && P2P_CLIENT == invitorRole && 0 == msg->status)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no op channel attr when invitor role is GO\n"));
- break;
- }
-
- if(!msg->_grpBssid && P2P_CLIENT == invitorRole && 0 == msg->status)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no group bssid attr when invitor role is GO\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_DevDiscReq(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_dialogToken)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dialog token\n"));
- break;
- }
-
- if(!msg->_devId)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no device id attr\n"));
- break;
- }
-
- if(!msg->_grpId)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no group id attr\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_DevDiscRsp(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_dialogToken)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dialog token\n"));
- break;
- }
-
- if(!msg->_status)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no status attr\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_PDReq(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_dialogToken)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dialog token\n"));
- break;
- }
-
- if(!msg->_capability)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no capability attr\n"));
- break;
- }
-
- if(!msg->_devInfo)
- {
- //RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dev info attr\n"));
- //break;
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dev info attr, use sa as devAddr\n"));
- msg->devAddr = msg->sa;
- }
-
- if(!msg->_wpsConfigMethods)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no WPS config method attr\n"));
- break;
- }
-
- // TODO: if this is a PD req to join our GO, group id is mandatory
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_PDRsp(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_dialogToken)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dialog token\n"));
- break;
- }
-
- if(!msg->_wpsConfigMethods)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no WPS config method attr\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_PresenceReq(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_dialogToken)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dialog token\n"));
- break;
- }
-
- if(!msg->_noa)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no noa attr\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_PresenceRsp(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_dialogToken)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dialog token\n"));
- break;
- }
-
- if(!msg->_status)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no status attr\n"));
- break;
- }
-
- if(!msg->_noa)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no noa attr\n"));
- break;
- }
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-BOOLEAN
-p2p_validate_GoDiscoverabilityReq(
- IN P2P_MESSAGE *msg
- )
-{
- BOOLEAN bValid = FALSE;
-
- do
- {
- if(!msg->_dialogToken)
- {
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("no dialog token\n"));
- break;
- }
-
- // Thter is no Elements field in a GO Discoverability Request frame
-
-
- bValid = TRUE;
- }while(FALSE);
-
- return bValid;
-}
-
-#endif