diff options
Diffstat (limited to 'security')
-rw-r--r-- | security/Kconfig | 13 | ||||
-rw-r--r-- | security/dummy.c | 45 |
2 files changed, 57 insertions, 1 deletions
diff --git a/security/Kconfig b/security/Kconfig index 64d3f1e9ca85..34f593410d57 100644 --- a/security/Kconfig +++ b/security/Kconfig | |||
@@ -54,6 +54,19 @@ config SECURITY_NETWORK | |||
54 | implement socket and networking access controls. | 54 | implement socket and networking access controls. |
55 | If you are unsure how to answer this question, answer N. | 55 | If you are unsure how to answer this question, answer N. |
56 | 56 | ||
57 | config SECURITY_NETWORK_XFRM | ||
58 | bool "XFRM (IPSec) Networking Security Hooks" | ||
59 | depends on XFRM && SECURITY_NETWORK | ||
60 | help | ||
61 | This enables the XFRM (IPSec) networking security hooks. | ||
62 | If enabled, a security module can use these hooks to | ||
63 | implement per-packet access controls based on labels | ||
64 | derived from IPSec policy. Non-IPSec communications are | ||
65 | designated as unlabelled, and only sockets authorized | ||
66 | to communicate unlabelled data can send without using | ||
67 | IPSec. | ||
68 | If you are unsure how to answer this question, answer N. | ||
69 | |||
57 | config SECURITY_CAPABILITIES | 70 | config SECURITY_CAPABILITIES |
58 | tristate "Default Linux Capabilities" | 71 | tristate "Default Linux Capabilities" |
59 | depends on SECURITY | 72 | depends on SECURITY |
diff --git a/security/dummy.c b/security/dummy.c index 3ca5f2b828a0..a15c54709fde 100644 --- a/security/dummy.c +++ b/security/dummy.c | |||
@@ -776,8 +776,42 @@ static inline int dummy_sk_alloc_security (struct sock *sk, int family, gfp_t pr | |||
776 | static inline void dummy_sk_free_security (struct sock *sk) | 776 | static inline void dummy_sk_free_security (struct sock *sk) |
777 | { | 777 | { |
778 | } | 778 | } |
779 | |||
780 | static unsigned int dummy_sk_getsid(struct sock *sk, struct flowi *fl, u8 dir) | ||
781 | { | ||
782 | return 0; | ||
783 | } | ||
779 | #endif /* CONFIG_SECURITY_NETWORK */ | 784 | #endif /* CONFIG_SECURITY_NETWORK */ |
780 | 785 | ||
786 | #ifdef CONFIG_SECURITY_NETWORK_XFRM | ||
787 | static int dummy_xfrm_policy_alloc_security(struct xfrm_policy *xp, struct xfrm_user_sec_ctx *sec_ctx) | ||
788 | { | ||
789 | return 0; | ||
790 | } | ||
791 | |||
792 | static inline int dummy_xfrm_policy_clone_security(struct xfrm_policy *old, struct xfrm_policy *new) | ||
793 | { | ||
794 | return 0; | ||
795 | } | ||
796 | |||
797 | static void dummy_xfrm_policy_free_security(struct xfrm_policy *xp) | ||
798 | { | ||
799 | } | ||
800 | |||
801 | static int dummy_xfrm_state_alloc_security(struct xfrm_state *x, struct xfrm_user_sec_ctx *sec_ctx) | ||
802 | { | ||
803 | return 0; | ||
804 | } | ||
805 | |||
806 | static void dummy_xfrm_state_free_security(struct xfrm_state *x) | ||
807 | { | ||
808 | } | ||
809 | |||
810 | static int dummy_xfrm_policy_lookup(struct xfrm_policy *xp, u32 sk_sid, u8 dir) | ||
811 | { | ||
812 | return 0; | ||
813 | } | ||
814 | #endif /* CONFIG_SECURITY_NETWORK_XFRM */ | ||
781 | static int dummy_register_security (const char *name, struct security_operations *ops) | 815 | static int dummy_register_security (const char *name, struct security_operations *ops) |
782 | { | 816 | { |
783 | return -EINVAL; | 817 | return -EINVAL; |
@@ -970,7 +1004,16 @@ void security_fixup_ops (struct security_operations *ops) | |||
970 | set_to_dummy_if_null(ops, socket_getpeersec); | 1004 | set_to_dummy_if_null(ops, socket_getpeersec); |
971 | set_to_dummy_if_null(ops, sk_alloc_security); | 1005 | set_to_dummy_if_null(ops, sk_alloc_security); |
972 | set_to_dummy_if_null(ops, sk_free_security); | 1006 | set_to_dummy_if_null(ops, sk_free_security); |
973 | #endif /* CONFIG_SECURITY_NETWORK */ | 1007 | set_to_dummy_if_null(ops, sk_getsid); |
1008 | #endif /* CONFIG_SECURITY_NETWORK */ | ||
1009 | #ifdef CONFIG_SECURITY_NETWORK_XFRM | ||
1010 | set_to_dummy_if_null(ops, xfrm_policy_alloc_security); | ||
1011 | set_to_dummy_if_null(ops, xfrm_policy_clone_security); | ||
1012 | set_to_dummy_if_null(ops, xfrm_policy_free_security); | ||
1013 | set_to_dummy_if_null(ops, xfrm_state_alloc_security); | ||
1014 | set_to_dummy_if_null(ops, xfrm_state_free_security); | ||
1015 | set_to_dummy_if_null(ops, xfrm_policy_lookup); | ||
1016 | #endif /* CONFIG_SECURITY_NETWORK_XFRM */ | ||
974 | #ifdef CONFIG_KEYS | 1017 | #ifdef CONFIG_KEYS |
975 | set_to_dummy_if_null(ops, key_alloc); | 1018 | set_to_dummy_if_null(ops, key_alloc); |
976 | set_to_dummy_if_null(ops, key_free); | 1019 | set_to_dummy_if_null(ops, key_free); |