summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/netinet6
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-10 16:11:02 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-31 13:18:47 +0100
commit69b29a0c0d5bfddff5c6723ac80c0f6967550900 (patch)
treec2b180f3fea5010fbe848bdc9fa359116ef0126b /freebsd/sys/netinet6
parentUse default PID value for all process identifiers (diff)
downloadrtems-libbsd-69b29a0c0d5bfddff5c6723ac80c0f6967550900.tar.bz2
Disable user credentials and use default values
Diffstat (limited to 'freebsd/sys/netinet6')
-rw-r--r--freebsd/sys/netinet6/icmp6.c12
-rw-r--r--freebsd/sys/netinet6/in6_ifattach.c8
-rw-r--r--freebsd/sys/netinet6/in6_pcb.c8
-rw-r--r--freebsd/sys/netinet6/sctp6_usrreq.c2
4 files changed, 30 insertions, 0 deletions
diff --git a/freebsd/sys/netinet6/icmp6.c b/freebsd/sys/netinet6/icmp6.c
index 407e91d0..54758cd4 100644
--- a/freebsd/sys/netinet6/icmp6.c
+++ b/freebsd/sys/netinet6/icmp6.c
@@ -724,7 +724,11 @@ icmp6_input(struct mbuf **mp, int *offp, int proto)
n->m_pkthdr.rcvif = NULL;
n->m_len = 0;
maxhlen = M_TRAILINGSPACE(n) - maxlen;
+#ifndef __rtems__
pr = curthread->td_ucred->cr_prison;
+#else /* __rtems__ */
+ pr = &prison0;
+#endif /* __rtems__ */
mtx_lock(&pr->pr_mtx);
hlen = strlen(pr->pr_hostname);
if (maxhlen > hlen)
@@ -1339,7 +1343,11 @@ ni6_input(struct mbuf *m, int off)
* wildcard match, if gethostname(3) side has
* truncated hostname.
*/
+#ifndef __rtems__
pr = curthread->td_ucred->cr_prison;
+#else /* __rtems__ */
+ pr = &prison0;
+#endif /* __rtems__ */
mtx_lock(&pr->pr_mtx);
n = ni6_nametodns(pr->pr_hostname,
strlen(pr->pr_hostname), 0);
@@ -1467,7 +1475,11 @@ ni6_input(struct mbuf *m, int off)
/*
* XXX do we really have FQDN in hostname?
*/
+#ifndef __rtems__
pr = curthread->td_ucred->cr_prison;
+#else /* __rtems__ */
+ pr = &prison0;
+#endif /* __rtems__ */
mtx_lock(&pr->pr_mtx);
n->m_next = ni6_nametodns(pr->pr_hostname,
strlen(pr->pr_hostname), oldfqdn);
diff --git a/freebsd/sys/netinet6/in6_ifattach.c b/freebsd/sys/netinet6/in6_ifattach.c
index 1063ed43..c2134c6f 100644
--- a/freebsd/sys/netinet6/in6_ifattach.c
+++ b/freebsd/sys/netinet6/in6_ifattach.c
@@ -118,7 +118,11 @@ get_rand_ifid(struct ifnet *ifp, struct in6_addr *in6)
u_int8_t digest[16];
int hostnamelen;
+#ifndef __rtems__
pr = curthread->td_ucred->cr_prison;
+#else /* __rtems__ */
+ pr = &prison0;
+#endif /* __rtems__ */
mtx_lock(&pr->pr_mtx);
hostnamelen = strlen(pr->pr_hostname);
#if 0
@@ -642,7 +646,11 @@ in6_nigroup(struct ifnet *ifp, const char *name, int namelen,
* we try to do the hostname lookup ourselves.
*/
if (!name && namelen == -1) {
+#ifndef __rtems__
pr = curthread->td_ucred->cr_prison;
+#else /* __rtems__ */
+ pr = &prison0;
+#endif /* __rtems__ */
mtx_lock(&pr->pr_mtx);
name = pr->pr_hostname;
namelen = strlen(name);
diff --git a/freebsd/sys/netinet6/in6_pcb.c b/freebsd/sys/netinet6/in6_pcb.c
index a5475914..09b05f5a 100644
--- a/freebsd/sys/netinet6/in6_pcb.c
+++ b/freebsd/sys/netinet6/in6_pcb.c
@@ -205,8 +205,12 @@ in6_pcbbind(register struct inpcb *inp, struct sockaddr *nam,
(!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr) ||
!IN6_IS_ADDR_UNSPECIFIED(&t->in6p_laddr) ||
(t->inp_socket->so_options & SO_REUSEPORT)
+#ifndef __rtems__
== 0) && (inp->inp_cred->cr_uid !=
t->inp_cred->cr_uid))
+#else /* __rtems__ */
+ == 0))
+#endif /* __rtems__ */
return (EADDRINUSE);
if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 &&
IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
@@ -222,8 +226,12 @@ in6_pcbbind(register struct inpcb *inp, struct sockaddr *nam,
(so->so_type != SOCK_STREAM ||
ntohl(t->inp_faddr.s_addr) ==
INADDR_ANY) &&
+#ifndef __rtems__
(inp->inp_cred->cr_uid !=
t->inp_cred->cr_uid))
+#else /* __rtems__ */
+ 0)
+#endif /* __rtems__ */
return (EADDRINUSE);
}
}
diff --git a/freebsd/sys/netinet6/sctp6_usrreq.c b/freebsd/sys/netinet6/sctp6_usrreq.c
index 6cdd340e..16b9e4fd 100644
--- a/freebsd/sys/netinet6/sctp6_usrreq.c
+++ b/freebsd/sys/netinet6/sctp6_usrreq.c
@@ -559,6 +559,7 @@ sctp6_ctlinput(int cmd, struct sockaddr *pktdst, void *d)
}
}
+#ifndef __rtems__
/*
* this routine can probably be collasped into the one in sctp_userreq.c
* since they do the same thing and now we lookup with a sockaddr
@@ -630,6 +631,7 @@ out:
SYSCTL_PROC(_net_inet6_sctp6, OID_AUTO, getcred, CTLTYPE_OPAQUE | CTLFLAG_RW,
0, 0,
sctp6_getcred, "S,ucred", "Get the ucred of a SCTP6 connection");
+#endif /* __rtems__ */
/* This is the same as the sctp_abort() could be made common */