Thomas Egerer 8444cf712c xfrm: Allow different selector family in temporary state
The family parameter xfrm_state_find is used to find a state matching a
certain policy. This value is set to the template's family
(encap_family) right before xfrm_state_find is called.
The family parameter is however also used to construct a temporary state
in xfrm_state_find itself which is wrong for inter-family scenarios
because it produces a selector for the wrong family. Since this selector
is included in the xfrm_user_acquire structure, user space programs
misinterpret IPv6 addresses as IPv4 and vice versa.
This patch splits up the original init_tempsel function into a part that
initializes the selector respectively the props and id of the temporary
state, to allow for differing ip address families whithin the state.

Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-09-20 11:11:38 -07:00
..
2010-08-02 14:28:34 -05:00
2010-06-03 03:21:52 -07:00
2010-05-12 23:02:23 -07:00
2009-11-04 05:06:25 -08:00
2009-09-01 17:40:57 -07:00
2010-07-29 12:55:00 -04:00
2010-06-03 03:21:52 -07:00
2010-06-03 03:21:52 -07:00
2009-03-21 19:06:54 -07:00
2009-09-01 17:40:31 -07:00
2008-07-05 21:26:57 -07:00
2009-11-04 05:06:25 -08:00
2010-06-02 05:16:23 -07:00
2010-04-13 01:41:33 -07:00
2010-06-03 03:21:52 -07:00
2010-09-08 10:39:57 -07:00
2010-06-30 13:31:19 -07:00
2008-06-11 21:00:38 -07:00
2010-06-10 23:31:35 -07:00
2010-06-30 13:31:19 -07:00
2010-06-03 03:21:52 -07:00
2008-02-29 11:46:17 -08:00
2009-12-26 20:46:28 -08:00
2010-06-03 03:21:52 -07:00
2010-06-03 03:21:52 -07:00
2010-06-30 12:06:52 -07:00
2010-03-12 15:52:40 -08:00
2009-01-06 11:38:15 -07:00
2010-06-23 12:58:40 -07:00
2009-11-20 15:35:04 -08:00
2009-03-21 19:06:50 -07:00
2010-04-13 14:49:34 -07:00
2009-11-04 05:06:25 -08:00
2009-07-26 19:11:14 -07:00
2010-06-10 23:31:35 -07:00
2010-06-30 13:31:19 -07:00
2010-09-08 21:45:01 -07:00
2008-07-05 21:25:39 -07:00
2010-09-08 21:45:01 -07:00
2009-10-07 16:39:43 -04:00