diff --git a/runner/runner.go b/runner/runner.go index 31e33cc..4ddf199 100644 --- a/runner/runner.go +++ b/runner/runner.go @@ -77,6 +77,9 @@ func startListening(connectionType, listenAddr string, port, keepAlive int) (net network, addr := getNetworkAndAddr(listenAddr, port) lc := net.ListenConfig{KeepAlive: time.Duration(keepAlive) * time.Second} + oldMask := umask(0) + defer umask(oldMask) + l, err := lc.Listen(context.Background(), network, addr) if err == nil { fmt.Println("Started listening for", connectionType, "on", l.Addr().Network(), l.Addr().String()) diff --git a/runner/umask.go b/runner/umask.go new file mode 100644 index 0000000..d25d7c7 --- /dev/null +++ b/runner/umask.go @@ -0,0 +1,7 @@ +//go:build unix + +package runner + +import "syscall" + +var umask = syscall.Umask diff --git a/runner/umask_fallback.go b/runner/umask_fallback.go new file mode 100644 index 0000000..4c5c2fb --- /dev/null +++ b/runner/umask_fallback.go @@ -0,0 +1,7 @@ +//go:build !unix + +package runner + +func umask(_ int) int { + return 0 +}