]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: Use doas -n in TestSUID on OpenBSD
authorJosh Rickmar <jrick@zettaport.com>
Mon, 12 Jun 2023 16:10:55 +0000 (16:10 +0000)
committerDavid Chase <drchase@google.com>
Tue, 13 Jun 2023 18:10:14 +0000 (18:10 +0000)
This prevents a hang at a su password prompt when running this test on
OpenBSD.

Fixes #60690.

Change-Id: I62d27aa63f225f8247c324b87b5e688319061f4f
GitHub-Last-Rev: 217813a4d57a97954449d13c24a465aa0af41da3
GitHub-Pull-Request: golang/go#60742
Reviewed-on: https://go-review.googlesource.com/c/go/+/502575
Run-TryBot: David Chase <drchase@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
src/runtime/security_test.go

index 1d304113d6abf73ae4b5807ffde3f1551f50098f..5cd90f9d1fa67750f8fdb281bcbdac811f201994 100644 (file)
@@ -27,6 +27,8 @@ func privesc(command string, args ...string) error {
        var cmd *exec.Cmd
        if runtime.GOOS == "darwin" {
                cmd = exec.CommandContext(ctx, "sudo", append([]string{"-n", command}, args...)...)
+       } else if runtime.GOOS == "openbsd" {
+               cmd = exec.CommandContext(ctx, "doas", append([]string{"-n", command}, args...)...)
        } else {
                cmd = exec.CommandContext(ctx, "su", highPrivUser, "-c", fmt.Sprintf("%s %s", command, strings.Join(args, " ")))
        }