all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [POC proxmox proxmox-backup 0/4] use custom DNS resolver for
@ 2024-09-28  9:42 Christian Ebner
  2024-09-28  9:42 ` [pbs-devel] [POC proxmox 1/4] http: client: make https connector generic over resolver Christian Ebner
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Christian Ebner @ 2024-09-28  9:42 UTC (permalink / raw)
  To: pbs-devel

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.

[0] https://bugzilla.proxmox.com/show_bug.cgi?id=4788
[1] https://sourceware.org/glibc/wiki/FAQ#Even_statically_linked_programs_need_some_shared_libraries_which_is_not_acceptable_for_me.__What_can_I_do.3F
[2] https://github.com/hickory-dns/hickory-dns

proxmox:

Christian Ebner (1):
  http: client: make https connector generic over resolver

 proxmox-http/Cargo.toml              |  1 +
 proxmox-http/debian/control          |  8 +++++---
 proxmox-http/src/client/connector.rs | 17 ++++++++++++-----
 proxmox-http/src/client/simple.rs    |  3 ++-
 4 files changed, 20 insertions(+), 9 deletions(-)

proxmox-backup:

Christian Ebner (3):
  Makefile: target for statically linked client binary
  Makefile: switch path based on build mode by using COMPILEDIR
  client: http: Use custom resolver for statically linked binary

 Cargo.toml                    |  6 +++
 Makefile                      |  9 ++++
 pbs-client/Cargo.toml         |  1 +
 pbs-client/src/http_client.rs | 81 +++++++++++++++++++++++++++++++++--
 4 files changed, 93 insertions(+), 4 deletions(-)

-- 
2.39.5



_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-10-08 15:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-28  9:42 [pbs-devel] [POC proxmox proxmox-backup 0/4] use custom DNS resolver for Christian Ebner
2024-09-28  9:42 ` [pbs-devel] [POC proxmox 1/4] http: client: make https connector generic over resolver Christian Ebner
2024-09-28  9:42 ` [pbs-devel] [POC proxmox-backup 2/4] Makefile: target for statically linked client binary Christian Ebner
2024-09-28  9:42 ` [pbs-devel] [POC proxmox-backup 3/4] Makefile: switch path based on build mode by using COMPILEDIR Christian Ebner
2024-09-28  9:42 ` [pbs-devel] [POC proxmox-backup 4/4] client: http: Use custom resolver for statically linked binary Christian Ebner
2024-10-08 14:50 ` [pbs-devel] [POC proxmox proxmox-backup 0/4] use custom DNS resolver for Gabriel Goller
2024-10-08 15:13   ` Christian Ebner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal