History log of /openbsd/sbin/unwind/frontend.c (Results 1 – 25 of 80)
Revision Date Author Comments
# eeb36cc3 14-Dec-2023 claudio <claudio@openbsd.org>

Use imsg_get_fd() to access the fd passed with the imsg.
Go ahead florian@ OK tb@


# 6ced2d15 05-Sep-2023 florian <florian@openbsd.org>

Fix built.

The api changed to handle cookies and extended error codes.

Passing in NULL for config_file disables cookie handling so we do not
need to pass a valid comm_reply, NULL will do.


# cc695705 30-Apr-2023 jsg <jsg@openbsd.org>

avoid use after free
ok florian@


# c16f5ec7 08-Feb-2023 tb <tb@openbsd.org>

unwind: add two missing void to function definitions

Silences -Wstrict-prototype warnings seen with clang 15 on amd64 and arm64.

ok florian


# b9be5719 27-Nov-2022 tb <tb@openbsd.org>

Plug leak of tmp in case allocation of pq->abuf fails

ok florian


# 2de410b6 27-Nov-2022 tb <tb@openbsd.org>

KNF nit: place brace correctly

ok florian


# 69f07918 25-Nov-2022 bluhm <bluhm@openbsd.org>

Do not crash when a tcp query is larger than the length field
indicated.

Found by kn with amap.
Input bluhm.
OK deraadt, tb, otto, kn
from florian@


# dbf56da7 13-Mar-2022 florian <florian@openbsd.org>

parse_packet() is used by unbound to parse response packets, not
queries. There is no need to do all this work just to get access to
the query id and flags.

OK bket, sthen


# 1e80ba60 03-Mar-2022 florian <florian@openbsd.org>

Use LDNS_RCODE define; no functional change


# a1a7ba80 01-Mar-2022 florian <florian@openbsd.org>

Update to libunbound 1.15.0; heavy lifting by sthen in unbound(8).

Upstream renamed parse_edns_from_pkt to parse_edns_from_query_pkt and
added two arguments (config_file and comm_point) that we don'

Update to libunbound 1.15.0; heavy lifting by sthen in unbound(8).

Upstream renamed parse_edns_from_pkt to parse_edns_from_query_pkt and
added two arguments (config_file and comm_point) that we don't use,
adjust callers in frontend accordingly.

show more ...


# a86e21da 01-Mar-2022 florian <florian@openbsd.org>

Upstream renamed parse_extract_edns to
parse_extract_edns_from_response_msg and parse_edns_from_pkt to
parse_edns_from_query_pkt in libunbound 1.14.0.
Both funktions work equally well for us but it w

Upstream renamed parse_extract_edns to
parse_extract_edns_from_response_msg and parse_edns_from_pkt to
parse_edns_from_query_pkt in libunbound 1.14.0.
Both funktions work equally well for us but it would look weird to use
the "from_response_msg" function on the query so switch to
parse_edns_from_pkt in preparation for the libunbound update.

testing & OK sthen

show more ...


# 04e11352 16-Nov-2021 kn <kn@openbsd.org>

Validate RTM_PROPOSAL in resolver not frontend

The resolver is the actual consumer and shouldn't trust the frontend.
Fold the IPv4/IPv6 specific checks thanks to the previous commit.

Idea from flor

Validate RTM_PROPOSAL in resolver not frontend

The resolver is the actual consumer and shouldn't trust the frontend.
Fold the IPv4/IPv6 specific checks thanks to the previous commit.

Idea from florian
OK florian

show more ...


# abb04357 06-Feb-2021 florian <florian@openbsd.org>

Revert delayed opening of trust anchor file. The code was somewhat
ugly and the underlying problem (dhclient and unwind playing well
together) should be solved differently.
Final straw was jca report

Revert delayed opening of trust anchor file. The code was somewhat
ugly and the underlying problem (dhclient and unwind playing well
together) should be solved differently.
Final straw was jca reporting that it breaks his setup.

show more ...


# bdac6e2d 30-Jan-2021 florian <florian@openbsd.org>

Re-try to open DNSSEC trust anchor file if /var is not mounted yet.
This is a step towards starting unwind earlier, before the network is
up and partitions are mounted.
OK kn


# 5dca88ce 27-Jan-2021 florian <florian@openbsd.org>

Determine available address families (and monitor when this changes)
to configure libunbound accordingly. This way it no longer tries to
talk to IPv6 nameservers when only IPv4 is available and vice

Determine available address families (and monitor when this changes)
to configure libunbound accordingly. This way it no longer tries to
talk to IPv6 nameservers when only IPv4 is available and vice versa.
input deraadt
OK kn

show more ...


# 00b0420e 24-Jan-2021 florian <florian@openbsd.org>

Implement DNS64 synthesis.
When unwind(8) learns new autoconf resolvers (from dhcp or router
advertisements) it checks if a DNS64 is present in this network
location and tries to recover the IPv6 pre

Implement DNS64 synthesis.
When unwind(8) learns new autoconf resolvers (from dhcp or router
advertisements) it checks if a DNS64 is present in this network
location and tries to recover the IPv6 prefix used according to
RFC7050.
The learned autoconf resolvers are then prevented from upgrading to
the validating state since DNS64 breaks DNSSEC.
unwind(8) can now perform its own synthesis. If a query for a AAAA
record results in no answer we re-send the query for A and if that
leads to an answer we synthesize an AAAA answer using the learned
prefixes.

Testing & OK kn

show more ...


# d81b02e2 19-Jan-2021 florian <florian@openbsd.org>

Make imsg event structs static to fix -fno-common.
Follows claudio's lead in ospfd et al.
Problem reported by mortimer.


# 3538560b 19-Jan-2021 florian <florian@openbsd.org>

Move control_state and ctl_conns to control.c, it's not needed
elsewhere and unbreaks -fno-common.
Inspired by claudio
Problem reported by mortimer


# 7be68703 19-Jan-2021 florian <florian@openbsd.org>

Reduce scope of routesock unbreaking -fno-common.
Problem reported by mortimer.


# d223f0d9 19-Jan-2021 florian <florian@openbsd.org>

No need for a global uw_process; unbreaks -fno-common.
Problem reported by mortimer


# 297af7e1 12-Jan-2021 florian <florian@openbsd.org>

Implement listening on 53/TCP
Since we are only serving localhost we could get away with doing
serving over UDP only because we have a huge MTU on lo0, it's still
not correct behavior.
This also enab

Implement listening on 53/TCP
Since we are only serving localhost we could get away with doing
serving over UDP only because we have a huge MTU on lo0, it's still
not correct behavior.
This also enables sending truncated answers with TC set if the answer
does not fit into the edns announced udp size.

Testing at least by matthieu, jca, otto, phessler
OK phessler

show more ...


# a8ba344b 12-Jan-2021 florian <florian@openbsd.org>

Rewrite query parsing and answer formatting using libunbound provided
functions.
With this we can filter out DNSSEC RRsets if the client did not ask
for them. We will also be able to send truncated a

Rewrite query parsing and answer formatting using libunbound provided
functions.
With this we can filter out DNSSEC RRsets if the client did not ask
for them. We will also be able to send truncated answers to indicate
to the client to switch to tcp. This will be enabled in the next
commit.

Testing at least by matthieu, jca, otto, phessler
OK phessler

show more ...


# 4753c8fd 26-Dec-2020 florian <florian@openbsd.org>

Otto hit an impossible situation: an answer bigger than 64k.
Log the query and answer SERVFAIL instead of exiting fataly.
That way we can at least figure out where libunbound goes off the
rail.
OK ot

Otto hit an impossible situation: an answer bigger than 64k.
Log the query and answer SERVFAIL instead of exiting fataly.
That way we can at least figure out where libunbound goes off the
rail.
OK otto

show more ...


# 1548e3a9 11-Dec-2020 florian <florian@openbsd.org>

The recent fix to handle large answers in unwind (errata #5 for 6.8)
has the downside to always copy the maximum IMSG size (about 16k)
between the resolver and frontend process for DNS answers becaus

The recent fix to handle large answers in unwind (errata #5 for 6.8)
has the downside to always copy the maximum IMSG size (about 16k)
between the resolver and frontend process for DNS answers because
we had to keep it as simple as possible.
We can now rearange things in -current to be less wasteful. This copies
only the usually small DNS answer.
In the unusual case that a DNS answer is larger than the maximum IMSG size
fragment the message and send multiple IMSGs.

show more ...


# 3bcff273 09-Nov-2020 tb <tb@openbsd.org>

Use RB_FOREACH_SAFE instead of handrolling it

No binary change on amd64.

ok florian


1234