From: Adolf Belka <adolf.belka@ipfire.org>
To: development@lists.ipfire.org
Cc: Adolf Belka <adolf.belka@ipfire.org>,
Michael Tremer <michael.tremer@ipfire.org>
Subject: [PATCH 1/2] libloc: Fixes bug13861 - libloc-0.9.18 fails to find some ASN info
Date: Fri, 27 Jun 2025 21:53:50 +0200 [thread overview]
Message-ID: <20250627195351.3341456-1-adolf.belka@ipfire.org> (raw)
- Patch added to fix bactracking after no match found bug. When the next version of
libloc is released then this patch can be removed as the patch will be integrated in
with that version.
- Update of rootfile not required.
- Tested out on local build of libloc-0.9.18
Fixes: bug13861
Reported-by: Adolf Belka <adolf.belka@ipfire.org>
Suggested-by: Michael Tremer <michael.tremer@ipfire.org>
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
lfs/libloc | 1 +
...tch_was_found_at_the_end_of_the_tree.patch | 31 +++++++++++++++++++
2 files changed, 32 insertions(+)
create mode 100644 src/patches/libloc-0.9.18_Fix_backtracking_after_no_match_was_found_at_the_end_of_the_tree.patch
diff --git a/lfs/libloc b/lfs/libloc
index f2f0aa8a9..e9bbe16ba 100644
--- a/lfs/libloc
+++ b/lfs/libloc
@@ -82,6 +82,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
# https://lists.ipfire.org/pipermail/development/2022-November/014763.html
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libloc-0.9.18-Revert-Install-Perl-files-to-Perl-vendor-directory.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libloc-0.9.18_gettext-0.25_fix.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libloc-0.9.18_Fix_backtracking_after_no_match_was_found_at_the_end_of_the_tree.patch
cd $(DIR_APP) && ./autogen.sh
cd $(DIR_APP) && ./configure \
--prefix=/usr \
diff --git a/src/patches/libloc-0.9.18_Fix_backtracking_after_no_match_was_found_at_the_end_of_the_tree.patch b/src/patches/libloc-0.9.18_Fix_backtracking_after_no_match_was_found_at_the_end_of_the_tree.patch
new file mode 100644
index 000000000..6ac9acf3c
--- /dev/null
+++ b/src/patches/libloc-0.9.18_Fix_backtracking_after_no_match_was_found_at_the_end_of_the_tree.patch
@@ -0,0 +1,31 @@
+X-Git-Url: http://git.ipfire.org/?p=location%2Flibloc.git;a=blobdiff_plain;f=src%2Fdatabase.c;h=c251061cc8a254879491ebe133b1b4f3b58ddf30;hp=0c8608542aaad6e82c4d8602bbeb388ab43225bb;hb=95d271bb90b4cebe81c288a95a2336aa63bac4d7;hpb=d1120513a30de43308d9ed848f7ef3c6ede6d767
+
+diff --git a/src/database.c b/src/database.c
+index 0c86085..c251061 100644
+--- a/src/database.c
++++ b/src/database.c
+@@ -907,13 +907,7 @@ static int __loc_database_lookup(struct loc_database* db, const struct in6_addr*
+
+ // Move on to the next node
+ r = __loc_database_lookup(db, address, network, network_address, node_index, level + 1);
+-
+- // End here if a result was found
+- if (r == 0)
+- return r;
+-
+- // Raise any errors
+- else if (r < 0)
++ if (r < 0)
+ return r;
+
+ DEBUG(db->ctx, "No match found below level %u\n", level);
+@@ -922,7 +916,7 @@ static int __loc_database_lookup(struct loc_database* db, const struct in6_addr*
+ }
+
+ // If this node has a leaf, we will check if it matches
+- if (__loc_database_node_is_leaf(node_v1)) {
++ if (!*network && __loc_database_node_is_leaf(node_v1)) {
+ r = __loc_database_lookup_handle_leaf(db, address, network, network_address, level, node_v1);
+ if (r < 0)
+ return r;
+
--
2.50.0
next reply other threads:[~2025-06-27 19:54 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-27 19:53 Adolf Belka [this message]
2025-06-27 19:53 ` [PATCH 2/2] core196: Ship libloc Adolf Belka
2025-06-29 16:12 ` [PATCH 1/2] libloc: Fixes bug13861 - libloc-0.9.18 fails to find some ASN info Michael Tremer
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=20250627195351.3341456-1-adolf.belka@ipfire.org \
--to=adolf.belka@ipfire.org \
--cc=development@lists.ipfire.org \
--cc=michael.tremer@ipfire.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