5a1cc30f1a
A new hostapd_cli command, wps_ap_pin, can now be used to manage AP PIN at runtime. This can be used to generate a random AP PIN and to only enable the AP PIN for short period (e.g., based on user action on the AP device). Use of random AP PIN that is only enabled for short duration is highly recommended to avoid security issues with a static AP PIN.
51 lines
1.4 KiB
C
51 lines
1.4 KiB
C
/*
|
|
* UPnP WPS Device
|
|
* Copyright (c) 2000-2003 Intel Corporation
|
|
* Copyright (c) 2006-2007 Sony Corporation
|
|
* Copyright (c) 2008-2009 Atheros Communications
|
|
* Copyright (c) 2009, Jouni Malinen <j@w1.fi>
|
|
*
|
|
* See wps_upnp.c for more details on licensing and code history.
|
|
*/
|
|
|
|
#ifndef WPS_UPNP_H
|
|
#define WPS_UPNP_H
|
|
|
|
struct upnp_wps_device_sm;
|
|
struct wps_context;
|
|
struct wps_data;
|
|
|
|
struct upnp_wps_peer {
|
|
struct wps_data *wps;
|
|
};
|
|
|
|
enum upnp_wps_wlanevent_type {
|
|
UPNP_WPS_WLANEVENT_TYPE_PROBE = 1,
|
|
UPNP_WPS_WLANEVENT_TYPE_EAP = 2
|
|
};
|
|
|
|
struct upnp_wps_device_ctx {
|
|
int (*rx_req_put_wlan_response)(
|
|
void *priv, enum upnp_wps_wlanevent_type ev_type,
|
|
const u8 *mac_addr, const struct wpabuf *msg,
|
|
enum wps_msg_type msg_type);
|
|
|
|
char *ap_pin;
|
|
};
|
|
|
|
struct upnp_wps_device_sm *
|
|
upnp_wps_device_init(struct upnp_wps_device_ctx *ctx, struct wps_context *wps,
|
|
void *priv);
|
|
void upnp_wps_device_deinit(struct upnp_wps_device_sm *sm);
|
|
|
|
int upnp_wps_device_start(struct upnp_wps_device_sm *sm, char *net_if);
|
|
void upnp_wps_device_stop(struct upnp_wps_device_sm *sm);
|
|
|
|
int upnp_wps_device_send_wlan_event(struct upnp_wps_device_sm *sm,
|
|
const u8 from_mac_addr[ETH_ALEN],
|
|
enum upnp_wps_wlanevent_type ev_type,
|
|
const struct wpabuf *msg);
|
|
int upnp_wps_subscribers(struct upnp_wps_device_sm *sm);
|
|
int upnp_wps_set_ap_pin(struct upnp_wps_device_sm *sm, const char *ap_pin);
|
|
|
|
#endif /* WPS_UPNP_H */
|