Lines Matching defs:ctrl
78 struct dpp_controller *ctrl;
8755 static void dpp_relay_controller_free(struct dpp_relay_controller *ctrl)
8759 dl_list_for_each_safe(conn, tmp, &ctrl->conn, struct dpp_connection,
8762 os_free(ctrl);
8768 struct dpp_relay_controller *ctrl, *tmp;
8773 dl_list_for_each_safe(ctrl, tmp, &dpp->controllers,
8775 dl_list_del(&ctrl->list);
8776 dpp_relay_controller_free(ctrl);
8840 struct dpp_relay_controller *ctrl;
8845 ctrl = os_zalloc(sizeof(*ctrl));
8846 if (!ctrl)
8848 dl_list_init(&ctrl->conn);
8849 ctrl->global = dpp;
8850 os_memcpy(&ctrl->ipaddr, config->ipaddr, sizeof(*config->ipaddr));
8851 os_memcpy(ctrl->pkhash, config->pkhash, SHA256_MAC_LEN);
8852 ctrl->cb_ctx = config->cb_ctx;
8853 ctrl->tx = config->tx;
8854 ctrl->gas_resp_tx = config->gas_resp_tx;
8855 dl_list_add(&dpp->controllers, &ctrl->list);
8863 struct dpp_relay_controller *ctrl;
8868 dl_list_for_each(ctrl, &dpp->controllers, struct dpp_relay_controller,
8870 if (os_memcmp(pkhash, ctrl->pkhash, SHA256_MAC_LEN) == 0)
8871 return ctrl;
8889 wpa_msg(conn->ctrl->global->msg_ctx, MSG_INFO, DPP_EVENT_CONF_SENT);
8938 } else if (conn->ctrl && conn->on_tcp_tx_complete_gas_done &&
9076 dpp_relay_new_conn(struct dpp_relay_controller *ctrl, const u8 *src,
9084 if (dl_list_len(&ctrl->conn) >= 15) {
9091 &ctrl->ipaddr, DPP_TCP_PORT) < 0)
9098 conn->global = ctrl->global;
9099 conn->relay = ctrl;
9107 conn->sock, hostapd_ip_txt(&ctrl->ipaddr, txt, sizeof(txt)));
9136 dl_list_add(&ctrl->conn, &conn->list);
9188 struct dpp_relay_controller *ctrl;
9197 dl_list_for_each(ctrl, &dpp->controllers,
9199 dl_list_for_each(conn, &ctrl->conn,
9211 ctrl = dpp_relay_controller_get(dpp, r_bootstrap);
9212 if (!ctrl)
9217 conn = dpp_relay_new_conn(ctrl, src, freq);
9235 struct dpp_relay_controller *ctrl;
9242 dl_list_for_each(ctrl, &dpp->controllers,
9246 dl_list_for_each(conn, &ctrl->conn,
9275 static void dpp_controller_free(struct dpp_controller *ctrl)
9279 if (!ctrl)
9282 dl_list_for_each_safe(conn, tmp, &ctrl->conn, struct dpp_connection,
9286 if (ctrl->sock >= 0) {
9287 close(ctrl->sock);
9288 eloop_unregister_sock(ctrl->sock, EVENT_TYPE_READ);
9290 os_free(ctrl->configurator_params);
9291 os_free(ctrl);
9302 if (!conn->ctrl)
9329 dpp_bootstrap_find_pair(conn->ctrl->global, i_bootstrap, r_bootstrap,
9343 conn->auth = dpp_auth_req_rx(conn->ctrl->global->msg_ctx,
9344 conn->ctrl->allowed_roles,
9345 conn->ctrl->qr_mutual,
9352 if (dpp_set_configurator(conn->ctrl->global, conn->ctrl->global->msg_ctx,
9354 conn->ctrl->configurator_params) < 0) {
9462 if (!conn->ctrl)
9475 wpa_msg(conn->ctrl->global->msg_ctx, MSG_INFO,
9478 wpa_msg(conn->ctrl->global->msg_ctx, MSG_INFO,
9556 if (!conn->ctrl || !auth || !auth->auth_success) {
9729 if (!conn->relay && !conn->ctrl)
9860 struct dpp_controller *ctrl = eloop_ctx;
9868 fd = accept(ctrl->sock, (struct sockaddr *) &addr, &addr_len);
9882 conn->global = ctrl->global;
9883 conn->ctrl = ctrl;
9899 dl_list_add(&ctrl->conn, &conn->list);
9983 struct dpp_controller *ctrl;
9991 ctrl = os_zalloc(sizeof(*ctrl));
9992 if (!ctrl)
9994 ctrl->global = dpp;
9996 ctrl->configurator_params =
9998 dl_list_init(&ctrl->conn);
10000 ctrl->allowed_roles = DPP_CAPAB_ENROLLEE | DPP_CAPAB_CONFIGURATOR;
10001 ctrl->qr_mutual = 0;
10003 ctrl->sock = socket(AF_INET, SOCK_STREAM, 0);
10004 if (ctrl->sock < 0)
10007 if (setsockopt(ctrl->sock, SOL_SOCKET, SO_REUSEADDR,
10015 if (fcntl(ctrl->sock, F_SETFL, O_NONBLOCK) < 0) {
10027 if (bind(ctrl->sock, (struct sockaddr *) &sin, sizeof(sin)) < 0) {
10033 if (listen(ctrl->sock, 10 /* max backlog */) < 0 ||
10034 fcntl(ctrl->sock, F_SETFL, O_NONBLOCK) < 0 ||
10035 eloop_register_sock(ctrl->sock, EVENT_TYPE_READ,
10036 dpp_controller_tcp_cb, ctrl, NULL))
10039 dpp->controller = ctrl;
10043 dpp_controller_free(ctrl);