yrutschle / sslh

Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)
https://www.rutschle.net/tech/sslh/README.html
GNU General Public License v2.0
4.58k stars 367 forks source link

sprintaddr:getnameinfo: Temporary failure in name resolution #426

Open JoshuaPettus opened 9 months ago

JoshuaPettus commented 9 months ago

Hi I'm using sslh-ev 2.0.1. ( I don't think the flavor of sslh is the problem but do let me know and I can give another a try)

One issue I have been having since the very beginning is I keep getting "sprintaddr:getnameinfo: Temporary failure in name resolution" errors in the log. Which is weird as DNS works just fine for the rest of the machine. It's only sslh complaining.

{edit} the other stuff I was noticing was unrelated

yrutschle commented 9 months ago

On Thu, Feb 08, 2024 at 12:07:58PM -0800, Joshua Pettus wrote:

One issue I have been having since the very beginning is I keep getting "sprintaddr:getnameinfo: Temporary failure in name resolution" errors in the log.

Can you run sslh under strace and see if something fails upon resolution?

JoshuaPettus commented 9 months ago

I tried running it under strace. It launches though strace quits once it does. Don't know if this is the output you are looking for

I forgot to mention the issue always seemed benign, which is why I took forever reporting it. It just seems odd.

strace output ``` execve("/usr/sbin/sslh-ev", ["sslh-ev", "-F/etc/sslh/sslh.cfg"], 0x7ffd212a4c58 /* 13 vars */) = 0 brk(NULL) = 0x55e009c8b000 arch_prctl(0x3001 /* ARCH_??? */, 0x7ffdda209820) = -1 EINVAL (Invalid argument) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4149354000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=65331, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 65331, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f4149306000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=637632, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 639760, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4149266000 mmap(0x7f4149268000, 450560, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f4149268000 mmap(0x7f41492d6000, 176128, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x70000) = 0x7f41492d6000 mmap(0x7f4149301000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9a000) = 0x7f4149301000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libwrap.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=44872, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 48192, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4149256000 mmap(0x7f4149259000, 20480, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f4149259000 mmap(0x7f414925e000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7f414925e000 mmap(0x7f4149260000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f4149260000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libconfig.so.9", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3404\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=51584, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 53584, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4149246000 mmap(0x7f4149249000, 24576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f4149249000 mmap(0x7f414924f000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f414924f000 mmap(0x7f4149252000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7f4149252000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libcap.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=39024, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 41016, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4149236000 mmap(0x7f4149239000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f4149239000 mmap(0x7f414923d000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f414923d000 mmap(0x7f414923f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7f414923f000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libsystemd.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=807936, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 812384, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f414916e000 mprotect(0x7f4149181000, 700416, PROT_NONE) = 0 mmap(0x7f4149181000, 520192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x7f4149181000 mmap(0x7f4149200000, 176128, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x92000) = 0x7f4149200000 mmap(0x7f414922c000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xbd000) = 0x7f414922c000 mmap(0x7f4149234000, 1376, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4149234000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libbsd.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=89096, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 94432, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4149156000 mprotect(0x7f414915a000, 69632, PROT_NONE) = 0 mmap(0x7f414915a000, 53248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f414915a000 mmap(0x7f4149167000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7f4149167000 mmap(0x7f414916b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7f414916b000 mmap(0x7f414916d000, 224, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f414916d000 close(3) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4149352000 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libev.so.4", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2407\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=67584, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 72768, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f414913e000 mmap(0x7f4149141000, 36864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f4149141000 mmap(0x7f414914a000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7f414914a000 mmap(0x7f414914e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f414914e000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\237\2\0\0\0\0\0"..., 832) = 832 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 pread64(3, "\4\0\0\0 \0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0"..., 48, 848) = 48 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\302\211\332Pq\2439\235\350\223\322\257\201\326\243\f"..., 68, 896) = 68 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2220400, ...}, AT_EMPTY_PATH) = 0 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 mmap(NULL, 2264656, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148f0e000 mprotect(0x7f4148f36000, 2023424, PROT_NONE) = 0 mmap(0x7f4148f36000, 1658880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f4148f36000 mmap(0x7f41490cb000, 360448, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bd000) = 0x7f41490cb000 mmap(0x7f4149124000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x215000) = 0x7f4149124000 mmap(0x7f414912a000, 52816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f414912a000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libnsl.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=93280, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 105032, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148eee000 mmap(0x7f4148ef2000, 57344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f4148ef2000 mmap(0x7f4148f00000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0x7f4148f00000 mmap(0x7f4148f04000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f4148f04000 mmap(0x7f4148f06000, 6728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4148f06000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/liblzma.so.5", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=170456, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 172296, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148ebe000 mmap(0x7f4148ec1000, 110592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f4148ec1000 mmap(0x7f4148edc000, 45056, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e000) = 0x7f4148edc000 mmap(0x7f4148ee7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f4148ee7000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libzstd.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=841808, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 843832, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148dee000 mmap(0x7f4148df8000, 729088, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f4148df8000 mmap(0x7f4148eaa000, 69632, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xbc000) = 0x7f4148eaa000 mmap(0x7f4148ebb000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xcc000) = 0x7f4148ebb000read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=125152, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 127072, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148dce000 mprotect(0x7f4148dd0000, 114688, PROT_NONE) = 0 mmap(0x7f4148dd0000, 102400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f4148dd0000 mmap(0x7f4148de9000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0x7f4148de9000 mmap(0x7f4148dec000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d000) = 0x7f4148dec000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgcrypt.so.20", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=1296312, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4149304000 mmap(NULL, 1299576, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148c8e000 mprotect(0x7f4148c9d000, 1200128, PROT_NONE) = 0 mmap(0x7f4148c9d000, 942080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f4148c9d000 mmap(0x7f4148d83000, 253952, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf5000) = 0x7f4148d83000 mmap(0x7f4148dc2000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x133000) = 0x7f4148dc2000 mmap(0x7f4148dcb000, 1144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4148dcb000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libmd.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=47472, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 49384, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148c7e000 mmap(0x7f4148c80000, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f4148c80000 mmap(0x7f4148c87000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f4148c87000 mmap(0x7f4148c89000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f4148c89000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libtirpc.so.3", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=182912, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 187256, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148c4e000 mprotect(0x7f4148c55000, 151552, PROT_NONE) = 0 mmap(0x7f4148c55000, 110592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f4148c55000 mmap(0x7f4148c70000, 36864, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7f4148c70000 mmap(0x7f4148c7a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2b000) = 0x7f4148c7a000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgpg-error.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=149760, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 151992, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148c26000 mmap(0x7f4148c2a000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f4148c2a000 mmap(0x7f4148c40000, 40960, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0x7f4148c40000 mmap(0x7f4148c4a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x23000) = 0x7f4148c4a000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=338648, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 340960, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148bce000 mprotect(0x7f4148bd9000, 282624, PROT_NONE) = 0 mmap(0x7f4148bd9000, 229376, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7f4148bd9000 mmap(0x7f4148c11000, 49152, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x43000) = 0x7f4148c11000 mmap(0x7f4148c1e000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4f000) = 0x7f4148c1e000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libkrb5.so.3", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=827936, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4149264000 mmap(NULL, 830576, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148afe000 mprotect(0x7f4148b1f000, 634880, PROT_NONE) = 0 mmap(0x7f4148b1f000, 380928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x21000) = 0x7f4148b1f000 mmap(0x7f4148b7c000, 249856, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7e000) = 0x7f4148b7c000 mmap(0x7f4148bba000, 61440, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xbb000) = 0x7f4148bba000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libk5crypto.so.3", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=182864, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 188472, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148ace000 mprotect(0x7f4148ad2000, 163840, PROT_NONE) = 0 mmap(0x7f4148ad2000, 110592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f4148ad2000 mmap(0x7f4148aed000, 49152, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0x7f4148aed000 mmap(0x7f4148afa000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2b000) = 0x7f4148afa000 mmap(0x7f4148afc000, 56, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4148afc000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libcom_err.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=18504, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 20552, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148ac6000 mmap(0x7f4148ac8000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f4148ac8000 mmap(0x7f4148ac9000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f4148ac9000 mmap(0x7f4148aca000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f4148aca000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libkrb5support.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=52016, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 54224, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148ab6000 mprotect(0x7f4148ab9000, 36864, PROT_NONE) = 0 mmap(0x7f4148ab9000, 24576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f4148ab9000 mmap(0x7f4148abf000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f4148abf000 mmap(0x7f4148ac2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7f4148ac2000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libkeyutils.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=22600, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 24592, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148aae000 mmap(0x7f4148ab0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f4148ab0000 mmap(0x7f4148ab2000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f4148ab2000 mmap(0x7f4148ab3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f4148ab3000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=68552, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 80456, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4148a96000 mmap(0x7f4148a99000, 40960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f4148a99000 mmap(0x7f4148aa3000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0x7f4148aa3000 mmap(0x7f4148aa6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f4148aa6000 mmap(0x7f4148aa8000, 6728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4148aa8000 close(3) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4149262000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4149254000 arch_prctl(ARCH_SET_FS, 0x7f41492553c0) = 0 set_tid_address(0x7f4149255690) = 1365199 set_robust_list(0x7f41492556a0, 24) = 0 rseq(0x7f4149255d60, 0x20, 0, 0x53053053) = 0 mprotect(0x7f4149124000, 16384, PROT_READ) = 0 mprotect(0x7f4148aa6000, 4096, PROT_READ) = 0 mprotect(0x7f4148ab3000, 4096, PROT_READ) = 0 mprotect(0x7f4148ac2000, 4096, PROT_READ) = 0 mprotect(0x7f4148aca000, 4096, PROT_READ) = 0 mprotect(0x7f4148afa000, 4096, PROT_READ) = 0 mprotect(0x7f4148bba000, 53248, PROT_READ) = 0 mprotect(0x7f4148c1e000, 8192, PROT_READ) = 0 mprotect(0x7f4148c4a000, 4096, PROT_READ) = 0 mprotect(0x7f4148c7a000, 4096, PROT_READ) = 0 mprotect(0x7f4148c89000, 4096, PROT_READ) = 0 mprotect(0x7f4148dc2000, 12288, PROT_READ) = 0 mprotect(0x7f4148dec000, 4096, PROT_READ) = 0 mprotect(0x7f4148ebb000, 4096, PROT_READ) = 0 mprotect(0x7f4148ee7000, 4096, PROT_READ) = 0 mprotect(0x7f4148f04000, 4096, PROT_READ) = 0 mprotect(0x7f414914e000, 4096, PROT_READ) = 0 mprotect(0x7f414916b000, 4096, PROT_READ) = 0 mprotect(0x7f414923f000, 4096, PROT_READ) = 0 mprotect(0x7f414922c000, 28672, PROT_READ) = 0 mprotect(0x7f4149252000, 4096, PROT_READ) = 0 mprotect(0x7f4149260000, 4096, PROT_READ) = 0 mprotect(0x7f4149301000, 4096, PROT_READ) = 0 mprotect(0x55e007c9f000, 4096, PROT_READ) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4149244000 mprotect(0x7f414934e000, 8192, PROT_READ) = 0 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 munmap(0x7f4149306000, 65331) = 0 getrandom("\x94\x11\x6b\x9d\xb4\xf8\x96\xfd", 8, GRND_NONBLOCK) = 8 brk(NULL) = 0x55e009c8b000 brk(0x55e009cac000) = 0x55e009cac000 prctl(PR_CAPBSET_READ, CAP_MAC_OVERRIDE) = 1 prctl(PR_CAPBSET_READ, 0x30 /* CAP_??? */) = -1 EINVAL (Invalid argument) prctl(PR_CAPBSET_READ, CAP_CHECKPOINT_RESTORE) = 1 prctl(PR_CAPBSET_READ, 0x2c /* CAP_??? */) = -1 EINVAL (Invalid argument) prctl(PR_CAPBSET_READ, 0x2a /* CAP_??? */) = -1 EINVAL (Invalid argument) prctl(PR_CAPBSET_READ, 0x29 /* CAP_??? */) = -1 EINVAL (Invalid argument) openat(AT_FDCWD, "/etc/sslh/sslh.cfg", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=3046, ...}) = 0 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=3046, ...}, AT_EMPTY_PATH) = 0 read(3, "# This is a basic configuration "..., 8192) = 3046 read(3, "", 4096) = 0 read(3, "", 8192) = 0 close(3) = 0 socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 3 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 setsockopt(3, SOL_IP, IP_FREEBIND, [1], 4) = 0 bind(3, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("192.168.2.2")}, 16) = 0 listen(3, 50) = 0newfstatat(AT_FDCWD, "/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=801, ...}, 0) = 0 openat(AT_FDCWD, "/etc/host.conf", O_RDONLY|O_CLOEXEC) = 4 newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=92, ...}, AT_EMPTY_PATH) = 0 read(4, "# The \"order\" line is only used "..., 4096) = 92 read(4, "", 4096) = 0 close(4) = 0 futex(0x7f414913132c, FUTEX_WAKE_PRIVATE, 2147483647) = 0 openat(AT_FDCWD, "/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 4 newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=801, ...}, AT_EMPTY_PATH) = 0 read(4, "# This is /run/systemd/resolve/r"..., 4096) = 801 read(4, "", 4096) = 0 newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=801, ...}, AT_EMPTY_PATH) = 0 close(4) = 0 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4 connect(4, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(4) = 0 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4 connect(4, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(4) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=542, ...}, 0) = 0 newfstatat(AT_FDCWD, "/", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 4 newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=542, ...}, AT_EMPTY_PATH) = 0 read(4, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 542 read(4, "", 4096) = 0 newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=542, ...}, AT_EMPTY_PATH) = 0 close(4) = 0 openat(AT_FDCWD, "/etc/hosts", O_RDONLY|O_CLOEXEC) = 4 newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=529, ...}, AT_EMPTY_PATH) = 0 lseek(4, 0, SEEK_SET) = 0 read(4, "127.0.0.1\tlocalhost\n127.0.1.1\tJo"..., 4096) = 529 read(4, "", 4096) = 0 close(4) = 0 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 4 newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=65331, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 65331, PROT_READ, MAP_PRIVATE, 4, 0) = 0x7f4148a86000 close(4) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2", O_RDONLY|O_CLOEXEC) = 4 read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=18664, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 20496, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0x7f414930e000 mmap(0x7f414930f000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x1000) = 0x7f414930f000 mmap(0x7f4149311000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x3000) = 0x7f4149311000 mmap(0x7f4149312000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x3000) = 0x7f4149312000 close(4) = 0 mprotect(0x7f4149312000, 4096, PROT_READ) = 0 munmap(0x7f4148a86000, 65331) = 0 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 4 setsockopt(4, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(4, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("1.1.1.1")}, 16) = 0 poll([{fd=4, events=POLLOUT}], 1, 0) = 1 ([{fd=4, revents=POLLOUT}]) sendto(4, "\7\31\1\0\0\1\0\0\0\0\0\0\0012\0012\003168\003192\7in-addr"..., 42, MSG_NOSIGNAL, NULL, 0) = 42 poll([{fd=4, events=POLLIN}], 1, 5000) = 1 ([{fd=4, revents=POLLIN}]) ioctl(4, FIONREAD, [42]) = 0 recvfrom(4, "\7\31\201\203\0\1\0\0\0\0\0\0\0012\0012\003168\003192\7in-addr"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("1.1.1.1")}, [28 => 16]) = 42 close(4) = 0 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4 connect(4, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(4) = 0 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4 connect(4, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(4) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=542, ...}, 0) = 0 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 4 newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=65331, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 65331, PROT_READ, MAP_PRIVATE, 4, 0) = 0x7f4148a86000 close(4) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu", {st_mode=S_IFDIR|0755, st_size=81920, ...}, 0) = 0 openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu", {st_mode=S_IFDIR|0755, st_size=81920, ...}, 0) = 0 openat(AT_FDCWD, "/lib/glibc-hwcaps/x86-64-v2/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/glibc-hwcaps/x86-64-v2", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/tls/x86_64/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/tls/x86_64/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/tls/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/tls/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/tls/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/tls/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/tls/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/tls", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/usr/lib/glibc-hwcaps/x86-64-v2/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/glibc-hwcaps/x86-64-v2", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/x86_64/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/tls/x86_64/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/tls/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/tls/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/tls", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib/x86_64", 0x7ffdda207a60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libnss_db.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 munmap(0x7f4148a86000, 65331) = 0 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 4 newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=65331, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 65331, PROT_READ, MAP_PRIVATE, 4, 0) = 0x7f4148a86000 close(4) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libnss_db-2.35.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libnss_db-2.35.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libnss_db-2.35.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libnss_db-2.35.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) munmap(0x7f4148a86000, 65331) = 0 openat(AT_FDCWD, "/etc/services", O_RDONLY|O_CLOEXEC) = 4 newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=12813, ...}, AT_EMPTY_PATH) = 0 lseek(4, 0, SEEK_SET) = 0 read(4, "# Network services, Internet sty"..., 4096) = 4096 close(4) = 0 socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 4 setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 setsockopt(4, SOL_IP, IP_FREEBIND, [1], 4) = 0 bind(4, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("192.168.2.2")}, 16) = 0 newfstatat(AT_FDCWD, "/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=801, ...}, 0) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=542, ...}, 0) = 0 openat(AT_FDCWD, "/etc/hosts", O_RDONLY|O_CLOEXEC) = 5 newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=529, ...}, AT_EMPTY_PATH) = 0 lseek(5, 0, SEEK_SET) = 0 read(5, "127.0.0.1\tlocalhost\n127.0.1.1\tJo"..., 4096) = 529 read(5, "", 4096) = 0 close(5) = 0 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 5 setsockopt(5, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("1.1.1.1")}, 16) = 0 poll([{fd=5, events=POLLOUT}], 1, 0) = 1 ([{fd=5, revents=POLLOUT}]) sendto(5, "\242B\1\0\0\1\0\0\0\0\0\0\0012\0012\003168\003192\7in-addr"..., 42, MSG_NOSIGNAL, NULL, 0) = 42 poll([{fd=5, events=POLLIN}], 1, 5000) = 1 ([{fd=5, revents=POLLIN}]) ioctl(5, FIONREAD, [42]) = 0 recvfrom(5, "\242B\201\203\0\1\0\0\0\0\0\0\0012\0012\003168\003192\7in-addr"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("1.1.1.1")}, [28 => 16]) = 42 close(5) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=542, ...}, 0) = 0 openat(AT_FDCWD, "/etc/services", O_RDONLY|O_CLOEXEC) = 5 newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=12813, ...}, AT_EMPTY_PATH) = 0 lseek(5, 0, SEEK_SET) = 0 read(5, "# Network services, Internet sty"..., 4096) = 4096 close(5) = 0 socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 5 setsockopt(5, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 setsockopt(5, SOL_IP, IP_FREEBIND, [1], 4) = 0 bind(5, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("10.8.0.1")}, 16) = 0 listen(5, 50) = 0 newfstatat(AT_FDCWD, "/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=801, ...}, 0) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=542, ...}, 0) = 0 openat(AT_FDCWD, "/etc/hosts", O_RDONLY|O_CLOEXEC) = 6 newfstatat(6, "", {st_mode=S_IFREG|0644, st_size=529, ...}, AT_EMPTY_PATH) = 0 lseek(6, 0, SEEK_SET) = 0 read(6, "127.0.0.1\tlocalhost\n127.0.1.1\tJo"..., 4096) = 529 read(6, "", 4096) = 0 close(6) = 0 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 6 setsockopt(6, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(6, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("1.1.1.1")}, 16) = 0 poll([{fd=6, events=POLLOUT}], 1, 0) = 1 ([{fd=6, revents=POLLOUT}]) sendto(6, "[\257\1\0\0\1\0\0\0\0\0\0\0011\0010\18\00210\7in-addr\4ar"..., 39, MSG_NOSIGNAL, NULL, 0) = 39 poll([{fd=6, events=POLLIN}], 1, 5000) = 1 ([{fd=6, revents=POLLIN}]) ioctl(6, FIONREAD, [39]) = 0 recvfrom(6, "[\257\201\203\0\1\0\0\0\0\0\0\0011\0010\18\00210\7in-addr\4ar"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("1.1.1.1")}, [28 => 16]) = 39 close(6) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=542, ...}, 0) = 0 openat(AT_FDCWD, "/etc/services", O_RDONLY|O_CLOEXEC) = 6 newfstatat(6, "", {st_mode=S_IFREG|0644, st_size=12813, ...}, AT_EMPTY_PATH) = 0 lseek(6, 0, SEEK_SET) = 0 read(6, "# Network services, Internet sty"..., 4096) = 4096 close(6) = 0 socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 6 setsockopt(6, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 setsockopt(6, SOL_IP, IP_FREEBIND, [1], 4) = 0 bind(6, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("10.8.0.1")}, 16) = 0 newfstatat(AT_FDCWD, "/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=801, ...}, 0) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=542, ...}, 0) = 0 openat(AT_FDCWD, "/etc/hosts", O_RDONLY|O_CLOEXEC) = 7 newfstatat(7, "", {st_mode=S_IFREG|0644, st_size=529, ...}, AT_EMPTY_PATH) = 0 lseek(7, 0, SEEK_SET) = 0 read(7, "127.0.0.1\tlocalhost\n127.0.1.1\tJo"..., 4096) = 529 read(7, "", 4096) = 0 close(7) = 0 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 7 setsockopt(7, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(7, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("1.1.1.1")}, 16) = 0 poll([{fd=7, events=POLLOUT}], 1, 0) = 1 ([{fd=7, revents=POLLOUT}]) sendto(7, ")\215\1\0\0\1\0\0\0\0\0\0\0011\0010\18\00210\7in-addr\4ar"..., 39, MSG_NOSIGNAL, NULL, 0) = 39 poll([{fd=7, events=POLLIN}], 1, 5000) = 1 ([{fd=7, revents=POLLIN}]) ioctl(7, FIONREAD, [39]) = 0 recvfrom(7, ")\215\201\203\0\1\0\0\0\0\0\0\0011\0010\18\00210\7in-addr\4ar"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("1.1.1.1")}, [28 => 16]) = 39 close(7) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=542, ...}, 0) = 0 openat(AT_FDCWD, "/etc/services", O_RDONLY|O_CLOEXEC) = 7 newfstatat(7, "", {st_mode=S_IFREG|0644, st_size=12813, ...}, AT_EMPTY_PATH) = 0 lseek(7, 0, SEEK_SET) = 0 read(7, "# Network services, Internet sty"..., 4096) = 4096 close(7) = 0 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f4149255690) = 1365200 exit_group(0) = ? +++ exited with 0 +++ ```
yrutschle commented 9 months ago

ah yes, strace is losing sslh when it forks to detach and create a new session. Can you retry with strace -f ?

JoshuaPettus commented 9 months ago

That makes sense! Good to know. I got it to go through the error a few times. Here is the output

strace output ``` fcntl(6, F_SETFL, O_RDWR|O_NONBLOCK) = 0 epoll_ctl(8, EPOLL_CTL_ADD, 9, {events=EPOLLIN, data={u32=9, u64=4294967305}}) = 0 epoll_ctl(8, EPOLL_CTL_ADD, 3, {events=EPOLLIN, data={u32=3, u64=4294967299}}) = 0 epoll_ctl(8, EPOLL_CTL_ADD, 4, {events=EPOLLIN, data={u32=4, u64=4294967300}}) = 0 epoll_ctl(8, EPOLL_CTL_ADD, 5, {events=EPOLLIN, data={u32=5, u64=4294967301}}) = 0 epoll_ctl(8, EPOLL_CTL_ADD, 6, {events=EPOLLIN, data={u32=6, u64=4294967302}}) = 0 epoll_wait(8, [{events=EPOLLIN, data={u32=3, u64=4294967299}}], 64, 59743) = 1 accept(3, NULL, NULL) = 10 fcntl(10, F_GETFL) = 0x2 (flags O_RDWR) fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK) = 0 epoll_ctl(8, EPOLL_CTL_ADD, 10, {events=EPOLLIN, data={u32=10, u64=4294967306}}) = 0 epoll_wait(8, [{events=EPOLLIN, data={u32=10, u64=4294967306}}], 64, 59743) = 1 read(10, "\26\3\1\2\0\1\0\1\374\3\3\303P\337u\312\232\n\255/\226\366;a\216\324\37\205Y\330vs"..., 8192) = 517 newfstatat(7, "", {st_mode=S_IFREG|0644, st_size=51360228, ...}, AT_EMPTY_PATH) = 0 write(7, "probing for openvpn\n", 20) = 20 write(7, "probed for openvpn: PROBE_NEXT\n", 31) = 31 write(7, "probing for tls\n", 16) = 16 write(7, "matching [cloud.redacted.com] "..., 59) = 59 write(7, "probed for tls: PROBE_NEXT\n", 27) = 27 write(7, "probing for tls\n", 16) = 16 write(7, "matching [http/1.1] with [stun.t"..., 37) = 37 write(7, "matching [http/1.1] with [stun.n"..., 46) = 46 write(7, "Unknown ALPN name: http/1.1\n", 28) = 28 write(7, "probed for tls: PROBE_NEXT\n", 27) = 27 write(7, "probing for tls\n", 16) = 16 write(7, "probed for tls: PROBE_MATCH\n", 28) = 28 getpeername(10, {sa_family=AF_INET, sin_port=htons(65080), sin_addr=inet_addr("172.70.231.59")}, [128 => 16]) = 0 newfstatat(AT_FDCWD, "/etc/resolv.conf", 0x7fffd3a028e0, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) uname({sysname="Linux", nodename="JoshServ", ...}) = 0 newfstatat(AT_FDCWD, "/etc/nsswitch.conf", 0x7fffd3a02760, 0) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 openat(AT_FDCWD, "/etc/hosts", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 11 setsockopt(11, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(11, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 poll([{fd=11, events=POLLOUT}], 1, 0) = 1 ([{fd=11, revents=POLLOUT}]) sendto(11, "\302\16\1\0\0\1\0\0\0\0\0\0\0012\0010\0010\003127\7in-addr\4a"..., 40, MSG_NOSIGNAL, NULL, 0) = 40 poll([{fd=11, events=POLLIN}], 1, 5000) = 1 ([{fd=11, revents=POLLERR}]) close(11) = 0 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 11 setsockopt(11, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(11, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 poll([{fd=11, events=POLLOUT}], 1, 0) = 1 ([{fd=11, revents=POLLOUT}]) sendto(11, "\302\16\1\0\0\1\0\0\0\0\0\0\0012\0010\0010\003127\7in-addr\4a"..., 40, MSG_NOSIGNAL, NULL, 0) = 40 poll([{fd=11, events=POLLIN}], 1, 5000) = 1 ([{fd=11, revents=POLLERR}]) close(11) = 0 write(7, "sprintaddr:getnameinfo: Temporar"..., 61) = 61 write(7, "trying to connect to 127.0.0.2:4"..., 51) = 51 socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 11 setsockopt(11, SOL_TCP, TCP_FASTOPEN_CONNECT, [1], 4) = 0 fcntl(11, F_GETFL) = 0x2 (flags O_RDWR) fcntl(11, F_SETFL, O_RDWR|O_NONBLOCK) = 0 getpeername(10, {sa_family=AF_INET, sin_port=htons(65080), sin_addr=inet_addr("172.70.231.59")}, [128 => 16]) = 0 socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_ROUTE) = 12 bind(12, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 0 getsockname(12, {sa_family=AF_NETLINK, nl_pid=2241861, nl_groups=00000000}, [12]) = 0 sendto(12, [{nlmsg_len=20, nlmsg_type=RTM_GETLINK, nlmsg_flags=NLM_F_REQUEST|NLM_F_DUMP, nlmsg_seq=1708370883, nlmsg_pid=0}, {ifi_family=AF_UNSPEC, ...}], 20, 0, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 20 ``` ``` close(12) = 0 setsockopt(11, SOL_IP, IP_TRANSPARENT, [1], 4) = 0 bind(11, {sa_family=AF_INET, sin_port=htons(65080), sin_addr=inet_addr("172.70.231.59")}, 16) = 0 connect(11, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("127.0.0.2")}, 16) = -1 EINPROGRESS (Operation now in progress) getpeername(10, {sa_family=AF_INET, sin_port=htons(65080), sin_addr=inet_addr("172.70.231.59")}, [128 => 16]) = 0 newfstatat(AT_FDCWD, "/etc/resolv.conf", 0x7fffd3a01c60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/hosts", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 12 setsockopt(12, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(12, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 poll([{fd=12, events=POLLOUT}], 1, 0) = 1 ([{fd=12, revents=POLLOUT}]) sendto(12, "\375\311\1\0\0\1\0\0\0\0\0\0\00259\003231\00270\003172\7in-ad"..., 44, MSG_NOSIGNAL, NULL, 0) = 44 poll([{fd=12, events=POLLIN}], 1, 5000) = 1 ([{fd=12, revents=POLLERR}]) close(12) = 0 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 12 setsockopt(12, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(12, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 poll([{fd=12, events=POLLOUT}], 1, 0) = 1 ([{fd=12, revents=POLLOUT}]) sendto(12, "\375\311\1\0\0\1\0\0\0\0\0\0\00259\003231\00270\003172\7in-ad"..., 44, MSG_NOSIGNAL, NULL, 0) = 44 poll([{fd=12, events=POLLIN}], 1, 5000) = 1 ([{fd=12, revents=POLLERR}]) close(12) = 0 write(7, "sprintaddr:getnameinfo: Temporar"..., 61) = 61 getsockname(10, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("192.168.2.2")}, [128 => 16]) = 0 newfstatat(AT_FDCWD, "/etc/resolv.conf", 0x7fffd3a01c60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/hosts", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 12 setsockopt(12, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(12, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 poll([{fd=12, events=POLLOUT}], 1, 0) = 1 ([{fd=12, revents=POLLOUT}]) sendto(12, "in\1\0\0\1\0\0\0\0\0\0\0012\0012\003168\003192\7in-addr"..., 42, MSG_NOSIGNAL, NULL, 0) = 42 poll([{fd=12, events=POLLIN}], 1, 5000) = 1 ([{fd=12, revents=POLLERR}]) close(12) = 0 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 12 setsockopt(12, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(12, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 poll([{fd=12, events=POLLOUT}], 1, 0) = 1 ([{fd=12, revents=POLLOUT}]) sendto(12, "in\1\0\0\1\0\0\0\0\0\0\0012\0012\003168\003192\7in-addr"..., 42, MSG_NOSIGNAL, NULL, 0) = 42 poll([{fd=12, events=POLLIN}], 1, 5000) = 1 ([{fd=12, revents=POLLERR}]) close(12) = 0 write(7, "sprintaddr:getnameinfo: Temporar"..., 61) = 61 getpeername(11, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("127.0.0.2")}, [128 => 16]) = 0 newfstatat(AT_FDCWD, "/etc/resolv.conf", 0x7fffd3a01c60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/hosts", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 12 setsockopt(12, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(12, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 poll([{fd=12, events=POLLOUT}], 1, 0) = 1 ([{fd=12, revents=POLLOUT}]) sendto(12, "U\27\1\0\0\1\0\0\0\0\0\0\0012\0010\0010\003127\7in-addr\4a"..., 40, MSG_NOSIGNAL, NULL, 0) = 40 poll([{fd=12, events=POLLIN}], 1, 5000) = 1 ([{fd=12, revents=POLLERR}]) **sendto(12, "U\27\1\0\0\1\0\0\0\0\0\0\0012\0010\0010\003127\7in-addr\4a"..., 40, MSG_NOSIGNAL, NULL, 0) = 40 poll([{fd=12, events=POLLIN}], 1, 5000) = 1 ([{fd=12, revents=POLLERR}]) close(12) = 0 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 12 setsockopt(12, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(12, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 poll([{fd=12, events=POLLOUT}], 1, 0) = 1 ([{fd=12, revents=POLLOUT}]) sendto(12, "U\27\1\0\0\1\0\0\0\0\0\0\0012\0010\0010\003127\7in-addr\4a"..., 40, MSG_NOSIGNAL, NULL, 0) = 40 poll([{fd=12, events=POLLIN}], 1, 5000) = 1 ([{fd=12, revents=POLLERR}]) close(12) = 0 write(7, "sprintaddr:getnameinfo: Temporar"..., 61) = 61 getsockname(11, {sa_family=AF_INET, sin_port=htons(65080), sin_addr=inet_addr("172.70.231.59")}, [128 => 16]) = 0 newfstatat(AT_FDCWD, "/etc/resolv.conf", 0x7fffd3a01c60, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/hosts", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 12 setsockopt(12, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(12, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 poll([{fd=12, events=POLLOUT}], 1, 0) = 1 ([{fd=12, revents=POLLOUT}]) sendto(12, "\344l\1\0\0\1\0\0\0\0\0\0\00259\003231\00270\003172\7in-ad"..., 44, MSG_NOSIGNAL, NULL, 0) = 44 poll([{fd=12, events=POLLIN}], 1, 5000) = 1 ([{fd=12, revents=POLLERR}]) close(12) = 0 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 12 setsockopt(12, SOL_IP, IP_RECVERR, [1], 4) = 0 connect(12, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 poll([{fd=12, events=POLLOUT}], 1, 0) = 1 ([{fd=12, revents=POLLOUT}]) sendto(12, "\344l\1\0\0\1\0\0\0\0\0\0\00259\003231\00270\003172\7in-ad"..., 44, MSG_NOSIGNAL, NULL, 0) = 44 poll([{fd=12, events=POLLIN}], 1, 5000) = 1 ([{fd=12, revents=POLLERR}]) close(12) = 0 write(7, "sprintaddr:getnameinfo: Temporar"..., 61) = 61 ```

Not sure what it means by

newfstatat(AT_FDCWD, "/etc/resolv.conf", 0x7fffd3a01c60, 0) = -1 ENOENT (No such file or directory

That file most certianly exists though it is a simlink to /run/systemd/resolve/resolv.conf as part of systemd's resolver. Could it be taking issue with that?

yrutschle commented 8 months ago

It's also failing to find /etc/hosts. This could be a problem coming from the recent addition of Landlock, but I don't think 2.0.1 included that... Could you still check the startup traces (with verbose config dump at startup) if it says something about Landlock? Not being able to read these files could definitely confuse the name resolution...

kecksk0enig commented 1 month ago

I have the same problem, and willing to help the issue results in very slow tls connections to my websites. im also runnung 1.20

kecksk0enig commented 1 month ago

As a follow up i think it is possible this new behavior was introduced by a system update ( i recently upgraded my ubuntu 20.04 VPS zu 24.04, however prior to upgrading the release i had to upgrade all packages. i think the sslh package is also been upgraded (still on 20.04) and results in this behavior.

I currently runn apache2 and added another port not multiplexed by sslh to the configuration. directly connecting to that ports results in fast tls handshake /connection. going over default 443 (and thus multiplexed by sslh) results in um to 20 seconds wait for sucessfull handshake.

Observing the sslh logs all slow connections result in a sslh-select[642]: sprintaddr:getnameinfo: Temporary failure in name resolution

Any way i could provide more useful feedback?

Thank you in advance!

curl --trace-time -v   -s https://b4ckbone.de
14:49:10.929015 *   Trying 2a02:c207:3004:689::1:443...
14:49:10.953694 * Connected to b4ckbone.de (2a02:c207:3004:689::1) port 443 (#0)
14:49:10.955613 * ALPN, offering h2
14:49:10.955644 * ALPN, offering http/1.1
14:49:10.993319 *  CAfile: /etc/ssl/certs/ca-certificates.crt
14:49:10.993350 *  CApath: /etc/ssl/certs
14:49:10.993530 * TLSv1.0 (OUT), TLS header, Certificate Status (22):
14:49:10.993552 * TLSv1.3 (OUT), TLS handshake, Client hello (1):
14:49:21.058276 * TLSv1.2 (IN), TLS header, Certificate Status (22):
14:49:21.058394 * TLSv1.3 (IN), TLS handshake, Server hello (2):
14:49:21.059109 * TLSv1.2 (IN), TLS header, Finished (20):
14:49:21.059246 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:49:21.059353 * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
14:49:21.059474 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:49:21.059621 * TLSv1.3 (IN), TLS handshake, Certificate (11):
14:49:21.062761 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:49:21.062870 * TLSv1.3 (IN), TLS handshake, CERT verify (15):
14:49:21.063274 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:49:21.063442 * TLSv1.3 (IN), TLS handshake, Finished (20):
14:49:21.063664 * TLSv1.2 (OUT), TLS header, Finished (20):
14:49:21.063737 * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
14:49:21.063914 * TLSv1.2 (OUT), TLS header, Supplemental data (23):
14:49:21.064045 * TLSv1.3 (OUT), TLS handshake, Finished (20):
14:49:21.064265 * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
14:49:21.064373 * ALPN, server accepted to use http/1.1
14:49:21.064491 * Server certificate:
14:49:21.064606 *  subject: CN=b4ckbone.de
14:49:21.064697 *  start date: Aug 23 05:38:34 2024 GMT
14:49:21.064819 *  expire date: Nov 21 05:38:33 2024 GMT
14:49:21.064958 *  subjectAltName: host "b4ckbone.de" matched cert's "b4ckbone.de"
14:49:21.065105 *  issuer: C=US; O=Let's Encrypt; CN=R11
14:49:21.065221 *  SSL certificate verify ok.
14:49:21.065415 * TLSv1.2 (OUT), TLS header, Supplemental data (23):
14:49:21.065583 > GET / HTTP/1.1
14:49:21.065583 > Host: b4ckbone.de
14:49:21.065583 > User-Agent: curl/7.81.0
14:49:21.065583 > Accept: */*
14:49:21.065583 > 
14:49:21.089323 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:49:21.089539 * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
14:49:21.155317 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:49:21.155376 * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
14:49:21.155426 * old SSL session ID is stale, removing
14:49:21.155454 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:49:21.155493 * Mark bundle as not supporting multiuse
14:49:21.155514 < HTTP/1.1 200 OK
14:49:21.155534 < Date: Tue, 15 Oct 2024 12:49:20 GMT
14:49:21.155558 < Server: Apache
14:49:21.155585 < X-Frame-Options: sameorigin
14:49:21.155617 < Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
14:49:21.155642 < Upgrade: h2
14:49:21.155669 < Connection: Upgrade
14:49:21.155698 < Last-Modified: Fri, 30 Mar 2018 12:19:17 GMT
14:49:21.155726 < ETag: "102-568a03fc89278"
14:49:21.155754 < Accept-Ranges: bytes
14:49:21.155781 < Content-Length: 258
14:49:21.155809 < Vary: Accept-Encoding
14:49:21.155838 < MyHeader: D=284 t=1728996560505463
14:49:21.155869 < Content-Type: text/html
14:49:21.155897 < 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>You can access the internet :)</title>
<style type="text/css">
html {
   width:100%;
   height:100%;
   background:url(online.gif) center center no-repeat;
}
</style>
</head>
<body>
</body>
</html>
14:49:21.155960 * Connection #0 to host b4ckbone.de left intact

vs

curl --trace-time -v   -s https://b4ckbone.de:5553
14:45:00.883683 *   Trying 2a02:c207:3004:689::1:5553...
14:45:00.908371 * Connected to b4ckbone.de (2a02:c207:3004:689::1) port 5553 (#0)
14:45:00.913451 * ALPN, offering h2
14:45:00.913541 * ALPN, offering http/1.1
14:45:00.970977 *  CAfile: /etc/ssl/certs/ca-certificates.crt
14:45:00.971039 *  CApath: /etc/ssl/certs
14:45:00.971216 * TLSv1.0 (OUT), TLS header, Certificate Status (22):
14:45:00.971241 * TLSv1.3 (OUT), TLS handshake, Client hello (1):
14:45:01.006651 * TLSv1.2 (IN), TLS header, Certificate Status (22):
14:45:01.006689 * TLSv1.3 (IN), TLS handshake, Server hello (2):
14:45:01.006920 * TLSv1.2 (IN), TLS header, Finished (20):
14:45:01.006945 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:45:01.006972 * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
14:45:01.007006 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:45:01.007767 * TLSv1.3 (IN), TLS handshake, Certificate (11):
14:45:01.008639 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:45:01.008674 * TLSv1.3 (IN), TLS handshake, CERT verify (15):
14:45:01.008798 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:45:01.008834 * TLSv1.3 (IN), TLS handshake, Finished (20):
14:45:01.008893 * TLSv1.2 (OUT), TLS header, Finished (20):
14:45:01.008924 * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
14:45:01.008974 * TLSv1.2 (OUT), TLS header, Supplemental data (23):
14:45:01.009012 * TLSv1.3 (OUT), TLS handshake, Finished (20):
14:45:01.009076 * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
14:45:01.009103 * ALPN, server accepted to use http/1.1
14:45:01.009132 * Server certificate:
14:45:01.009159 *  subject: CN=b4ckbone.de
14:45:01.009186 *  start date: Aug 23 05:38:34 2024 GMT
14:45:01.009214 *  expire date: Nov 21 05:38:33 2024 GMT
14:45:01.009253 *  subjectAltName: host "b4ckbone.de" matched cert's "b4ckbone.de"
14:45:01.009287 *  issuer: C=US; O=Let's Encrypt; CN=R11
14:45:01.009322 *  SSL certificate verify ok.
14:45:01.009388 * TLSv1.2 (OUT), TLS header, Supplemental data (23):
14:45:01.009440 > GET / HTTP/1.1
14:45:01.009440 > Host: b4ckbone.de:5553
14:45:01.009440 > User-Agent: curl/7.81.0
14:45:01.009440 > Accept: */*
14:45:01.009440 > 
14:45:01.033670 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:45:01.033792 * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
14:45:01.033878 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:45:01.033933 * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
14:45:01.033991 * old SSL session ID is stale, removing
14:45:01.034051 * TLSv1.2 (IN), TLS header, Supplemental data (23):
14:45:01.034137 * Mark bundle as not supporting multiuse
14:45:01.034170 < HTTP/1.1 200 OK
14:45:01.034211 < Date: Tue, 15 Oct 2024 12:45:00 GMT
14:45:01.034249 < Server: Apache
14:45:01.034288 < X-Frame-Options: sameorigin
14:45:01.034329 < Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
14:45:01.034368 < Upgrade: h2
14:45:01.034409 < Connection: Upgrade
14:45:01.034448 < Last-Modified: Fri, 30 Mar 2018 12:19:17 GMT
14:45:01.034486 < ETag: "102-568a03fc89278"
14:45:01.034527 < Accept-Ranges: bytes
14:45:01.034566 < Content-Length: 258
14:45:01.034609 < Vary: Accept-Encoding
14:45:01.034650 < MyHeader: D=263 t=1728996300449242
14:45:01.034691 < Content-Type: text/html
14:45:01.034732 < 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>You can access the internet :)</title>
<style type="text/css">
html {
   width:100%;
   height:100%;
   background:url(online.gif) center center no-repeat;
}
</style>
</head>
<body>
</body>
</html>
14:45:01.034832 * Connection #0 to host b4ckbone.de left intact