From: Sven Eckelmann <sven@narfation.org>
To: b.a.t.m.a.n@lists.open-mesh.org
Cc: Sven Eckelmann <sven@narfation.org>
Subject: [B.A.T.M.A.N.] [PATCH 1/2] alfred: Update version when adding data to dataset
Date: Sat, 7 Mar 2015 23:41:17 +0100 [thread overview]
Message-ID: <1425768078-15380-1-git-send-email-sven@narfation.org> (raw)
The dataset stores the source and the alfred_tlv of the send data next to the
actual data buffer. The source and alfred_tlv::type was used to find an entry
in the dataset hashtable when reading/updating the buffer. The
alfred_tlv::length is always updated when the size of the associated buffer
gets modified.
But the alfred_tlv::version is only written when receiving the first data for a
dataset. But this initial (maybe outdated) version is always propagated when a
client asks over the unix socket or the dataset is exchanged between alfred
servers. This has to also be updated when new data is added to the dataset to
avoid clients to interpret the data using the wrong data format version.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
---
recv.c | 1 +
unix_sock.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/recv.c b/recv.c
index 34a16fc..e0252eb 100644
--- a/recv.c
+++ b/recv.c
@@ -91,6 +91,7 @@ static int finish_alfred_push_data(struct globals *globals,
goto err;
dataset->data.header.length = data_len;
+ dataset->data.header.version = data->header.version;
memcpy(dataset->buf, data->data, data_len);
/* if the sender is also the the source of the dataset, we
diff --git a/unix_sock.c b/unix_sock.c
index ae86956..0707252 100644
--- a/unix_sock.c
+++ b/unix_sock.c
@@ -151,6 +151,7 @@ static int unix_sock_add_data(struct globals *globals,
goto err;
dataset->data.header.length = data_len;
+ dataset->data.header.version = data->header.version;
memcpy(dataset->buf, data->data, data_len);
ret = 0;
--
2.1.4
next reply other threads:[~2015-03-07 22:41 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-07 22:41 Sven Eckelmann [this message]
2015-03-07 22:41 ` [B.A.T.M.A.N.] [PATCH 2/2] alfred: Add option to the client to print extra data information Sven Eckelmann
2015-03-07 22:45 ` [B.A.T.M.A.N.] [PATCHv2 " Sven Eckelmann
2015-03-11 12:08 ` Simon Wunderlich
2015-03-11 12:08 ` [B.A.T.M.A.N.] [PATCH 1/2] alfred: Update version when adding data to dataset Simon Wunderlich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1425768078-15380-1-git-send-email-sven@narfation.org \
--to=sven@narfation.org \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox