Date: Sat, 15 Nov 2003 16:06:05 -0800 (PST) From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 42495 for review Message-ID: <200311160006.hAG065kQ010749@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=42495 Change 42495 by rwatson@rwatson_tislabs on 2003/11/15 16:05:47 For getsockopt() to retrieve MAC labels, we must copy in the struct mac so we know what labels to externalize. This appears to fix SO_LABEL but not SO_PEERLABEL for reason I am still working on figuring out. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/uipc_socket.c#55 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/uipc_socket.c#55 (text+ko) ==== @@ -1599,6 +1599,10 @@ break; case SO_LABEL: #ifdef MAC + error = sooptcopyin(sopt, &extmac, sizeof(extmac), + sizeof(extmac)); + if (error) + return (error); error = mac_getsockopt_label_get( sopt->sopt_td->td_ucred, so, &extmac); if (error) @@ -1610,6 +1614,10 @@ break; case SO_PEERLABEL: #ifdef MAC + error = sooptcopyin(sopt, &extmac, sizeof(extmac), + sizeof(extmac)); + if (error) + return (error); error = mac_getsockopt_peerlabel_get( sopt->sopt_td->td_ucred, so, &extmac); if (error)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200311160006.hAG065kQ010749>