summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authormaxim <maxim@FreeBSD.org>2006-04-24 19:09:33 +0000
committermaxim <maxim@FreeBSD.org>2006-04-24 19:09:33 +0000
commitb583a2a9146635170ab1952a6e132407e21da9ed (patch)
tree88fb70789c2ab791646ed2d2ee3298fd4a7f1f4d /sys/kern
parentaa8d2024b9783154e84a8807972d09c964818058 (diff)
downloadFreeBSD-src-b583a2a9146635170ab1952a6e132407e21da9ed.zip
FreeBSD-src-b583a2a9146635170ab1952a6e132407e21da9ed.tar.gz
Inherit LOCAL_CREDS option from listen socket for sockets returned
by accept(2). PR: kern/90644 Submitted by: Andrey Simonenko OK'ed by: mdodd Tested by: NetBSD regress/sys/kern/unfdpass/unfdpass.c MFC after: 1 month
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/uipc_usrreq.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index ee7bcc0..c6893b9 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -950,6 +950,8 @@ unp_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
memcpy(&unp->unp_peercred, &unp2->unp_peercred,
sizeof(unp->unp_peercred));
unp->unp_flags |= UNP_HAVEPC;
+ if (unp2->unp_flags & UNP_WANTCRED)
+ unp3->unp_flags |= UNP_WANTCRED;
#ifdef MAC
SOCK_LOCK(so);
mac_set_socket_peer_from_socket(so, so3);
OpenPOWER on IntegriCloud