linux/net/ipv6
Thomas Graf e1701c68c1 [NET]: Fix fib_rules compatibility breakage
Based upon a patch from Patrick McHardy.

The fib_rules netlink attribute policy introduced in 2.6.19 broke
userspace compatibilty. When specifying a rule with "from all"
or "to all", iproute adds a zero byte long netlink attribute,
but the policy requires all addresses to have a size equal to
sizeof(struct in_addr)/sizeof(struct in6_addr), resulting in a
validation error.

Check attribute length of FRA_SRC/FRA_DST in the generic framework
by letting the family specific rules implementation provide the
length of an address. Report an error if address length is non
zero but no address attribute is provided. Fix actual bug by
checking address length for non-zero instead of relying on
availability of attribute.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-03-25 18:48:00 -07:00
..
netfilter [NETFILTER]: nf_conntrack_ipv6: fix incorrect classification of IPv6 fragments as ESTABLISHED 2007-03-07 16:08:01 -08:00
addrconf_core.c [IPV6]: Fix __ipv6_addr_type() export in correct place. 2007-02-26 11:42:57 -08:00
addrconf.c [NET]: fix up misplaced inlines. 2007-03-22 12:27:49 -07:00
af_inet6.c [IPV6]: Adjust inet6_exit() cleanup sequence against inet6_init() 2007-02-26 11:42:44 -08:00
ah6.c
anycast.c [IPV6]: /proc/net/anycast6 unbalanced inet6_dev refcnt 2007-02-28 09:42:10 -08:00
datagram.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
esp6.c
exthdrs_core.c
exthdrs.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
fib6_rules.c [NET]: Fix fib_rules compatibility breakage 2007-03-25 18:48:00 -07:00
icmp.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
inet6_connection_sock.c
inet6_hashtables.c [IPV6] HASHTABLES: Use appropriate seed for caluculating ehash index. 2007-02-12 20:26:39 -08:00
ip6_fib.c
ip6_flowlabel.c
ip6_input.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ip6_output.c
ip6_tunnel.c [IPV6] IP6TUNNEL: Use update_pmtu() of dst on xmit. 2007-02-26 11:42:53 -08:00
ipcomp6.c
ipv6_sockglue.c [IPV6] fix ipv6_getsockopt_sticky copy_to_user leak 2007-03-09 16:19:17 -08:00
ipv6_syms.c [IPV6]: Fix __ipv6_addr_type() export in correct place. 2007-02-26 11:42:57 -08:00
Kconfig [IPSEC]: make sit use the xfrm4_tunnel_register 2007-02-13 12:55:25 -08:00
Makefile [IPV6] ADDRCONF: Statically link __ipv6_addr_type() for sunrpc subsystem. 2007-02-26 11:42:52 -08:00
mcast.c
mip6.c
ndisc.c
netfilter.c [NETFILTER]: ip6_route_me_harder should take into account mark 2007-03-05 13:25:27 -08:00
proc.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
protocol.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
raw.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
reassembly.c
route.c [NET]: fix up misplaced inlines. 2007-03-22 12:27:49 -07:00
sit.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
sysctl_net_ipv6.c [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
tcp_ipv6.c [IPV6]: ipv6_fl_socklist is inadvertently shared. 2007-03-16 16:14:03 -07:00
tunnel6.c [IPSEC]: changing API of xfrm6_tunnel_register 2007-02-13 12:55:55 -08:00
udp_impl.h
udp.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
udplite.c
xfrm6_input.c [IPSEC]: changing API of xfrm6_tunnel_register 2007-02-13 12:55:55 -08:00
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c
xfrm6_policy.c [IPSEC]: More fix is needed for __xfrm6_bundle_create(). 2007-02-26 11:42:43 -08:00
xfrm6_state.c
xfrm6_tunnel.c [NET]: fix up misplaced inlines. 2007-03-22 12:27:49 -07:00