diff options
author | John Baldwin <jhb@FreeBSD.org> | 2002-04-01 21:31:13 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2002-04-01 21:31:13 +0000 |
commit | 44731cab3b9966b7ca67f3fe50e7f3c711533730 (patch) | |
tree | 79021f0d43a5858be317d5cd33eac8cd4962b336 /sys/netinet6/ip6_output.c | |
parent | a4a49508b4ddf1b482743f71bcd6707c9ce7b406 (diff) | |
download | src-44731cab3b9966b7ca67f3fe50e7f3c711533730.tar.gz src-44731cab3b9966b7ca67f3fe50e7f3c711533730.zip |
Change the suser() API to take advantage of td_ucred as well as do a
general cleanup of the API. The entire API now consists of two functions
similar to the pre-KSE API. The suser() function takes a thread pointer
as its only argument. The td_ucred member of this thread must be valid
so the only valid thread pointers are curthread and a few kernel threads
such as thread0. The suser_cred() function takes a pointer to a struct
ucred as its first argument and an integer flag as its second argument.
The flag is currently only used for the PRISON_ROOT flag.
Discussed on: smp@
Notes
Notes:
svn path=/head/; revision=93593
Diffstat (limited to 'sys/netinet6/ip6_output.c')
-rw-r--r-- | sys/netinet6/ip6_output.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c index e4d2c77444f3..2d214ebcdcfc 100644 --- a/sys/netinet6/ip6_output.c +++ b/sys/netinet6/ip6_output.c @@ -1283,7 +1283,7 @@ ip6_ctloutput(so, sopt) } error = optval = 0; - privileged = (td == 0 || suser_td(td)) ? 0 : 1; + privileged = (td == 0 || suser(td)) ? 0 : 1; if (level == IPPROTO_IPV6) { switch (op) { @@ -1733,7 +1733,7 @@ ip6_pcbopts(pktopt, m, so, sopt) } /* set options specified by user. */ - if (td && !suser_td(td)) + if (td && !suser(td)) priv = 1; if ((error = ip6_setpktoptions(m, opt, priv, 1)) != 0) { ip6_clearpktopts(opt, 1, -1); /* XXX: discard all options */ @@ -1989,7 +1989,7 @@ ip6_setmoptions(optname, im6op, m) * all multicast addresses. Only super user is allowed * to do this. */ - if (suser_td(td)) + if (suser(td)) { error = EACCES; break; @@ -2096,7 +2096,7 @@ ip6_setmoptions(optname, im6op, m) } mreq = mtod(m, struct ipv6_mreq *); if (IN6_IS_ADDR_UNSPECIFIED(&mreq->ipv6mr_multiaddr)) { - if (suser_td(td)) { + if (suser(td)) { error = EACCES; break; } |