reindent ieee80211_retrieve_information_elements_position

This commit is contained in:
Andreas Schultz 2016-03-03 15:16:25 +01:00
parent d68bc01d00
commit 4d56938321
2 changed files with 70 additions and 90 deletions

View File

@ -114,110 +114,90 @@ int ieee80211_retrieve_information_elements_position(struct ieee80211_ie_items*
/* Parsing */ /* Parsing */
while (length >= 2) { while (length >= 2) {
uint8_t ie_id = data[0]; struct ieee80211_ie *ie = (struct ieee80211_ie *)data;
uint8_t ie_len = data[1];
/* Parsing Information Element */ /* Parsing Information Element */
switch (ie_id) { switch (ie->id) {
case IEEE80211_IE_SSID: { case IEEE80211_IE_SSID:
if (ie_len > IEEE80211_IE_SSID_MAX_LENGTH) { if (ie->len > IEEE80211_IE_SSID_MAX_LENGTH)
return -1; return -1;
}
items->ssid = (struct ieee80211_ie_ssid *)data; items->ssid = (struct ieee80211_ie_ssid *)data;
break; break;
}
case IEEE80211_IE_SUPPORTED_RATES: { case IEEE80211_IE_SUPPORTED_RATES:
if ((ie_len < IEEE80211_IE_SUPPORTED_RATES_MIN_LENGTH) || (ie_len > IEEE80211_IE_SUPPORTED_RATES_MAX_LENGTH)) { if ((ie->len < IEEE80211_IE_SUPPORTED_RATES_MIN_LENGTH) ||
(ie->len > IEEE80211_IE_SUPPORTED_RATES_MAX_LENGTH))
return -1; return -1;
}
items->supported_rates = (struct ieee80211_ie_supported_rates *)data; items->supported_rates = (struct ieee80211_ie_supported_rates *)data;
break; break;
}
case IEEE80211_IE_DSSS: { case IEEE80211_IE_DSSS:
if (ie_len != IEEE80211_IE_DSSS_LENGTH) { if (ie->len != IEEE80211_IE_DSSS_LENGTH)
return -1; return -1;
}
items->dsss = (struct ieee80211_ie_dsss *)data; items->dsss = (struct ieee80211_ie_dsss *)data;
break; break;
}
case IEEE80211_IE_COUNTRY: { case IEEE80211_IE_COUNTRY:
if (ie_len < IEEE80211_IE_COUNTRY_MIN_LENGTH) { if (ie->len < IEEE80211_IE_COUNTRY_MIN_LENGTH)
return -1; return -1;
}
items->country = (struct ieee80211_ie_country *)data; items->country = (struct ieee80211_ie_country *)data;
break; break;
}
case IEEE80211_IE_CHALLENGE_TEXT: { case IEEE80211_IE_CHALLENGE_TEXT:
if (ie_len < IEEE80211_IE_CHALLENGE_TEXT_MIN_LENGTH) { if (ie->len < IEEE80211_IE_CHALLENGE_TEXT_MIN_LENGTH)
return -1; return -1;
}
items->challenge_text = (struct ieee80211_ie_challenge_text *)data; items->challenge_text = (struct ieee80211_ie_challenge_text *)data;
break; break;
}
case IEEE80211_IE_ERP: { case IEEE80211_IE_ERP:
if (ie_len != IEEE80211_IE_ERP_LENGTH) { if (ie->len != IEEE80211_IE_ERP_LENGTH)
return -1; return -1;
}
items->erp = (struct ieee80211_ie_erp *)data; items->erp = (struct ieee80211_ie_erp *)data;
break; break;
}
case IEEE80211_IE_EXTENDED_SUPPORTED_RATES: { case IEEE80211_IE_EXTENDED_SUPPORTED_RATES:
if (ie_len < IEEE80211_IE_EXTENDED_SUPPORTED_MIN_LENGTH) { if (ie->len < IEEE80211_IE_EXTENDED_SUPPORTED_MIN_LENGTH)
return -1; return -1;
}
items->extended_supported_rates = (struct ieee80211_ie_extended_supported_rates*)data; items->extended_supported_rates =
(struct ieee80211_ie_extended_supported_rates *)data;
break; break;
}
case IEEE80211_IE_EDCA_PARAMETER_SET: { case IEEE80211_IE_EDCA_PARAMETER_SET:
if (ie_len != IEEE80211_IE_EDCA_PARAMETER_SET_LENGTH) { if (ie->len != IEEE80211_IE_EDCA_PARAMETER_SET_LENGTH)
return -1; return -1;
}
items->edca_parameter_set = (struct ieee80211_ie_edca_parameter_set *)data; items->edca_parameter_set = (struct ieee80211_ie_edca_parameter_set *)data;
break; break;
}
case IEEE80211_IE_QOS_CAPABILITY: { case IEEE80211_IE_QOS_CAPABILITY:
if (ie_len != IEEE80211_IE_QOS_CAPABILITY_LENGTH) { if (ie->len != IEEE80211_IE_QOS_CAPABILITY_LENGTH)
return -1; return -1;
}
items->qos_capability = (struct ieee80211_ie_qos_capability *)data; items->qos_capability = (struct ieee80211_ie_qos_capability *)data;
break; break;
}
case IEEE80211_IE_POWER_CONSTRAINT: { case IEEE80211_IE_POWER_CONSTRAINT:
if (ie_len != IEEE80211_IE_POWER_CONSTRAINT_LENGTH) { if (ie->len != IEEE80211_IE_POWER_CONSTRAINT_LENGTH)
return -1; return -1;
}
items->power_constraint = (struct ieee80211_ie_power_constraint *)data; items->power_constraint = (struct ieee80211_ie_power_constraint *)data;
break; break;
}
case IEEE80211_IE_SSID_LIST: { case IEEE80211_IE_SSID_LIST:
items->ssid_list = (struct ieee80211_ie_ssid_list *)data; items->ssid_list = (struct ieee80211_ie_ssid_list *)data;
break; break;
} }
}
/* Next Information Element */ /* Next Information Element */
data += sizeof(struct ieee80211_ie) + ie_len; data += sizeof(struct ieee80211_ie) + ie->len;
length -= sizeof(struct ieee80211_ie) + ie_len; length -= sizeof(struct ieee80211_ie) + ie->len;
} }
return (!length ? 0 : -1); return (!length ? 0 : -1);