linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / include / net / scm.h
index 5637d5e..c3fa3d5 100644 (file)
@@ -3,7 +3,6 @@
 
 #include <linux/limits.h>
 #include <linux/net.h>
-#include <linux/security.h>
 
 /* Well, we should have at least one descriptor open
  * to accept passed FDs 8)
@@ -20,9 +19,6 @@ struct scm_cookie
 {
        struct ucred            creds;          /* Skb credentials      */
        struct scm_fp_list      *fp;            /* Passed files         */
-#ifdef CONFIG_SECURITY_NETWORK
-       u32                     secid;          /* Passed security ID   */
-#endif
        unsigned long           seq;            /* Connection seqno     */
 };
 
@@ -32,16 +28,6 @@ extern int __scm_send(struct socket *sock, struct msghdr *msg, struct scm_cookie
 extern void __scm_destroy(struct scm_cookie *scm);
 extern struct scm_fp_list * scm_fp_dup(struct scm_fp_list *fpl);
 
-#ifdef CONFIG_SECURITY_NETWORK
-static __inline__ void unix_get_peersec_dgram(struct socket *sock, struct scm_cookie *scm)
-{
-       security_socket_getpeersec_dgram(sock, NULL, &scm->secid);
-}
-#else
-static __inline__ void unix_get_peersec_dgram(struct socket *sock, struct scm_cookie *scm)
-{ }
-#endif /* CONFIG_SECURITY_NETWORK */
-
 static __inline__ void scm_destroy(struct scm_cookie *scm)
 {
        if (scm && scm->fp)
@@ -51,39 +37,15 @@ static __inline__ void scm_destroy(struct scm_cookie *scm)
 static __inline__ int scm_send(struct socket *sock, struct msghdr *msg,
                               struct scm_cookie *scm)
 {
-       struct task_struct *p = current;
-       scm->creds.uid = p->uid;
-       scm->creds.gid = p->gid;
-       scm->creds.pid = p->tgid;
-       scm->fp = NULL;
-       scm->seq = 0;
-       unix_get_peersec_dgram(sock, scm);
+       memset(scm, 0, sizeof(*scm));
+       scm->creds.uid = current->uid;
+       scm->creds.gid = current->gid;
+       scm->creds.pid = current->tgid;
        if (msg->msg_controllen <= 0)
                return 0;
        return __scm_send(sock, msg, scm);
 }
 
-#ifdef CONFIG_SECURITY_NETWORK
-static inline void scm_passec(struct socket *sock, struct msghdr *msg, struct scm_cookie *scm)
-{
-       char *secdata;
-       u32 seclen;
-       int err;
-
-       if (test_bit(SOCK_PASSSEC, &sock->flags)) {
-               err = security_secid_to_secctx(scm->secid, &secdata, &seclen);
-
-               if (!err) {
-                       put_cmsg(msg, SOL_SOCKET, SCM_SECURITY, seclen, secdata);
-                       security_release_secctx(secdata, seclen);
-               }
-       }
-}
-#else
-static inline void scm_passec(struct socket *sock, struct msghdr *msg, struct scm_cookie *scm)
-{ }
-#endif /* CONFIG_SECURITY_NETWORK */
-
 static __inline__ void scm_recv(struct socket *sock, struct msghdr *msg,
                                struct scm_cookie *scm, int flags)
 {
@@ -98,8 +60,6 @@ static __inline__ void scm_recv(struct socket *sock, struct msghdr *msg,
        if (test_bit(SOCK_PASSCRED, &sock->flags))
                put_cmsg(msg, SOL_SOCKET, SCM_CREDENTIALS, sizeof(scm->creds), &scm->creds);
 
-       scm_passec(sock, msg, scm);
-
        if (!scm->fp)
                return;