Add reference of IEEE802.11 message type

This commit is contained in:
vemax78 2013-10-20 17:33:57 +02:00
parent f0e7a37cca
commit 059f6d9dc9
4 changed files with 23 additions and 2 deletions

View File

@ -158,6 +158,12 @@ int ac_dfa_state_run(struct ac_session_t* session, struct capwap_parsed_packet*
capwap_set_timeout(AC_MAX_ECHO_INTERVAL, &session->timeout, CAPWAP_TIMER_CONTROL_CONNECTION);
break;
}
case CAPWAP_IEEE80211_WLAN_CONFIGURATION_RESPONSE: {
/* TODO */
capwap_set_timeout(AC_MAX_ECHO_INTERVAL, &session->timeout, CAPWAP_TIMER_CONTROL_CONNECTION);
break;
}
}
}
} else {

View File

@ -164,13 +164,16 @@ int capwap_check_message_type(struct capwap_packet_rxmng* rxmngpacket) {
if (rxmngpacket->isctrlpacket && rxmngpacket->fragmentlist->first) {
struct capwap_fragment_packet_item* packet = (struct capwap_fragment_packet_item*)rxmngpacket->fragmentlist->first->item;
struct capwap_header* header = (struct capwap_header*)packet->buffer;
unsigned short binding = GET_WBID_HEADER(rxmngpacket->header);
lengthpayload = packet->offset - GET_HLEN_HEADER(header) * 4;
if (lengthpayload >= sizeof(struct capwap_control_message)) {
if ((rxmngpacket->ctrlmsg.type >= CAPWAP_FIRST_MESSAGE_TYPE) && (rxmngpacket->ctrlmsg.type <= CAPWAP_LAST_MESSAGE_TYPE)) {
if (CAPWAP_VALID_MESSAGE_TYPE(rxmngpacket->ctrlmsg.type)) {
return VALID_MESSAGE_TYPE;
} else if ((binding == CAPWAP_WIRELESS_BINDING_IEEE80211) && CAPWAP_VALID_IEEE80211_MESSAGE_TYPE(rxmngpacket->ctrlmsg.type)) {
return VALID_MESSAGE_TYPE;
}
/* Unknown message type */
if ((rxmngpacket->ctrlmsg.type % 2) != 0) {
return INVALID_REQUEST_MESSAGE_TYPE;

View File

@ -116,6 +116,13 @@ struct capwap_message_element {
#define CAPWAP_STATION_CONFIGURATION_REQUEST 25
#define CAPWAP_STATION_CONFIGURATION_RESPONSE 26
#define CAPWAP_LAST_MESSAGE_TYPE 26
#define CAPWAP_VALID_MESSAGE_TYPE(x) (((x) >= CAPWAP_FIRST_MESSAGE_TYPE) && ((x) <= CAPWAP_LAST_MESSAGE_TYPE))
#define CAPWAP_IEEE80211_FIRST_MESSAGE_TYPE 3398913
#define CAPWAP_IEEE80211_WLAN_CONFIGURATION_REQUEST 3398913
#define CAPWAP_IEEE80211_WLAN_CONFIGURATION_RESPONSE 3398914
#define CAPWAP_IEEE80211_LAST_MESSAGE_TYPE 3398914
#define CAPWAP_VALID_IEEE80211_MESSAGE_TYPE(x) (((x) >= CAPWAP_IEEE80211_FIRST_MESSAGE_TYPE) && ((x) <= CAPWAP_IEEE80211_LAST_MESSAGE_TYPE))
/* Control Message */
#define CAPWAP_CONTROL_MESSAGE_MIN_LENGTH 3

View File

@ -158,6 +158,11 @@ int wtp_dfa_state_run(struct capwap_parsed_packet* packet, struct timeout_contro
status = WTP_DFA_NO_PACKET;
break;
}
case CAPWAP_IEEE80211_WLAN_CONFIGURATION_REQUEST: {
/* TODO */
break;
}
}
}
} else {