diff -urN linux-2.4.27-pspa-19/net/Config.in linux-2.4.27-pspa-19-fix/net/Config.in --- linux-2.4.27-pspa-19/net/Config.in Sat Aug 14 20:38:48 2004 +++ linux-2.4.27-pspa-19-fix/net/Config.in Sat Aug 14 20:59:24 2004 @@ -16,25 +16,6 @@ fi bool 'Socket Filtering' CONFIG_FILTER -#mainmenu_option next_comment -#comment 'Port/Socket Pseudo ACLs' -if [ "$CONFIG_SYSCTL" = "y" ] -then - bool 'Port/Socket Pseudo ACLs' CONFIG_PSEUDO_ACLS - if [ "$CONFIG_PSEUDO_ACLS" = "y" ]; then - bool ' Port ACLs' CONFIG_PORT_ACLS - bool ' Raw socket group' CONFIG_SOCK_RAW_GROUP - if [ "$CONFIG_PACKET" != "n" -a "$CONFIG_SOCK_RAW_GROUP" = "y" ]; then - if [ "$CONFIG_PACKET" = "y" ]; then - bool ' Packet socket group' CONFIG_SOCK_PACKET_GROUP - else - comment ' Packet socket group not available in a module' - fi - fi - fi -fi -#endmenu - tristate 'Unix domain sockets' CONFIG_UNIX bool 'TCP/IP networking' CONFIG_INET if [ "$CONFIG_INET" = "y" ]; then @@ -53,6 +34,22 @@ source net/sctp/Config.in fi fi + +#mainmenu_option next_comment +#comment 'Port/Socket Pseudo ACLs' +if [ "$CONFIG_SYSCTL" = "y" -a "$CONFIG_INET" = "y" ] +then + bool 'Port/Socket Pseudo ACLs' CONFIG_PSEUDO_ACLS + if [ "$CONFIG_PSEUDO_ACLS" = "y" ]; then + bool ' Port ACLs' CONFIG_PORT_ACLS + bool ' Raw socket group' CONFIG_SOCK_RAW_GROUP + if [ "$CONFIG_PACKET" != "n" -a "$CONFIG_SOCK_RAW_GROUP" = "y" ]; then + bool ' Packet socket group' CONFIG_SOCK_PACKET_GROUP + fi + fi +fi +#endmenu + if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then tristate 'Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)' CONFIG_ATM if [ "$CONFIG_ATM" = "y" -o "$CONFIG_ATM" = "m" ]; then diff -urN linux-2.4.27-pspa-19/net/ipv4/Makefile linux-2.4.27-pspa-19-fix/net/ipv4/Makefile --- linux-2.4.27-pspa-19/net/ipv4/Makefile Fri Dec 21 18:42:05 2001 +++ linux-2.4.27-pspa-19-fix/net/ipv4/Makefile Sat Aug 14 21:05:38 2004 @@ -9,7 +9,7 @@ O_TARGET := ipv4.o -export-objs = ipip.o ip_gre.o +export-objs = ipip.o ip_gre.o af_inet.o obj-y := utils.o route.o inetpeer.o proc.o protocol.o \ ip_input.o ip_fragment.o ip_forward.o ip_options.o \ diff -urN linux-2.4.27-pspa-19/net/ipv4/af_inet.c linux-2.4.27-pspa-19-fix/net/ipv4/af_inet.c --- linux-2.4.27-pspa-19/net/ipv4/af_inet.c Sat Aug 14 20:38:48 2004 +++ linux-2.4.27-pspa-19-fix/net/ipv4/af_inet.c Sat Aug 14 20:49:59 2004 @@ -153,6 +153,11 @@ #ifdef CONFIG_SOCK_RAW_GROUP int sysctl_ipv4_sock_raw_gid; +EXPORT_SYMBOL(sysctl_ipv4_sock_raw_gid); +#ifdef CONFIG_SOCK_PACKET_GROUP +int sysctl_sock_packet_gid; +EXPORT_SYMBOL(sysctl_sock_packet_gid); +#endif /* CONFIG_SOCK_PACKET_GROUP */ #endif /* CONFIG_SOCK_RAW_GROUP */ /* The inetsw table contains everything that inet_create needs to diff -urN linux-2.4.27-pspa-19/net/packet/af_packet.c linux-2.4.27-pspa-19-fix/net/packet/af_packet.c --- linux-2.4.27-pspa-19/net/packet/af_packet.c Sat Aug 14 20:38:48 2004 +++ linux-2.4.27-pspa-19-fix/net/packet/af_packet.c Sat Aug 14 20:49:34 2004 @@ -87,9 +87,9 @@ #ifdef CONFIG_SOCK_RAW_GROUP #ifdef CONFIG_SOCK_PACKET_GROUP -int sysctl_sock_packet_gid; +extern int sysctl_sock_packet_gid; #else -extern int sysctl_sock_raw_gid; +extern int sysctl_ipv4_sock_raw_gid; #endif /* CONFIG_SOCK_PACKET_GROUP */ #endif /* CONFIG_SOCK_RAW_GROUP */ @@ -972,7 +972,7 @@ #ifdef CONFIG_SOCK_PACKET_GROUP && (current->egid != sysctl_sock_packet_gid) #else - && (current->egid != sysctl_sock_raw_gid) + && (current->egid != sysctl_ipv4_sock_raw_gid) #endif /* CONFIG_SOCK_PACKET_GROUP */ #endif /* CONFIG_SOCK_RAW_GROUP */ )