public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Christian Ebner <c.ebner@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [POC proxmox proxmox-backup 0/4] use custom DNS resolver for
Date: Sat, 28 Sep 2024 11:42:52 +0200	[thread overview]
Message-ID: <20240928094256.153991-1-c.ebner@proxmox.com> (raw)

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


             reply	other threads:[~2024-09-28  9:43 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-28  9:42 Christian Ebner [this message]
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

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=20240928094256.153991-1-c.ebner@proxmox.com \
    --to=c.ebner@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal