Since some of those names may be passed to a shell either on the client
or server side, let's avoid getting into potential variable expansions.
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Reported-by: Rory McNamara <rory.mcnamara@snyk.io>
Replace Example test with proper unit tests for all URL builder methods.
Focus on testing our business logic rather than standard library behavior.
Fix Target method comment (checks "none" not "default").
Signed-off-by: baconyao <bacon735392@gmail.com>
The RFC3493Dialer function, before this, tried addresses sequentially
with a 10-second timeout per address. This causes problems in dual-stack
environments where one address family is unreachable:
- If DNS returns IPv4 addresses first but IPv4 is unreachable (e.g., in
IPv6-only environments), the dialer would spend 10+ seconds timing out
on each IPv4 address before trying IPv6.
- This exceeded typical HTTP client timeouts, causing connection failures
even when IPv6 connectivity was available.
This change implements Happy Eyeballs (RFC 8305):
1. Sort addresses with IPv6 first (RFC 8305 recommends preferring IPv6)
2. Start connection attempts with a 250ms staggered delay (per RFC 8305)
3. Return the first successful connection immediately
4. Finally clean up unused connections
Signed-off-by: John Axel Eriksson <john@insane.se>
Initialized GetSerial() function and integrate it into GetResources()
to expose serial devices information through the resources API.
Signed-off-by: baconyao <bacon735392@gmail.com>
Add ResourcesSerial and ResourcesSerialDevice types to expose serial
device information in the resources API.
Signed-off-by: baconyao <bacon735392@gmail.com>
The forkbpf helper creates a socket pair and forks, the child process then enters the user and mount namespaces of the container.
The child process creates a filesystem configuration context and passes it to the parent process via the socketpair.
The parent process configures the token delegation options and creates a mount file descriptor and passes that back to the child.
The child process then attaches the mount to the desired path.
Signed-off-by: Gwendolyn <me@gwendolyn.dev>
When parsing extended attributes, we may be getting EINVAL when run on ZFS.
This appears to be when dealing with ZFS namespaced xattrs and despite
being real root with all capabilities, there appears to be no way to
read or even clear those attributes.
So instead of crashing mid-shift, let's just log them and move on.
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
We added this to allow bypass expired cert verification errors, but it
causes issues with cert chains and pre-existing, older certs.
Signed-off-by: Max Asnaashari <max.asna@futurfusion.io>