Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
security
selinux
include
netlabel.h
Go to the documentation of this file.
1
/*
2
* SELinux interface to the NetLabel subsystem
3
*
4
* Author: Paul Moore <
[email protected]
>
5
*
6
*/
7
8
/*
9
* (c) Copyright Hewlett-Packard Development Company, L.P., 2006
10
*
11
* This program is free software; you can redistribute it and/or modify
12
* it under the terms of the GNU General Public License as published by
13
* the Free Software Foundation; either version 2 of the License, or
14
* (at your option) any later version.
15
*
16
* This program is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
19
* the GNU General Public License for more details.
20
*
21
* You should have received a copy of the GNU General Public License
22
* along with this program; if not, write to the Free Software
23
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24
*
25
*/
26
27
#ifndef _SELINUX_NETLABEL_H_
28
#define _SELINUX_NETLABEL_H_
29
30
#include <linux/types.h>
31
#include <linux/fs.h>
32
#include <linux/net.h>
33
#include <
linux/skbuff.h
>
34
#include <
net/sock.h
>
35
#include <
net/request_sock.h
>
36
37
#include "
avc.h
"
38
#include "
objsec.h
"
39
40
#ifdef CONFIG_NETLABEL
41
void
selinux_netlbl_cache_invalidate
(
void
);
42
43
void
selinux_netlbl_err
(
struct
sk_buff
*
skb
,
int
error
,
int
gateway
);
44
45
void
selinux_netlbl_sk_security_free
(
struct
sk_security_struct
*sksec);
46
void
selinux_netlbl_sk_security_reset
(
struct
sk_security_struct
*sksec);
47
48
int
selinux_netlbl_skbuff_getsid
(
struct
sk_buff
*
skb
,
49
u16
family
,
50
u32
*
type
,
51
u32
*
sid
);
52
int
selinux_netlbl_skbuff_setsid
(
struct
sk_buff
*
skb
,
53
u16
family
,
54
u32
sid
);
55
56
int
selinux_netlbl_inet_conn_request
(
struct
request_sock
*
req
,
u16
family
);
57
void
selinux_netlbl_inet_csk_clone
(
struct
sock
*
sk
,
u16
family
);
58
int
selinux_netlbl_socket_post_create
(
struct
sock
*
sk
,
u16
family
);
59
int
selinux_netlbl_sock_rcv_skb
(
struct
sk_security_struct
*sksec,
60
struct
sk_buff
*
skb
,
61
u16
family
,
62
struct
common_audit_data
*ad);
63
int
selinux_netlbl_socket_setsockopt
(
struct
socket
*
sock
,
64
int
level
,
65
int
optname);
66
int
selinux_netlbl_socket_connect
(
struct
sock
*
sk
,
struct
sockaddr
*
addr
);
67
68
#else
69
static
inline
void
selinux_netlbl_cache_invalidate
(
void
)
70
{
71
return
;
72
}
73
74
static
inline
void
selinux_netlbl_err
(
struct
sk_buff
*
skb
,
75
int
error
,
76
int
gateway
)
77
{
78
return
;
79
}
80
81
static
inline
void
selinux_netlbl_sk_security_free
(
82
struct
sk_security_struct
*sksec)
83
{
84
return
;
85
}
86
87
static
inline
void
selinux_netlbl_sk_security_reset
(
88
struct
sk_security_struct
*sksec)
89
{
90
return
;
91
}
92
93
static
inline
int
selinux_netlbl_skbuff_getsid
(
struct
sk_buff
*
skb
,
94
u16
family
,
95
u32
*
type
,
96
u32
*
sid
)
97
{
98
*type =
NETLBL_NLTYPE_NONE
;
99
*sid =
SECSID_NULL
;
100
return
0;
101
}
102
static
inline
int
selinux_netlbl_skbuff_setsid
(
struct
sk_buff
*
skb
,
103
u16
family
,
104
u32
sid
)
105
{
106
return
0;
107
}
108
109
static
inline
int
selinux_netlbl_conn_setsid(
struct
sock
*
sk
,
110
struct
sockaddr
*
addr
)
111
{
112
return
0;
113
}
114
115
static
inline
int
selinux_netlbl_inet_conn_request
(
struct
request_sock
*
req
,
116
u16
family
)
117
{
118
return
0;
119
}
120
static
inline
void
selinux_netlbl_inet_csk_clone
(
struct
sock
*
sk
,
u16
family
)
121
{
122
return
;
123
}
124
static
inline
int
selinux_netlbl_socket_post_create
(
struct
sock
*
sk
,
125
u16
family
)
126
{
127
return
0;
128
}
129
static
inline
int
selinux_netlbl_sock_rcv_skb
(
struct
sk_security_struct
*sksec,
130
struct
sk_buff
*
skb
,
131
u16
family
,
132
struct
common_audit_data
*ad)
133
{
134
return
0;
135
}
136
static
inline
int
selinux_netlbl_socket_setsockopt
(
struct
socket
*
sock
,
137
int
level
,
138
int
optname)
139
{
140
return
0;
141
}
142
static
inline
int
selinux_netlbl_socket_connect
(
struct
sock
*
sk
,
143
struct
sockaddr
*
addr
)
144
{
145
return
0;
146
}
147
#endif
/* CONFIG_NETLABEL */
148
149
#endif
Generated on Thu Jan 10 2013 14:53:12 for Linux Kernel by
1.8.2