diff --git a/configure b/configure index 91ae816..8fa76ac 100755 --- a/configure +++ b/configure @@ -56,6 +56,14 @@ case `uname` in so="$so libsndio.so" defs='-D_GNU_SOURCE -DDEV_RANDOM=\\"/dev/urandom\\"' ;; + NetBSD) + sun=no + rmidi=yes + user=_sndio + so="$so libsndio.so" + defs='-DHAVE_ARC4RANDOM -DHAVE_ISSETUGID \\\ + -DHAVE_STRLCAT -DHAVE_STRLCPY' + ;; OpenBSD) sun=yes rmidi=yes diff --git a/sndiod/sndiod.c b/sndiod/sndiod.c index 19a32f5..66353e2 100644 --- a/sndiod/sndiod.c +++ b/sndiod/sndiod.c @@ -485,8 +485,8 @@ main(int argc, char **argv) if (setpriority(PRIO_PROCESS, 0, SNDIO_PRIO) < 0) err(1, "setpriority"); if (setgroups(1, &pw->pw_gid) || - setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid) || - setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid)) + setgid(pw->pw_gid) || + setuid(pw->pw_uid)) err(1, "cannot drop privileges"); } midi_init();