static BOOLEAN D_CheckConnectionReq( PRTMP_ADAPTER pAd, PUCHAR pSrcAddr, UINT8 FrameType, PCHAR Rssi) { PBND_STRG_CLI_TABLE table = P_BND_STRG_TABLE; BNDSTRG_MSG msg; UINT32 frame_type_to_frame_check_flags[] = { \ fBND_STRG_FRM_CHK_PRB_REQ, 0, fBND_STRG_FRM_CHK_ASS_REQ, fBND_STRG_FRM_CHK_ATH_REQ}; UINT32 frame_check_flags = 0; /* Send to daemon */ NdisCopyMemory(msg.Rssi, Rssi, 3); msg.Action= CONNECTION_REQ; msg.Band = table->Band; msg.FrameType = FrameType; COPY_MAC_ADDR(msg.Addr, pSrcAddr); D_BndStrgSendMsg(pAd, &msg); if (FrameType < (sizeof(frame_type_to_frame_check_flags)/sizeof(UINT32))) frame_check_flags = frame_type_to_frame_check_flags[FrameType]; else {/* invalid frame type */} if (table->bEnabled == TRUE && frame_check_flags & table->AlgCtrl.FrameCheck) { PBND_STRG_CLI_ENTRY entry = NULL; if (table->Ops) entry = table->Ops->TableLookup(table, pSrcAddr); if (entry/* || table->Band == BAND_5G*/) return TRUE; else { #ifdef BND_STRG_QA BND_STRG_PRINTQAMSG(table, pSrcAddr, (RED("%s: check %s request failed. client's (%02x:%02x:%02x:%02x:%02x:%02x)" " request is ignored. \n"), (table->Band == BAND_24G ? "2.4G" : "5G"), FrameType == 0 ? ("probe") : (FrameType == 3 ? "auth" : "unknow"), PRINT_MAC(pSrcAddr))); #endif return FALSE; } } return TRUE; }
static INT D_CheckConnectionReq( PRTMP_ADAPTER pAd, PUCHAR pSrcAddr, UINT8 FrameType, PCHAR Rssi, BOOLEAN *bAuthCheck) { PBND_STRG_CLI_TABLE table = P_BND_STRG_TABLE; BNDSTRG_MSG msg; /* Send to daemon */ NdisCopyMemory(msg.Rssi, Rssi, 3); msg.Action= CONNECTION_REQ; msg.Band = table->Band; msg.FrameType = FrameType; msg.bAuthCheck = bAuthCheck ? 1:0; COPY_MAC_ADDR(msg.Addr, pSrcAddr); D_BndStrgSendMsg(pAd, &msg); if (bAuthCheck) { PBND_STRG_CLI_TABLE table = P_BND_STRG_TABLE; PBND_STRG_CLI_ENTRY entry = NULL; if (table->Ops) entry = table->Ops->TableLookup(table, pSrcAddr); if (entry || table->Band == BAND_5G) *bAuthCheck = TRUE; #ifdef BND_STRG_QA else { *bAuthCheck = FALSE; BND_STRG_PRINTQAMSG(table, pSrcAddr, (RED("check 2.4G connection failed. client (%02x:%02x:%02x:%02x:%02x:%02x)" " is not allowed to connect 2.4G.\n"), PRINT_MAC(pSrcAddr))); } #endif } return TRUE; }