From: Michael Tremer <michael.tremer@ipfire.org>
To: Adolf Belka <adolf.belka@ipfire.org>
Cc: development@lists.ipfire.org
Subject: Re: [PATCH 1/2] libloc: Fixes bug13861 - libloc-0.9.18 fails to find some ASN info
Date: Sun, 29 Jun 2025 17:12:33 +0100 [thread overview]
Message-ID: <6012C99C-7432-4D4F-8AAC-449A0FB2E46C@ipfire.org> (raw)
In-Reply-To: <20250627195351.3341456-1-adolf.belka@ipfire.org>
Thank you for submitting this.
This was a very interesting find.
> On 27 Jun 2025, at 20:53, Adolf Belka <adolf.belka@ipfire.org> wrote:
>
> - 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
>
prev parent reply other threads:[~2025-06-29 16:12 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-27 19:53 Adolf Belka
2025-06-27 19:53 ` [PATCH 2/2] core196: Ship libloc Adolf Belka
2025-06-29 16:12 ` Michael Tremer [this message]
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=6012C99C-7432-4D4F-8AAC-449A0FB2E46C@ipfire.org \
--to=michael.tremer@ipfire.org \
--cc=adolf.belka@ipfire.org \
--cc=development@lists.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