All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 6/6] dpp: allow config response handling without station
@ 2022-01-08  0:13 James Prestwood
  0 siblings, 0 replies; only message in thread
From: James Prestwood @ 2022-01-08  0:13 UTC (permalink / raw)
  To: iwd

[-- Attachment #1: Type: text/plain, Size: 1675 bytes --]

If the device is not in station mode DPP can still write out
the credentials and finish without attempting to connect or
scan.
---
 src/dpp.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/dpp.c b/src/dpp.c
index 35807a8c..84e89f6c 100644
--- a/src/dpp.c
+++ b/src/dpp.c
@@ -496,7 +496,7 @@ static void dpp_handle_config_response_frame(const struct mmpdu_header *frame,
 	_auto_(l_free) uint8_t *unwrapped = NULL;
 	struct dpp_configuration *config;
 	struct station *station = station_find(netdev_get_ifindex(dpp->netdev));
-	struct network *network;
+	struct network *network = NULL;
 	struct scan_bss *bss = NULL;
 	char ssid[33];
 
@@ -622,18 +622,24 @@ static void dpp_handle_config_response_frame(const struct mmpdu_header *frame,
 		return;
 	}
 
-	memcpy(ssid, config->ssid, config->ssid_len);
-	ssid[config->ssid_len] = '\0';
+	/*
+	 * We should have a station device, but if not DPP can write the
+	 * credentials out and be done
+	 */
+	if (station) {
+		memcpy(ssid, config->ssid, config->ssid_len);
+		ssid[config->ssid_len] = '\0';
 
-	network = station_network_find(station, ssid, SECURITY_PSK);
-	if (network)
-		bss = network_bss_select(network, true);
+		network = station_network_find(station, ssid, SECURITY_PSK);
+		if (network)
+			bss = network_bss_select(network, true);
+	}
 
 	dpp_write_config(config, network);
 
 	if (network && bss)
 		__station_connect_network(station, network, bss);
-	else {
+	else if (station) {
 		dpp->connect_scan_id = scan_active(dpp->wdev_id, NULL, 0,
 						dpp_scan_triggered,
 						dpp_scan_results, dpp,
-- 
2.31.1

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2022-01-08  0:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-08  0:13 [PATCH v2 6/6] dpp: allow config response handling without station James Prestwood

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.