Deleted Added
sdiff udiff text old ( 122774 ) new ( 122807 )
full compact
1/*-
2 * Copyright (c) 1999, 2000, 2001, 2002 Robert N. M. Watson
3 * Copyright (c) 2001 Ilmar S. Habibulin
4 * Copyright (c) 2001, 2002, 2003 Networks Associates Technology, Inc.
5 * All rights reserved.
6 *
7 * This software was developed by Robert Watson and Ilmar Habibulin for the
8 * TrustedBSD Project.

--- 21 unchanged lines hidden (view full) ---

30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 */
36
37#include <sys/cdefs.h>
38__FBSDID("$FreeBSD: head/sys/security/mac/mac_net.c 122774 2003-11-16 03:17:30Z rwatson $");
39
40#include "opt_mac.h"
41
42#include <sys/param.h>
43#include <sys/kernel.h>
44#include <sys/lock.h>
45#include <sys/malloc.h>
46#include <sys/mutex.h>

--- 834 unchanged lines hidden (view full) ---

881
882 MAC_PERFORM(relabel_ifnet, cred, ifnet, ifnet->if_label, intlabel);
883
884 mac_ifnet_label_free(intlabel);
885 return (0);
886}
887
888int
889mac_setsockopt_label_set(struct ucred *cred, struct socket *so,
890 struct mac *mac)
891{
892 struct label *intlabel;
893 char *buffer;
894 int error;
895
896 error = mac_check_structmac_consistent(mac);
897 if (error)
898 return (error);

--- 21 unchanged lines hidden (view full) ---

920
921 mac_relabel_socket(cred, so, intlabel);
922
923 mac_socket_label_free(intlabel);
924 return (0);
925}
926
927int
928mac_getsockopt_label_get(struct ucred *cred, struct socket *so,
929 struct mac *mac)
930{
931 char *buffer, *elements;
932 int error;
933
934 error = mac_check_structmac_consistent(mac);
935 if (error)
936 return (error);
937

--- 12 unchanged lines hidden (view full) ---

950
951 free(buffer, M_MACTEMP);
952 free(elements, M_MACTEMP);
953
954 return (error);
955}
956
957int
958mac_getsockopt_peerlabel_get(struct ucred *cred, struct socket *so,
959 struct mac *mac)
960{
961 char *elements, *buffer;
962 int error;
963
964 error = mac_check_structmac_consistent(mac);
965 if (error)
966 return (error);

--- 19 unchanged lines hidden ---