Revert "Paranoid network."
author黄涛 <huangtao@rock-chips.com>
Sat, 30 Jul 2011 14:57:39 +0000 (22:57 +0800)
committer黄涛 <huangtao@rock-chips.com>
Sat, 30 Jul 2011 14:57:39 +0000 (22:57 +0800)
This reverts commit 910b063a7e65960c1bb9cc4e91e9273b020709da.

arch/arm/configs/msm_defconfig
net/Kconfig
net/bluetooth/af_bluetooth.c
net/ipv4/af_inet.c
net/ipv6/af_inet6.c

index faf9ebde382d219413956df6ff967d5ecc9a4c26..c1dc27023e9740165cd3b918701cf2371ed9d0d3 100644 (file)
@@ -257,7 +257,6 @@ CONFIG_NET=y
 CONFIG_UNIX=y
 # CONFIG_NET_KEY is not set
 CONFIG_INET=y
-CONFIG_ANDROID_PARANOID_NETWORK=y
 # CONFIG_IP_MULTICAST is not set
 # CONFIG_IP_ADVANCED_ROUTER is not set
 CONFIG_IP_FIB_HASH=y
index 94312cb3a57d099975735ede025c9c5d79108304..041c35edb763dd96b266f89b8080cb694a87bbf4 100644 (file)
@@ -79,12 +79,6 @@ source "net/netlabel/Kconfig"
 
 endif # if INET
 
-config ANDROID_PARANOID_NETWORK
-       bool "Only allow certain groups to create sockets"
-       default y
-       help
-               none
-
 config NETWORK_SECMARK
        bool "Security Marking"
        help
index 1707efb7cb0faf039035b5e8ca1f6f00de6a91fc..8cfb5a8498412461fa52278a8a94423580167de6 100644 (file)
 
 #include <net/bluetooth/bluetooth.h>
 
-#ifdef CONFIG_ANDROID_PARANOID_NETWORK
-#include <linux/android_aid.h>
-#endif
-
-#ifndef CONFIG_BT_SOCK_DEBUG
-#undef  BT_DBG
-#define BT_DBG(D...)
-#endif
-
 #define VERSION "2.15"
 
 /* Bluetooth sockets */
@@ -135,39 +126,10 @@ int bt_sock_unregister(int proto)
 }
 EXPORT_SYMBOL(bt_sock_unregister);
 
-#ifdef CONFIG_ANDROID_PARANOID_NETWORK
-static inline int current_has_bt_admin(void)
-{
-       return (!current_euid() || in_egroup_p(AID_NET_BT_ADMIN));
-}
-
-static inline int current_has_bt(void)
-{
-       return (current_has_bt_admin() || in_egroup_p(AID_NET_BT));
-}
-# else
-static inline int current_has_bt_admin(void)
-{
-       return 1;
-}
-
-static inline int current_has_bt(void)
-{
-       return 1;
-}
-#endif
-
 static int bt_sock_create(struct net *net, struct socket *sock, int proto)
 {
        int err;
 
-       if (proto == BTPROTO_RFCOMM || proto == BTPROTO_SCO ||
-                       proto == BTPROTO_L2CAP) {
-               if (!current_has_bt())
-                       return -EPERM;
-       } else if (!current_has_bt_admin())
-               return -EPERM;
-
        if (net != &init_net)
                return -EAFNOSUPPORT;
 
index b395f7d34bd3cf8f28b5d60e138b908fc1f2e191..57737b8d1711a9348ca7000963eb4e65f3680db7 100644 (file)
 #include <linux/mroute.h>
 #endif
 
-#ifdef CONFIG_ANDROID_PARANOID_NETWORK
-#include <linux/android_aid.h>
-#endif
 
 /* The inetsw table contains everything that inet_create needs to
  * build a new socket.
@@ -261,29 +258,6 @@ static inline int inet_netns_ok(struct net *net, int protocol)
        return ipprot->netns_ok;
 }
 
-#ifdef CONFIG_ANDROID_PARANOID_NETWORK
-static inline int current_has_network(void)
-{
-       return (!current_euid() || in_egroup_p(AID_INET) ||
-               in_egroup_p(AID_NET_RAW));
-}
-static inline int current_has_cap(int cap)
-{
-       if (cap == CAP_NET_RAW && in_egroup_p(AID_NET_RAW))
-               return 1;
-       return capable(cap);
-}
-# else
-static inline int current_has_network(void)
-{
-       return 1;
-}
-static inline int current_has_cap(int cap)
-{
-       return capable(cap);
-}
-#endif
-
 /*
  *     Create an inet socket.
  */
@@ -299,9 +273,6 @@ static int inet_create(struct net *net, struct socket *sock, int protocol)
        int try_loading_module = 0;
        int err;
 
-       if (!current_has_network())
-               return -EACCES;
-
        if (unlikely(!inet_ehash_secret))
                if (sock->type != SOCK_RAW && sock->type != SOCK_DGRAM)
                        build_ehash_secret();
@@ -354,7 +325,7 @@ lookup_protocol:
        }
 
        err = -EPERM;
-       if (answer->capability > 0 && !current_has_cap(answer->capability))
+       if (answer->capability > 0 && !capable(answer->capability))
                goto out_rcu_unlock;
 
        err = -EAFNOSUPPORT;
index 0a883bf68ceb0d0ed3916c9ea7890a375e8c77b4..e127a32f9540fecfaee5de6332ca1be64ce6541f 100644 (file)
 #include <asm/system.h>
 #include <linux/mroute6.h>
 
-#ifdef CONFIG_ANDROID_PARANOID_NETWORK
-#include <linux/android_aid.h>
-#endif
-
 MODULE_AUTHOR("Cast of dozens");
 MODULE_DESCRIPTION("IPv6 protocol stack for Linux");
 MODULE_LICENSE("GPL");
@@ -99,29 +95,6 @@ static __inline__ struct ipv6_pinfo *inet6_sk_generic(struct sock *sk)
        return (struct ipv6_pinfo *)(((u8 *)sk) + offset);
 }
 
-#ifdef CONFIG_ANDROID_PARANOID_NETWORK
-static inline int current_has_network(void)
-{
-       return (!current_euid() || in_egroup_p(AID_INET) ||
-               in_egroup_p(AID_NET_RAW));
-}
-static inline int current_has_cap(int cap)
-{
-       if (cap == CAP_NET_RAW && in_egroup_p(AID_NET_RAW))
-               return 1;
-       return capable(cap);
-}
-# else
-static inline int current_has_network(void)
-{
-       return 1;
-}
-static inline int current_has_cap(int cap)
-{
-       return capable(cap);
-}
-#endif
-
 static int inet6_create(struct net *net, struct socket *sock, int protocol)
 {
        struct inet_sock *inet;
@@ -134,9 +107,6 @@ static int inet6_create(struct net *net, struct socket *sock, int protocol)
        int try_loading_module = 0;
        int err;
 
-       if (!current_has_network())
-               return -EACCES;
-
        if (sock->type != SOCK_RAW &&
            sock->type != SOCK_DGRAM &&
            !inet_ehash_secret)
@@ -188,7 +158,7 @@ lookup_protocol:
        }
 
        err = -EPERM;
-       if (answer->capability > 0 && !current_has_cap(answer->capability))
+       if (answer->capability > 0 && !capable(answer->capability))
                goto out_rcu_unlock;
 
        sock->ops = answer->ops;