babeld: Update babeld to 1.9.2

babeld is updated to 1.9.2 using a feed patch.
The new version includes fixes a few minor issues.

With babeld 1.9.2 a fix for IPv4 xroutes has been
introduced. Therefore, our own patch isn't necessary anymore,
so it is removed.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
Fabian Bläse 2020-04-22 15:41:09 +02:00
parent c7e9f514a5
commit ed73e00588
2 changed files with 41 additions and 109 deletions

View File

@ -1,109 +0,0 @@
From 20a7fa7bf33d47e8fbcbcb553d5bb8a542808fbf Mon Sep 17 00:00:00 2001
From: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Date: Mon, 30 Sep 2019 16:52:28 +0200
Subject: [PATCH 2/2] babeld: Add src_plen patch
This patch is currently pending upstream.
Babeld version (babeld -V) won't indicate the change!
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
---
babeld/Makefile | 2 +-
...nments-which-break-v4mapped-encoding.patch | 71 +++++++++++++++++++
2 files changed, 72 insertions(+), 1 deletion(-)
create mode 100644 babeld/patches/0001-Remove-src_plen-assignments-which-break-v4mapped-encoding.patch
diff --git a/babeld/Makefile b/babeld/Makefile
index 78fdf83..5a7b8cd 100644
--- a/babeld/Makefile
+++ b/babeld/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=babeld
PKG_VERSION:=1.9.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.irif.fr/~jch/software/files/
diff --git a/babeld/patches/0001-Remove-src_plen-assignments-which-break-v4mapped-encoding.patch b/babeld/patches/0001-Remove-src_plen-assignments-which-break-v4mapped-encoding.patch
new file mode 100644
index 0000000..089e35f
--- /dev/null
+++ b/babeld/patches/0001-Remove-src_plen-assignments-which-break-v4mapped-encoding.patch
@@ -0,0 +1,71 @@
+From 36121c1e67fb5a60a35fed0faa37297cd97c9ffc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
+Date: Thu, 19 Sep 2019 01:16:46 +0200
+Subject: [PATCH] Remove src_plen assignments which break v4mapped encoding
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+These assignments were introduced in f8bce04, probably
+to ensure that src_plen doesn't contain any leftovers from
+earlier revisions when source specific wasn't done via sub-TLVs.
+
+This however breaks v4mapped encoding as a prefix length of 0
+for IPv4 routes is represented as src_plen = 96. This offset is
+already added outside of the affected functions and therefore
+gets overwritten by this assignment.
+
+Both functions contain an additional check if the message contains
+ipv4 addresses, but as this check is only executed if the message has
+a source-specific sub-TLV, the offset isn't added for non source-specific
+routes.
+
+Because the offset is already added outside of the subtlv parsing
+functions, this additional check is also removed, as it would otherwise
+break IPv4 source specifics by adding the IPv4 offset two times.
+
+Signed-off-by: Fabian Bläse <fabian@blaese.de>
+---
+ message.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/message.c b/message.c
+index 0f6ca19d..78f9aa93 100644
+--- a/message.c
++++ b/message.c
+@@ -137,8 +137,6 @@ parse_update_subtlv(struct interface *ifp, int metric, int ae,
+ }
+ }
+
+- *src_plen = 0;
+-
+ while(i < alen) {
+ type = a[i];
+ if(type == SUBTLV_PAD1) {
+@@ -170,8 +168,6 @@ parse_update_subtlv(struct interface *ifp, int metric, int ae,
+ len - 1, src_prefix);
+ if(rc < 0)
+ goto fail;
+- if(ae == 1)
+- (*src_plen) += 96;
+ } else {
+ debugf("Received unknown%s Update sub-TLV %d.\n",
+ (type & 0x80) != 0 ? " mandatory" : "", type);
+@@ -305,8 +301,6 @@ parse_request_subtlv(int ae, const unsigned char *a, int alen,
+ {
+ int type, len, i = 0;
+
+- *src_plen = 0;
+-
+ while(i < alen) {
+ type = a[0];
+ if(type == SUBTLV_PAD1) {
+@@ -336,8 +330,6 @@ parse_request_subtlv(int ae, const unsigned char *a, int alen,
+ len - 1, src_prefix);
+ if(rc < 0)
+ goto fail;
+- if(ae == 1)
+- (*src_plen) += 96;
+ } else {
+ debugf("Received unknown%s Route Request sub-TLV %d.\n",
+ ((type & 0x80) != 0) ? " mandatory" : "", type);
--
2.25.1

View File

@ -0,0 +1,41 @@
From 67268d29f5d7eeebd51608274beef412a8176715 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
Date: Wed, 22 Apr 2020 12:52:41 +0200
Subject: [PATCH] babeld: Update to version 1.9.2
21 April 2020: babeld-1.9.2
* Fixed two issues that could cause IPv4 routes to be represented
incorrectly, with a range of confusing symptoms. Thanks to
Fabian Bläse.
* Fixed incorrect parsing of TLVs with an unknown Address Encoding.
Thanks to Théophile Bastian.
* Fixed access to mis-aligned data structure. Thanks to Antonin Décimo.
Signed-off-by: Fabian Bläse <fabian@blaese.de>
---
babeld/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/babeld/Makefile b/babeld/Makefile
index 78fdf83..9ba3f0a 100644
--- a/babeld/Makefile
+++ b/babeld/Makefile
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=babeld
-PKG_VERSION:=1.9.1
+PKG_VERSION:=1.9.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.irif.fr/~jch/software/files/
-PKG_HASH:=1e1b3c01dd929177bc8d027aff1494da75e1e567e1f60df3bb45a78d5f1ca0b4
+PKG_HASH:=154f00e0a8bf35d6ea9028886c3dc5c3c342dd1a367df55ef29a547b75867f07
PKG_MAINTAINER:=Gabriel Kerneis <gabriel@kerneis.info>, \
Baptiste Jonglez <openwrt-pkg@bitsofnetworks.org>
--
2.26.2