* [PATCH BlueZ v2] mesh: Allow to set-up the CRPL with application
@ 2019-07-02 12:31 Jakub Witowski
2019-07-02 17:50 ` Gix, Brian
0 siblings, 1 reply; 2+ messages in thread
From: Jakub Witowski @ 2019-07-02 12:31 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Inga Stotland
This adds an optional CRPL property to org.bluez.mesh.Application1
interface, allowing to indicate the depth of reply protection list.
---
doc/mesh-api.txt | 4 ++++
mesh/node.c | 18 +++++++++++++-----
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/doc/mesh-api.txt b/doc/mesh-api.txt
index 4e0a8bff1..893a1a6c0 100644
--- a/doc/mesh-api.txt
+++ b/doc/mesh-api.txt
@@ -724,6 +724,10 @@ Properties:
A 16-bit vendor-assigned product version identifier
+ uint16 CRPL [read-only, optional]
+
+ A 16-bit minimum number of replay protection list entries
+
Mesh Element Hierarchy
======================
diff --git a/mesh/node.c b/mesh/node.c
index 7383793d9..adc2aa93e 100644
--- a/mesh/node.c
+++ b/mesh/node.c
@@ -1312,10 +1312,6 @@ static bool create_node_config(struct mesh_node *node)
static void set_defaults(struct mesh_node *node)
{
/* TODO: these values should come from mesh.conf */
- if (!node->comp)
- node->comp = l_new(struct node_composition, 1);
-
- node->comp->crpl = DEFAULT_CRPL;
node->lpn = MESH_MODE_UNSUPPORTED;
node->proxy = MESH_MODE_UNSUPPORTED;
node->friend = MESH_MODE_UNSUPPORTED;
@@ -1338,8 +1334,10 @@ static bool get_app_properties(struct mesh_node *node, const char *path,
l_debug("path %s", path);
- if (is_new)
+ if (is_new) {
node->comp = l_new(struct node_composition, 1);
+ node->comp->crpl = DEFAULT_CRPL;
+ }
while (l_dbus_message_iter_next_entry(properties, &key, &variant)) {
@@ -1372,6 +1370,16 @@ static bool get_app_properties(struct mesh_node *node, const char *path,
return false;
node->comp->vid = value;
+
+ } else if (!strcmp(key, "CRPL")) {
+ if (!l_dbus_message_iter_get_variant(&variant, "q",
+ &value))
+ return false;
+
+ if (!is_new && node->comp->crpl != value)
+ return false;
+
+ node->comp->crpl = value;
}
}
--
2.20.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH BlueZ v2] mesh: Allow to set-up the CRPL with application
2019-07-02 12:31 [PATCH BlueZ v2] mesh: Allow to set-up the CRPL with application Jakub Witowski
@ 2019-07-02 17:50 ` Gix, Brian
0 siblings, 0 replies; 2+ messages in thread
From: Gix, Brian @ 2019-07-02 17:50 UTC (permalink / raw)
To: jakub.witowski@silvair.com, linux-bluetooth@vger.kernel.org
Cc: Stotland, Inga
Patch Applied
On Tue, 2019-07-02 at 14:31 +0200, Jakub Witowski wrote:
> This adds an optional CRPL property to org.bluez.mesh.Application1
> interface, allowing to indicate the depth of reply protection list.
> ---
> doc/mesh-api.txt | 4 ++++
> mesh/node.c | 18 +++++++++++++-----
> 2 files changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/doc/mesh-api.txt b/doc/mesh-api.txt
> index 4e0a8bff1..893a1a6c0 100644
> --- a/doc/mesh-api.txt
> +++ b/doc/mesh-api.txt
> @@ -724,6 +724,10 @@ Properties:
>
> A 16-bit vendor-assigned product version identifier
>
> + uint16 CRPL [read-only, optional]
> +
> + A 16-bit minimum number of replay protection list entries
> +
>
> Mesh Element Hierarchy
> ======================
> diff --git a/mesh/node.c b/mesh/node.c
> index 7383793d9..adc2aa93e 100644
> --- a/mesh/node.c
> +++ b/mesh/node.c
> @@ -1312,10 +1312,6 @@ static bool create_node_config(struct mesh_node *node)
> static void set_defaults(struct mesh_node *node)
> {
> /* TODO: these values should come from mesh.conf */
> - if (!node->comp)
> - node->comp = l_new(struct node_composition, 1);
> -
> - node->comp->crpl = DEFAULT_CRPL;
> node->lpn = MESH_MODE_UNSUPPORTED;
> node->proxy = MESH_MODE_UNSUPPORTED;
> node->friend = MESH_MODE_UNSUPPORTED;
> @@ -1338,8 +1334,10 @@ static bool get_app_properties(struct mesh_node *node, const char *path,
>
> l_debug("path %s", path);
>
> - if (is_new)
> + if (is_new) {
> node->comp = l_new(struct node_composition, 1);
> + node->comp->crpl = DEFAULT_CRPL;
> + }
>
> while (l_dbus_message_iter_next_entry(properties, &key, &variant)) {
>
> @@ -1372,6 +1370,16 @@ static bool get_app_properties(struct mesh_node *node, const char *path,
> return false;
>
> node->comp->vid = value;
> +
> + } else if (!strcmp(key, "CRPL")) {
> + if (!l_dbus_message_iter_get_variant(&variant, "q",
> + &value))
> + return false;
> +
> + if (!is_new && node->comp->crpl != value)
> + return false;
> +
> + node->comp->crpl = value;
> }
> }
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-07-02 17:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-02 12:31 [PATCH BlueZ v2] mesh: Allow to set-up the CRPL with application Jakub Witowski
2019-07-02 17:50 ` Gix, Brian
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).