mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-12-01 11:48:23 -05:00
c5a64e2d51
When GAS is used with PMF negotiated, Protected Dual of Public Action frames are expected to be used instead of Public Action frames, i.e., the GAS/ANQP frames are expected to be encrypted. Conver Public Action GAS queries to use Dual of Public Action frame if PMF has been negotiated with the AP to which the frame is being sent. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
60 lines
1.4 KiB
C
60 lines
1.4 KiB
C
/*
|
|
* Generic advertisement service (GAS) query
|
|
* Copyright (c) 2009, Atheros Communications
|
|
* Copyright (c) 2011, Qualcomm Atheros
|
|
*
|
|
* This software may be distributed under the terms of the BSD license.
|
|
* See README for more details.
|
|
*/
|
|
|
|
#ifndef GAS_QUERY_H
|
|
#define GAS_QUERY_H
|
|
|
|
struct gas_query;
|
|
|
|
#ifdef CONFIG_GAS
|
|
|
|
struct gas_query * gas_query_init(struct wpa_supplicant *wpa_s);
|
|
void gas_query_deinit(struct gas_query *gas);
|
|
int gas_query_rx(struct gas_query *gas, const u8 *da, const u8 *sa,
|
|
const u8 *bssid, u8 categ, const u8 *data, size_t len,
|
|
int freq);
|
|
|
|
/**
|
|
* enum gas_query_result - GAS query result
|
|
*/
|
|
enum gas_query_result {
|
|
GAS_QUERY_SUCCESS,
|
|
GAS_QUERY_FAILURE,
|
|
GAS_QUERY_TIMEOUT,
|
|
GAS_QUERY_PEER_ERROR,
|
|
GAS_QUERY_INTERNAL_ERROR,
|
|
GAS_QUERY_CANCELLED,
|
|
GAS_QUERY_DELETED_AT_DEINIT
|
|
};
|
|
|
|
int gas_query_req(struct gas_query *gas, const u8 *dst, int freq,
|
|
struct wpabuf *req,
|
|
void (*cb)(void *ctx, const u8 *dst, u8 dialog_token,
|
|
enum gas_query_result result,
|
|
const struct wpabuf *adv_proto,
|
|
const struct wpabuf *resp, u16 status_code),
|
|
void *ctx);
|
|
void gas_query_cancel(struct gas_query *gas, const u8 *dst, u8 dialog_token);
|
|
|
|
#else /* CONFIG_GAS */
|
|
|
|
static inline struct gas_query * gas_query_init(struct wpa_supplicant *wpa_s)
|
|
{
|
|
return (void *) 1;
|
|
}
|
|
|
|
static inline void gas_query_deinit(struct gas_query *gas)
|
|
{
|
|
}
|
|
|
|
#endif /* CONFIG_GAS */
|
|
|
|
|
|
#endif /* GAS_QUERY_H */
|