aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/socket_raw/socket_raw_socket.c
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2012-08-16 15:26:37 +0200
committerTobias Brunner <tobias@strongswan.org>2012-08-16 15:26:37 +0200
commitaaefeafb4943689c3882b3a434a484cc85c4c10e (patch)
tree6e99e7150f4434534427465c4093d95286d2ce6c /src/libcharon/plugins/socket_raw/socket_raw_socket.c
parent11b514bff6b3213fa68fa37440b2c0a789c87eee (diff)
downloadstrongswan-aaefeafb4943689c3882b3a434a484cc85c4c10e.tar.bz2
strongswan-aaefeafb4943689c3882b3a434a484cc85c4c10e.tar.xz
Enable UDP decapsulation for both address families
Since the 3.5 Linux kernel both UDP implementations have a separate static flag to indicate whether ANY sockets enabled UDP decapsulation. As we only ever enabled it for one address family (in earlier versions IPv4 only, now for IPv6, if supported, and for IPv4 otherwise) UDP decapsulation wouldn't work anymore (at least for one address family).
Diffstat (limited to 'src/libcharon/plugins/socket_raw/socket_raw_socket.c')
-rw-r--r--src/libcharon/plugins/socket_raw/socket_raw_socket.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcharon/plugins/socket_raw/socket_raw_socket.c b/src/libcharon/plugins/socket_raw/socket_raw_socket.c
index 1b3c9e126..e6d1e4d2f 100644
--- a/src/libcharon/plugins/socket_raw/socket_raw_socket.c
+++ b/src/libcharon/plugins/socket_raw/socket_raw_socket.c
@@ -459,8 +459,8 @@ static int open_send_socket(private_socket_raw_socket_t *this,
DBG1(DBG_NET, "installing bypass policy on send socket failed");
}
- /* enable UDP decapsulation globally, only for one socket needed */
- if (family == AF_INET && port == CHARON_NATT_PORT &&
+ /* enable UDP decapsulation for NAT-T sockets */
+ if (port == CHARON_NATT_PORT &&
!hydra->kernel_interface->enable_udp_decap(hydra->kernel_interface,
skt, family, port))
{