]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - security/selinux/include/netlabel.h
netlabel: Add functionality to set the security attributes of a packet
[linux-2.6-omap-h63xx.git] / security / selinux / include / netlabel.h
index 218e3f77c35096f1dd5d37a992191242517e6691..b3e6ae071fc397f7fc86b16e9d0d61213d26dbb2 100644 (file)
 #ifdef CONFIG_NETLABEL
 void selinux_netlbl_cache_invalidate(void);
 
+void selinux_netlbl_err(struct sk_buff *skb, int error, int gateway);
+
 void selinux_netlbl_sk_security_reset(struct sk_security_struct *ssec,
                                      int family);
-void selinux_netlbl_sk_security_init(struct sk_security_struct *ssec,
-                                    int family);
-void selinux_netlbl_sk_security_clone(struct sk_security_struct *ssec,
-                                     struct sk_security_struct *newssec);
 
-int selinux_netlbl_skbuff_getsid(struct sk_buff *skb, u32 base_sid, u32 *sid);
+int selinux_netlbl_skbuff_getsid(struct sk_buff *skb,
+                                u16 family,
+                                u32 *type,
+                                u32 *sid);
+int selinux_netlbl_skbuff_setsid(struct sk_buff *skb,
+                                u16 family,
+                                u32 sid);
 
 void selinux_netlbl_sock_graft(struct sock *sk, struct socket *sock);
 int selinux_netlbl_socket_post_create(struct socket *sock);
 int selinux_netlbl_inode_permission(struct inode *inode, int mask);
 int selinux_netlbl_sock_rcv_skb(struct sk_security_struct *sksec,
                                struct sk_buff *skb,
+                               u16 family,
                                struct avc_audit_data *ad);
 int selinux_netlbl_socket_setsockopt(struct socket *sock,
                                     int level,
@@ -63,32 +68,35 @@ static inline void selinux_netlbl_cache_invalidate(void)
        return;
 }
 
-static inline void selinux_netlbl_sk_security_reset(
-                                              struct sk_security_struct *ssec,
-                                              int family)
+static inline void selinux_netlbl_err(struct sk_buff *skb,
+                                     int error,
+                                     int gateway)
 {
        return;
 }
-static inline void selinux_netlbl_sk_security_init(
-                                              struct sk_security_struct *ssec,
+
+static inline void selinux_netlbl_sk_security_reset(
+                                              struct sk_security_struct *ssec,
                                               int family)
 {
        return;
 }
-static inline void selinux_netlbl_sk_security_clone(
-                                           struct sk_security_struct *ssec,
-                                           struct sk_security_struct *newssec)
-{
-       return;
-}
 
 static inline int selinux_netlbl_skbuff_getsid(struct sk_buff *skb,
-                                              u32 base_sid,
+                                              u16 family,
+                                              u32 *type,
                                               u32 *sid)
 {
+       *type = NETLBL_NLTYPE_NONE;
        *sid = SECSID_NULL;
        return 0;
 }
+static inline int selinux_netlbl_skbuff_setsid(struct sk_buff *skb,
+                                              u16 family,
+                                              u32 sid)
+{
+       return 0;
+}
 
 static inline void selinux_netlbl_sock_graft(struct sock *sk,
                                             struct socket *sock)
@@ -106,6 +114,7 @@ static inline int selinux_netlbl_inode_permission(struct inode *inode,
 }
 static inline int selinux_netlbl_sock_rcv_skb(struct sk_security_struct *sksec,
                                              struct sk_buff *skb,
+                                             u16 family,
                                              struct avc_audit_data *ad)
 {
        return 0;