[pbs-devel] [POC proxmox proxmox-backup 0/4] use custom DNS resolver for
Gabriel Goller
g.goller at proxmox.com
Tue Oct 8 16:50:26 CEST 2024
On 28.09.2024 11:42, Christian Ebner wrote:
>As discussed in issue #4788 [0], statically linking of the
>`proxmox-backup-client` still suffers from possible incompatible
>dependencies on the NSS module libraries, further described in
>[1].
>
>This proof of concept drafts a possible workaround by relying on
>`hickory-dns` [2], using the hickory-resolver for name resolution
>instead of the default `getaddrinfo` based `GaiResolver` used by
>the hyper http client, as suggested by Thomas.
>
>These patches still need some polishing, but allow already to compile
>a static binary without the glibc issues as descibied in the issue,
>therefore sending them for possible more widespread testing.
>
>Initial testing on ArchLinux with glic 2.40+r16+gaa533d58ff-2,
>previously leading to floating point exceptions, now allows to backup
>without issues using the patched client.
>
>A major downside is the required dependencies for hickory-dns`, as with
>the feature `system-config` enabled (used to read nameservers from
>`/etc/resolv.conf`), also the windows dependencies on `ipconfig` and
>it's subdependencies are required.
This would be a dealbreaker for us IMO, but luckily this has already
been fixed on the main branch!
The whole 'ipconfig' crate is an optional dependency and should only be
pulled in if the target is windows. This is already implemented in the
latest version [1], but it doesn't yet work quite right. This pull
request (already merged) [0], solves this by removes the implicit
features (which are created on a optional dependency automatically).
This means we either use the main branch for now, or wait until the next
version is released and we can remove ipconfig, widestring, windows-sys
and winreg!
[0]: https://github.com/hickory-dns/hickory-dns/pull/2337
[1]: https://github.com/hickory-dns/hickory-dns/blob/7887002d1198ed9faaaae531e0f9815c10589f7a/crates/resolver/Cargo.toml#L104
More information about the pbs-devel
mailing list