summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2020-12-19 18:02:37 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2020-12-19 18:02:37 +0100
commiteb1dfed9abb054e4708fcb13ac6d8d537914ac77 (patch)
tree268c17a0a6758485989c4ffe71a092563936259a
parentfc5070c60057b6e02490e83f5d675786e8b8d83c (diff)
downloadplan9front-eb1dfed9abb054e4708fcb13ac6d8d537914ac77.tar.xz
libauth: change programs to use the new procsetuser() function
-rw-r--r--sys/src/cmd/auth/none.c7
-rw-r--r--sys/src/cmd/aux/listen.c6
-rw-r--r--sys/src/cmd/aux/listen1.c6
-rw-r--r--sys/src/cmd/ip/httpd/httpd.c12
-rw-r--r--sys/src/cmd/mount.c3
-rw-r--r--sys/src/cmd/srv.c5
-rw-r--r--sys/src/cmd/upas/common/become.c12
7 files changed, 14 insertions, 37 deletions
diff --git a/sys/src/cmd/auth/none.c b/sys/src/cmd/auth/none.c
index 75d8b70fa..42c264b42 100644
--- a/sys/src/cmd/auth/none.c
+++ b/sys/src/cmd/auth/none.c
@@ -43,13 +43,8 @@ main(int argc, char *argv[])
usage();
}ARGEND
- fd = open("#c/user", OWRITE);
- if(fd < 0)
- sysfatal("can't open #c/user: %r");
- if(write(fd, "none", strlen("none")) < 0)
+ if(procsetuser("none") < 0)
sysfatal("can't become none: %r");
- close(fd);
-
if(newns("none", namespace) < 0)
sysfatal("can't build namespace: %r");
diff --git a/sys/src/cmd/aux/listen.c b/sys/src/cmd/aux/listen.c
index 9969a9f2c..999044597 100644
--- a/sys/src/cmd/aux/listen.c
+++ b/sys/src/cmd/aux/listen.c
@@ -338,12 +338,8 @@ scandir(char *proto, char *protodir, char *addr, char *dname)
void
becomenone(void)
{
- int fd;
-
- fd = open("#c/user", OWRITE);
- if(fd < 0 || write(fd, "none", strlen("none")) < 0)
+ if(procsetuser("none") < 0)
error("can't become none");
- close(fd);
if(newns("none", namespace) < 0)
error("can't build namespace");
}
diff --git a/sys/src/cmd/aux/listen1.c b/sys/src/cmd/aux/listen1.c
index 5946e0591..58d5719f2 100644
--- a/sys/src/cmd/aux/listen1.c
+++ b/sys/src/cmd/aux/listen1.c
@@ -18,12 +18,8 @@ usage(void)
void
becomenone(void)
{
- int fd;
-
- fd = open("#c/user", OWRITE);
- if(fd < 0 || write(fd, "none", strlen("none")) < 0)
+ if(procsetuser("none") < 0)
sysfatal("can't become none: %r");
- close(fd);
if(newns("none", nsfile) < 0)
sysfatal("can't build namespace: %r");
}
diff --git a/sys/src/cmd/ip/httpd/httpd.c b/sys/src/cmd/ip/httpd/httpd.c
index 657ae5487..9740a1185 100644
--- a/sys/src/cmd/ip/httpd/httpd.c
+++ b/sys/src/cmd/ip/httpd/httpd.c
@@ -129,16 +129,12 @@ main(int argc, char **argv)
static void
becomenone(char *namespace)
{
- int fd;
-
- fd = open("#c/user", OWRITE);
- if(fd < 0 || write(fd, "none", strlen("none")) < 0)
- sysfatal("can't become none");
- close(fd);
+ if(procsetuser("none") < 0)
+ sysfatal("can't become none: %r");
if(newns("none", nil) < 0)
- sysfatal("can't build normal namespace");
+ sysfatal("can't build normal namespace: %r");
if(addns("none", namespace) < 0)
- sysfatal("can't build httpd namespace");
+ sysfatal("can't build httpd namespace: %r");
}
static HConnect*
diff --git a/sys/src/cmd/mount.c b/sys/src/cmd/mount.c
index 2c8371911..3d30269aa 100644
--- a/sys/src/cmd/mount.c
+++ b/sys/src/cmd/mount.c
@@ -83,8 +83,7 @@ main(int argc, char *argv[])
}
if(asnone){
- rv = open("#c/user", OWRITE);
- if(rv < 0 || write(rv, "none", 4) != 4){
+ if(procsetuser("none") < 0){
if(qflag)
exits(0);
fprint(2, "%s: can't become none: %r\n", argv0);
diff --git a/sys/src/cmd/srv.c b/sys/src/cmd/srv.c
index 0839c8393..fa7a6ad07 100644
--- a/sys/src/cmd/srv.c
+++ b/sys/src/cmd/srv.c
@@ -202,12 +202,11 @@ Mount:
exits(0);
if(asnone){
- try = open("#c/user", OWRITE);
- if(try < 0 || write(try, "none", 4) != 4){
+ if(procsetuser("none") < 0){
fprint(2, "srv %s: can't become none: %r\n", dest);
exits("becomenone");
}
- try = 0;
+ try = 0; /* no retry */
}
if((!doauth && mount(fd, -1, mtpt, mountflag, "") == -1)
diff --git a/sys/src/cmd/upas/common/become.c b/sys/src/cmd/upas/common/become.c
index 37cd11997..6de87179a 100644
--- a/sys/src/cmd/upas/common/become.c
+++ b/sys/src/cmd/upas/common/become.c
@@ -8,17 +8,13 @@
int
become(char **, char *who)
{
- int fd;
-
if(strcmp(who, "none") == 0) {
- fd = open("#c/user", OWRITE);
- if(fd < 0 || write(fd, "none", strlen("none")) < 0) {
- werrstr("can't become none");
+ if(procsetuser("none") < 0) {
+ werrstr("can't become none: %r");
return -1;
}
- close(fd);
- if(newns("none", 0)) {
- werrstr("can't set new namespace");
+ if(newns("none", nil) < 0) {
+ werrstr("can't set new namespace: %r");
return -1;
}
}