Classes | Defines | Functions
wps_registrar.c File Reference
#include "utils/includes.h"
#include "utils/common.h"
#include "utils/base64.h"
#include "utils/eloop.h"
#include "utils/uuid.h"
#include "utils/list.h"
#include "crypto/crypto.h"
#include "crypto/sha256.h"
#include "common/ieee802_11_defs.h"
#include "wps_i.h"
#include "wps_dev_attr.h"
#include "wps_upnp.h"
#include "wps_upnp_i.h"
Include dependency graph for wps_registrar.c:

Go to the source code of this file.

Classes

struct  wps_pbc_session
struct  wps_registrar
struct  wps_registrar_device
struct  wps_uuid_pin

Defines

#define PIN_EXPIRES   BIT(1)
#define PIN_LOCKED   BIT(0)
#define WPS_STRDUP(n)
#define WPS_WORKAROUNDS

Functions

static int wps_build_ap_settings (struct wps_data *wps, struct wpabuf *msg)
static int wps_build_ap_setup_locked (struct wps_context *wps, struct wpabuf *msg)
static int wps_build_config_methods_r (struct wps_registrar *reg, struct wpabuf *msg)
int wps_build_cred (struct wps_data *wps, struct wpabuf *msg)
static int wps_build_cred_auth_type (struct wpabuf *msg, const struct wps_credential *cred)
static int wps_build_cred_encr_type (struct wpabuf *msg, const struct wps_credential *cred)
static int wps_build_cred_mac_addr (struct wpabuf *msg, const struct wps_credential *cred)
static int wps_build_cred_network_idx (struct wpabuf *msg, const struct wps_credential *cred)
static int wps_build_cred_network_key (struct wpabuf *msg, const struct wps_credential *cred)
static int wps_build_cred_ssid (struct wpabuf *msg, const struct wps_credential *cred)
static int wps_build_credential (struct wpabuf *msg, const struct wps_credential *cred)
static struct wpabufwps_build_m2 (struct wps_data *wps)
static struct wpabufwps_build_m2d (struct wps_data *wps)
static struct wpabufwps_build_m4 (struct wps_data *wps)
static struct wpabufwps_build_m6 (struct wps_data *wps)
static struct wpabufwps_build_m8 (struct wps_data *wps)
static int wps_build_probe_config_methods (struct wps_registrar *reg, struct wpabuf *msg)
static int wps_build_r_hash (struct wps_data *wps, struct wpabuf *msg)
static int wps_build_r_snonce1 (struct wps_data *wps, struct wpabuf *msg)
static int wps_build_r_snonce2 (struct wps_data *wps, struct wpabuf *msg)
static int wps_build_resp_type (struct wps_registrar *reg, struct wpabuf *msg)
static int wps_build_sel_reg_config_methods (struct wps_registrar *reg, struct wpabuf *msg)
static int wps_build_sel_reg_dev_password_id (struct wps_registrar *reg, struct wpabuf *msg)
static int wps_build_selected_registrar (struct wps_registrar *reg, struct wpabuf *msg)
static int wps_build_uuid_r (struct wps_data *wps, struct wpabuf *msg)
static int wps_build_wps_state (struct wps_context *wps, struct wpabuf *msg)
static struct wpabufwps_build_wsc_ack (struct wps_data *wps)
static struct wpabufwps_build_wsc_nack (struct wps_data *wps)
static int wps_cb_new_psk (struct wps_registrar *reg, const u8 *mac_addr, const u8 *psk, size_t psk_len)
static void wps_cb_pin_needed (struct wps_registrar *reg, const u8 *uuid_e, const struct wps_device_data *dev)
static void wps_cb_reg_success (struct wps_registrar *reg, const u8 *mac_addr, const u8 *uuid_e)
static int wps_cb_set_ie (struct wps_registrar *reg, struct wpabuf *beacon_ie, struct wpabuf *probe_resp_ie)
static void wps_cb_set_sel_reg (struct wps_registrar *reg)
static void wps_cred_update (struct wps_credential *dst, struct wps_credential *src)
static void wps_device_clone_data (struct wps_device_data *dst, struct wps_device_data *src)
static struct
wps_registrar_device
wps_device_get (struct wps_registrar *reg, const u8 *addr)
int wps_device_store (struct wps_registrar *reg, struct wps_device_data *dev, const u8 *uuid)
static void wps_free_devices (struct wps_registrar_device *dev)
static void wps_free_pbc_sessions (struct wps_pbc_session *pbc)
static void wps_free_pin (struct wps_uuid_pin *pin)
static void wps_free_pins (struct dl_list *pins)
static int wps_get_dev_password (struct wps_data *wps)
static struct wpabufwps_ie_encapsulate (struct wpabuf *data)
static int wps_process_ap_settings_r (struct wps_data *wps, struct wps_parse_attr *attr)
static int wps_process_assoc_state (struct wps_data *wps, const u8 *assoc)
static int wps_process_auth_type_flags (struct wps_data *wps, const u8 *auth)
static int wps_process_config_error (struct wps_data *wps, const u8 *err)
static int wps_process_config_methods (struct wps_data *wps, const u8 *methods)
static int wps_process_conn_type_flags (struct wps_data *wps, const u8 *conn)
static int wps_process_dev_password_id (struct wps_data *wps, const u8 *pw_id)
static int wps_process_e_hash1 (struct wps_data *wps, const u8 *e_hash1)
static int wps_process_e_hash2 (struct wps_data *wps, const u8 *e_hash2)
static int wps_process_e_snonce1 (struct wps_data *wps, const u8 *e_snonce1)
static int wps_process_e_snonce2 (struct wps_data *wps, const u8 *e_snonce2)
static int wps_process_encr_type_flags (struct wps_data *wps, const u8 *encr)
static int wps_process_enrollee_nonce (struct wps_data *wps, const u8 *e_nonce)
static enum wps_process_res wps_process_m1 (struct wps_data *wps, struct wps_parse_attr *attr)
static enum wps_process_res wps_process_m3 (struct wps_data *wps, const struct wpabuf *msg, struct wps_parse_attr *attr)
static enum wps_process_res wps_process_m5 (struct wps_data *wps, const struct wpabuf *msg, struct wps_parse_attr *attr)
static enum wps_process_res wps_process_m7 (struct wps_data *wps, const struct wpabuf *msg, struct wps_parse_attr *attr)
static int wps_process_mac_addr (struct wps_data *wps, const u8 *mac_addr)
static int wps_process_pubkey (struct wps_data *wps, const u8 *pk, size_t pk_len)
static int wps_process_registrar_nonce (struct wps_data *wps, const u8 *r_nonce)
static int wps_process_uuid_e (struct wps_data *wps, const u8 *uuid_e)
static int wps_process_wps_state (struct wps_data *wps, const u8 *state)
static enum wps_process_res wps_process_wsc_ack (struct wps_data *wps, const struct wpabuf *msg)
static enum wps_process_res wps_process_wsc_done (struct wps_data *wps, const struct wpabuf *msg)
static enum wps_process_res wps_process_wsc_msg (struct wps_data *wps, const struct wpabuf *msg)
static enum wps_process_res wps_process_wsc_nack (struct wps_data *wps, const struct wpabuf *msg)
static void wps_registrar_add_pbc_session (struct wps_registrar *reg, const u8 *addr, const u8 *uuid_e)
int wps_registrar_add_pin (struct wps_registrar *reg, const u8 *uuid, const u8 *pin, size_t pin_len, int timeout)
int wps_registrar_button_pushed (struct wps_registrar *reg)
void wps_registrar_deinit (struct wps_registrar *reg)
static void wps_registrar_expire_pins (struct wps_registrar *reg)
int wps_registrar_get_info (struct wps_registrar *reg, const u8 *addr, char *buf, size_t buflen)
struct wpabufwps_registrar_get_msg (struct wps_data *wps, enum wsc_op_code *op_code)
static const u8 * wps_registrar_get_pin (struct wps_registrar *reg, const u8 *uuid, size_t *pin_len)
struct wps_registrarwps_registrar_init (struct wps_context *wps, const struct wps_registrar_config *cfg)
int wps_registrar_invalidate_pin (struct wps_registrar *reg, const u8 *uuid)
static void wps_registrar_pbc_completed (struct wps_registrar *reg)
static int wps_registrar_pbc_overlap (struct wps_registrar *reg, const u8 *addr, const u8 *uuid_e)
static void wps_registrar_pbc_timeout (void *eloop_ctx, void *timeout_ctx)
static void wps_registrar_pin_completed (struct wps_registrar *reg)
void wps_registrar_probe_req_rx (struct wps_registrar *reg, const u8 *addr, const struct wpabuf *wps_data)
enum wps_process_res wps_registrar_process_msg (struct wps_data *wps, enum wsc_op_code op_code, const struct wpabuf *msg)
static void wps_registrar_remove_pbc_session (struct wps_registrar *reg, const u8 *addr, const u8 *uuid_e)
static void wps_registrar_sel_reg_union (struct wps_registrar *reg)
void wps_registrar_selected_registrar_changed (struct wps_registrar *reg)
static void wps_registrar_set_selected_timeout (void *eloop_ctx, void *timeout_ctx)
static void wps_registrar_stop_pbc (struct wps_registrar *reg)
int wps_registrar_unlock_pin (struct wps_registrar *reg, const u8 *uuid)
int wps_registrar_update_ie (struct wps_registrar *reg)
static void wps_remove_pin (struct wps_uuid_pin *pin)
static int wps_set_ie (struct wps_registrar *reg)
static void wps_sta_cred_cb (struct wps_data *wps)

Define Documentation

#define PIN_EXPIRES   BIT(1)

Definition at line 39 of file wps_registrar.c.

#define PIN_LOCKED   BIT(0)

Definition at line 38 of file wps_registrar.c.

#define WPS_STRDUP (   n)
Value:
os_free(dst->n); \
        dst->n = src->n ? os_strdup(src->n) : NULL
#define WPS_WORKAROUNDS

Definition at line 30 of file wps_registrar.c.


Function Documentation

static int wps_build_ap_settings ( struct wps_data wps,
struct wpabuf msg 
) [static]

Definition at line 1320 of file wps_registrar.c.

static int wps_build_ap_setup_locked ( struct wps_context wps,
struct wpabuf msg 
) [static]

Definition at line 339 of file wps_registrar.c.

static int wps_build_config_methods_r ( struct wps_registrar reg,
struct wpabuf msg 
) [static]

Definition at line 418 of file wps_registrar.c.

int wps_build_cred ( struct wps_data wps,
struct wpabuf msg 
)

Definition at line 1185 of file wps_registrar.c.

static int wps_build_cred_auth_type ( struct wpabuf msg,
const struct wps_credential cred 
) [static]

Definition at line 1123 of file wps_registrar.c.

static int wps_build_cred_encr_type ( struct wpabuf msg,
const struct wps_credential cred 
) [static]

Definition at line 1135 of file wps_registrar.c.

static int wps_build_cred_mac_addr ( struct wpabuf msg,
const struct wps_credential cred 
) [static]

Definition at line 1159 of file wps_registrar.c.

static int wps_build_cred_network_idx ( struct wpabuf msg,
const struct wps_credential cred 
) [static]

Definition at line 1101 of file wps_registrar.c.

static int wps_build_cred_network_key ( struct wpabuf msg,
const struct wps_credential cred 
) [static]

Definition at line 1147 of file wps_registrar.c.

static int wps_build_cred_ssid ( struct wpabuf msg,
const struct wps_credential cred 
) [static]

Definition at line 1112 of file wps_registrar.c.

static int wps_build_credential ( struct wpabuf msg,
const struct wps_credential cred 
) [static]

Definition at line 1171 of file wps_registrar.c.

static struct wpabuf* wps_build_m2 ( struct wps_data wps) [static, read]

Definition at line 1331 of file wps_registrar.c.

static struct wpabuf* wps_build_m2d ( struct wps_data wps) [static, read]

Definition at line 1374 of file wps_registrar.c.

static struct wpabuf* wps_build_m4 ( struct wps_data wps) [static, read]

Definition at line 1411 of file wps_registrar.c.

static struct wpabuf* wps_build_m6 ( struct wps_data wps) [static, read]

Definition at line 1448 of file wps_registrar.c.

static struct wpabuf* wps_build_m8 ( struct wps_data wps) [static, read]

Definition at line 1483 of file wps_registrar.c.

static int wps_build_probe_config_methods ( struct wps_registrar reg,
struct wpabuf msg 
) [static]

Definition at line 401 of file wps_registrar.c.

static int wps_build_r_hash ( struct wps_data wps,
struct wpabuf msg 
) [static]

Definition at line 1032 of file wps_registrar.c.

static int wps_build_r_snonce1 ( struct wps_data wps,
struct wpabuf msg 
) [static]

Definition at line 1080 of file wps_registrar.c.

static int wps_build_r_snonce2 ( struct wps_data wps,
struct wpabuf msg 
) [static]

Definition at line 1090 of file wps_registrar.c.

static int wps_build_resp_type ( struct wps_registrar reg,
struct wpabuf msg 
) [static]

Definition at line 429 of file wps_registrar.c.

static int wps_build_sel_reg_config_methods ( struct wps_registrar reg,
struct wpabuf msg 
) [static]

Definition at line 381 of file wps_registrar.c.

static int wps_build_sel_reg_dev_password_id ( struct wps_registrar reg,
struct wpabuf msg 
) [static]

Definition at line 365 of file wps_registrar.c.

static int wps_build_selected_registrar ( struct wps_registrar reg,
struct wpabuf msg 
) [static]

Definition at line 352 of file wps_registrar.c.

static int wps_build_uuid_r ( struct wps_data wps,
struct wpabuf msg 
) [static]

Definition at line 1022 of file wps_registrar.c.

static int wps_build_wps_state ( struct wps_context wps,
struct wpabuf msg 
) [static]

Definition at line 303 of file wps_registrar.c.

static struct wpabuf* wps_build_wsc_ack ( struct wps_data wps) [static, read]

Definition at line 1518 of file wps_registrar.c.

static struct wpabuf* wps_build_wsc_nack ( struct wps_data wps) [static, read]

Definition at line 1540 of file wps_registrar.c.

static int wps_cb_new_psk ( struct wps_registrar reg,
const u8 *  mac_addr,
const u8 *  psk,
size_t  psk_len 
) [static]

Definition at line 825 of file wps_registrar.c.

static void wps_cb_pin_needed ( struct wps_registrar reg,
const u8 *  uuid_e,
const struct wps_device_data dev 
) [static]

Definition at line 835 of file wps_registrar.c.

static void wps_cb_reg_success ( struct wps_registrar reg,
const u8 *  mac_addr,
const u8 *  uuid_e 
) [static]

Definition at line 845 of file wps_registrar.c.

static int wps_cb_set_ie ( struct wps_registrar reg,
struct wpabuf beacon_ie,
struct wpabuf probe_resp_ie 
) [static]

Definition at line 855 of file wps_registrar.c.

static void wps_cb_set_sel_reg ( struct wps_registrar reg) [static]

Definition at line 862 of file wps_registrar.c.

static void wps_cred_update ( struct wps_credential dst,
struct wps_credential src 
) [static]

Definition at line 2244 of file wps_registrar.c.

static void wps_device_clone_data ( struct wps_device_data dst,
struct wps_device_data src 
) [static]

Definition at line 165 of file wps_registrar.c.

static struct wps_registrar_device* wps_device_get ( struct wps_registrar reg,
const u8 *  addr 
) [static, read]

Definition at line 152 of file wps_registrar.c.

int wps_device_store ( struct wps_registrar reg,
struct wps_device_data dev,
const u8 *  uuid 
)

Definition at line 184 of file wps_registrar.c.

static void wps_free_devices ( struct wps_registrar_device dev) [static]

Definition at line 139 of file wps_registrar.c.

static void wps_free_pbc_sessions ( struct wps_pbc_session pbc) [static]

Definition at line 75 of file wps_registrar.c.

static void wps_free_pin ( struct wps_uuid_pin pin) [static]

Definition at line 45 of file wps_registrar.c.

static void wps_free_pins ( struct dl_list pins) [static]

Definition at line 59 of file wps_registrar.c.

static int wps_get_dev_password ( struct wps_data wps) [static]

Definition at line 988 of file wps_registrar.c.

static struct wpabuf* wps_ie_encapsulate ( struct wpabuf data) [static, read]

Definition at line 881 of file wps_registrar.c.

static int wps_process_ap_settings_r ( struct wps_data wps,
struct wps_parse_attr attr 
) [static]

Definition at line 2257 of file wps_registrar.c.

static int wps_process_assoc_state ( struct wps_data wps,
const u8 *  assoc 
) [static]

Definition at line 2028 of file wps_registrar.c.

static int wps_process_auth_type_flags ( struct wps_data wps,
const u8 *  auth 
) [static]

Definition at line 1880 of file wps_registrar.c.

static int wps_process_config_error ( struct wps_data wps,
const u8 *  err 
) [static]

Definition at line 2044 of file wps_registrar.c.

static int wps_process_config_methods ( struct wps_data wps,
const u8 *  methods 
) [static]

Definition at line 1975 of file wps_registrar.c.

static int wps_process_conn_type_flags ( struct wps_data wps,
const u8 *  conn 
) [static]

Definition at line 1960 of file wps_registrar.c.

static int wps_process_dev_password_id ( struct wps_data wps,
const u8 *  pw_id 
) [static]

Definition at line 1706 of file wps_registrar.c.

static int wps_process_e_hash1 ( struct wps_data wps,
const u8 *  e_hash1 
) [static]

Definition at line 1720 of file wps_registrar.c.

static int wps_process_e_hash2 ( struct wps_data wps,
const u8 *  e_hash2 
) [static]

Definition at line 1734 of file wps_registrar.c.

static int wps_process_e_snonce1 ( struct wps_data wps,
const u8 *  e_snonce1 
) [static]

Definition at line 1748 of file wps_registrar.c.

static int wps_process_e_snonce2 ( struct wps_data wps,
const u8 *  e_snonce2 
) [static]

Definition at line 1788 of file wps_registrar.c.

static int wps_process_encr_type_flags ( struct wps_data wps,
const u8 *  encr 
) [static]

Definition at line 1920 of file wps_registrar.c.

static int wps_process_enrollee_nonce ( struct wps_data wps,
const u8 *  e_nonce 
) [static]

Definition at line 1661 of file wps_registrar.c.

static enum wps_process_res wps_process_m1 ( struct wps_data wps,
struct wps_parse_attr attr 
) [static]

Definition at line 2060 of file wps_registrar.c.

static enum wps_process_res wps_process_m3 ( struct wps_data wps,
const struct wpabuf msg,
struct wps_parse_attr attr 
) [static]

Definition at line 2133 of file wps_registrar.c.

static enum wps_process_res wps_process_m5 ( struct wps_data wps,
const struct wpabuf msg,
struct wps_parse_attr attr 
) [static]

Definition at line 2167 of file wps_registrar.c.

static enum wps_process_res wps_process_m7 ( struct wps_data wps,
const struct wpabuf msg,
struct wps_parse_attr attr 
) [static]

Definition at line 2290 of file wps_registrar.c.

static int wps_process_mac_addr ( struct wps_data wps,
const u8 *  mac_addr 
) [static]

Definition at line 1831 of file wps_registrar.c.

static int wps_process_pubkey ( struct wps_data wps,
const u8 *  pk,
size_t  pk_len 
) [static]

Definition at line 1847 of file wps_registrar.c.

static int wps_process_registrar_nonce ( struct wps_data wps,
const u8 *  r_nonce 
) [static]

Definition at line 1676 of file wps_registrar.c.

static int wps_process_uuid_e ( struct wps_data wps,
const u8 *  uuid_e 
) [static]

Definition at line 1692 of file wps_registrar.c.

static int wps_process_wps_state ( struct wps_data wps,
const u8 *  state 
) [static]

Definition at line 2013 of file wps_registrar.c.

static enum wps_process_res wps_process_wsc_ack ( struct wps_data wps,
const struct wpabuf msg 
) [static]

Definition at line 2424 of file wps_registrar.c.

static enum wps_process_res wps_process_wsc_done ( struct wps_data wps,
const struct wpabuf msg 
) [static]

Definition at line 2579 of file wps_registrar.c.

static enum wps_process_res wps_process_wsc_msg ( struct wps_data wps,
const struct wpabuf msg 
) [static]

Definition at line 2347 of file wps_registrar.c.

static enum wps_process_res wps_process_wsc_nack ( struct wps_data wps,
const struct wpabuf msg 
) [static]

Definition at line 2497 of file wps_registrar.c.

static void wps_registrar_add_pbc_session ( struct wps_registrar reg,
const u8 *  addr,
const u8 *  uuid_e 
) [static]

Definition at line 205 of file wps_registrar.c.

int wps_registrar_add_pin ( struct wps_registrar reg,
const u8 *  uuid,
const u8 *  pin,
size_t  pin_len,
int  timeout 
)

wps_registrar_add_pin - Configure a new PIN for Registrar : Registrar data from wps_registrar_init() : UUID-E or NULL for wildcard (any UUID) : PIN (Device Password) : Length of pin in octets : Time (in seconds) when the PIN will be invalidated; 0 = no timeout Returns: 0 on success, -1 on failure

Definition at line 519 of file wps_registrar.c.

wps_registrar_button_pushed - Notify Registrar that AP button was pushed : Registrar data from wps_registrar_init() Returns: 0 on success, -1 on failure

This function is called on an AP when a push button is pushed to activate PBC mode. The PBC mode will be stopped after walk time (2 minutes) timeout or when a PBC registration is completed.

Definition at line 710 of file wps_registrar.c.

void wps_registrar_deinit ( struct wps_registrar reg)

wps_registrar_deinit - Deinitialize WPS Registrar data : Registrar data from wps_registrar_init()

Definition at line 496 of file wps_registrar.c.

static void wps_registrar_expire_pins ( struct wps_registrar reg) [static]

Definition at line 563 of file wps_registrar.c.

int wps_registrar_get_info ( struct wps_registrar reg,
const u8 *  addr,
char *  buf,
size_t  buflen 
)

Definition at line 2858 of file wps_registrar.c.

struct wpabuf* wps_registrar_get_msg ( struct wps_data wps,
enum wsc_op_code op_code 
) [read]

Definition at line 1563 of file wps_registrar.c.

static const u8* wps_registrar_get_pin ( struct wps_registrar reg,
const u8 *  uuid,
size_t *  pin_len 
) [static]

Definition at line 605 of file wps_registrar.c.

struct wps_registrar* wps_registrar_init ( struct wps_context wps,
const struct wps_registrar_config cfg 
) [read]

wps_registrar_init - Initialize WPS Registrar data : Pointer to longterm WPS context : Registrar configuration Returns: Pointer to allocated Registrar data or NULL on failure

This function is used to initialize WPS Registrar functionality. It can be used for a single Registrar run (e.g., when run in a supplicant) or multiple runs (e.g., when run as an internal Registrar in an AP). Caller is responsible for freeing the returned data with wps_registrar_deinit() when Registrar functionality is not needed anymore.

Definition at line 453 of file wps_registrar.c.

int wps_registrar_invalidate_pin ( struct wps_registrar reg,
const u8 *  uuid 
)

wps_registrar_invalidate_pin - Invalidate a PIN for a specific UUID-E : Registrar data from wps_registrar_init() : UUID-E Returns: 0 on success, -1 on failure (e.g., PIN not found)

Definition at line 587 of file wps_registrar.c.

static void wps_registrar_pbc_completed ( struct wps_registrar reg) [static]

Definition at line 731 of file wps_registrar.c.

static int wps_registrar_pbc_overlap ( struct wps_registrar reg,
const u8 *  addr,
const u8 *  uuid_e 
) [static]

Definition at line 278 of file wps_registrar.c.

static void wps_registrar_pbc_timeout ( void *  eloop_ctx,
void *  timeout_ctx 
) [static]

Definition at line 691 of file wps_registrar.c.

static void wps_registrar_pin_completed ( struct wps_registrar reg) [static]

Definition at line 739 of file wps_registrar.c.

void wps_registrar_probe_req_rx ( struct wps_registrar reg,
const u8 *  addr,
const struct wpabuf wps_data 
)

wps_registrar_probe_req_rx - Notify Registrar of Probe Request : Registrar data from wps_registrar_init() : MAC address of the Probe Request sender : WPS IE contents

This function is called on an AP when a Probe Request with WPS IE is received. This is used to track PBC mode use and to detect possible overlap situation with other WPS APs.

Definition at line 758 of file wps_registrar.c.

enum wps_process_res wps_registrar_process_msg ( struct wps_data wps,
enum wsc_op_code  op_code,
const struct wpabuf msg 
)

Definition at line 2695 of file wps_registrar.c.

static void wps_registrar_remove_pbc_session ( struct wps_registrar reg,
const u8 *  addr,
const u8 *  uuid_e 
) [static]

Definition at line 256 of file wps_registrar.c.

static void wps_registrar_sel_reg_union ( struct wps_registrar reg) [static]

Definition at line 2796 of file wps_registrar.c.

wps_registrar_selected_registrar_changed - SetSelectedRegistrar change : Registrar data from wps_registrar_init()

This function is called when selected registrar state changes, e.g., when an AP receives a SetSelectedRegistrar UPnP message.

Definition at line 2830 of file wps_registrar.c.

static void wps_registrar_set_selected_timeout ( void *  eloop_ctx,
void *  timeout_ctx 
) [static]

Definition at line 2766 of file wps_registrar.c.

static void wps_registrar_stop_pbc ( struct wps_registrar reg) [static]

Definition at line 683 of file wps_registrar.c.

int wps_registrar_unlock_pin ( struct wps_registrar reg,
const u8 *  uuid 
)

wps_registrar_unlock_pin - Unlock a PIN for a specific UUID-E : Registrar data from wps_registrar_init() : UUID-E Returns: 0 on success, -1 on failure

PINs are locked to enforce only one concurrent use. This function unlocks a PIN to allow it to be used again. If the specified PIN was configured using a wildcard UUID, it will be removed instead of allowing multiple uses.

Definition at line 663 of file wps_registrar.c.

int wps_registrar_update_ie ( struct wps_registrar reg)

Definition at line 2760 of file wps_registrar.c.

static void wps_remove_pin ( struct wps_uuid_pin pin) [static]

Definition at line 52 of file wps_registrar.c.

static int wps_set_ie ( struct wps_registrar reg) [static]

Definition at line 912 of file wps_registrar.c.

static void wps_sta_cred_cb ( struct wps_data wps) [static]

Definition at line 2222 of file wps_registrar.c.



wpa_supplicant
Author(s): Package maintained by Blaise Gassend
autogenerated on Thu Apr 24 2014 15:34:40