From eacc001d69c7417bf2dc34fa1fd5a3e861a8e722 Mon Sep 17 00:00:00 2001 From: Xe Iaso Date: Fri, 18 Jul 2025 22:03:07 -0400 Subject: [PATCH] fix(cmd/anubis): ignore errors for unix socket chmod Signed-off-by: Xe Iaso --- cmd/anubis/main.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/cmd/anubis/main.go b/cmd/anubis/main.go index 9eb2f54..ab550ad 100644 --- a/cmd/anubis/main.go +++ b/cmd/anubis/main.go @@ -166,19 +166,19 @@ func setupListener(network string, address string) (net.Listener, string) { // additional permission handling for unix sockets if network == "unix" { + slog.Debug("parsing socket mode", "mode_string", *socketMode, "address", address) + mode, err := strconv.ParseUint(*socketMode, 8, 0) if err != nil { listener.Close() - log.Fatal(fmt.Errorf("could not parse socket mode %s: %w", *socketMode, err)) + slog.Error("could not parse socket mode", "mode", *socketMode, "err", err) + os.Exit(1) } - err = os.Chmod(address, os.FileMode(mode)) - if err != nil { - err := listener.Close() - if err != nil { - log.Printf("failed to close listener: %v", err) - } - log.Fatal(fmt.Errorf("could not change socket mode: %w", err)) + if err := os.Chmod(address, os.FileMode(mode)); err != nil { + // Ignore chmod errors on Unix domain sockets - this is expected behavior + // on many systems/containers where socket permissions cannot be changed + slog.Debug("chmod failed on socket (ignoring)", "path", address, "err", err) } }