]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
chg: dev: Shrunk cfgobj down from 72 bytes to 48 bytes
authorColin Vidal <colin@isc.org>
Fri, 5 Dec 2025 08:35:58 +0000 (09:35 +0100)
committerColin Vidal <colin@isc.org>
Fri, 5 Dec 2025 08:35:58 +0000 (09:35 +0100)
Make all non-scalar properties of `cfg_obj_t` allocated values, which
ensures the union size is the width of one pointer. Also reorder the
fields inside `cfg_obj_t` to avoid alignment padding that would increase
the size. As a result, a `cfg_obj_t` instance is now 48 bytes on a
64-bit platform.

Add a static assertion to avoid increasing the size of the struct by
mistake.

The function `parse_sockaddrsub` was taking advantage of the fact that
both sockaddr and sockaddrtls were in the same position, and used to
initialize the sockaddr field independently if this was a -tls one or
not. This doesn't work anymore now that all fields are allocated,
so it has been slightly rewritten to take both cases into account
separately.

Merge branch 'colin/cfgobj-48bytes' into 'main'

See merge request isc-projects/bind9!11239


Trivial merge