[PATCH BlueZ] tools/mesh-cfgclient: Add local address check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This adds a check if a request to start scanning for unprovisioned
devices is issued with the local address.
---
 tools/mesh-cfgclient.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/tools/mesh-cfgclient.c b/tools/mesh-cfgclient.c
index 6d2d34409..8369b345d 100644
--- a/tools/mesh-cfgclient.c
+++ b/tools/mesh-cfgclient.c
@@ -58,6 +58,12 @@
 #define DEFAULT_CFG_FILE	"config_db.json"
 #define DEFAULT_EXPORT_FILE	"export_db.json"
 
+/*
+ *The default unicast address assigned to a node generated with
+ * Create() method
+ */
+#define OWN_PRIMARY_ADDR	0x0001
+
 struct meshcfg_el {
 	const char *path;
 	uint8_t index;
@@ -777,7 +783,7 @@ static void attach_node_reply(struct l_dbus_proxy *proxy,
 	}
 
 	/* Read own node composition */
-	if (!cfgcli_get_comp(0x0001, 128))
+	if (!cfgcli_get_comp(OWN_PRIMARY_ADDR, 128))
 		l_error("Failed to read own composition");
 
 	return;
@@ -868,7 +874,7 @@ static void scan_start(void *user_data, uint16_t dst, uint32_t model)
 {
 	struct scan_data *data;
 
-	if (model != (0xffff0000 | RPR_SVR_MODEL))
+	if (model != (0xffff0000 | RPR_SVR_MODEL) || dst != OWN_PRIMARY_ADDR)
 		return;
 
 	data = l_malloc(sizeof(struct scan_data));
@@ -2364,8 +2370,8 @@ static struct l_dbus_message *join_complete(struct l_dbus *dbus,
 	keys_add_net_key(PRIMARY_NET_IDX);
 	mesh_db_add_net_key(PRIMARY_NET_IDX);
 
-	remote_add_node(app.uuid, 0x0001, 1, PRIMARY_NET_IDX);
-	mesh_db_add_node(app.uuid, 0x0001, 1, PRIMARY_NET_IDX);
+	remote_add_node(app.uuid, OWN_PRIMARY_ADDR, 1, PRIMARY_NET_IDX);
+	mesh_db_add_node(app.uuid, OWN_PRIMARY_ADDR, 1, PRIMARY_NET_IDX);
 
 	mesh_db_add_provisioner("BlueZ mesh-cfgclient", app.uuid,
 					low_addr, high_addr,
-- 
2.39.2




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux