socket-default: Refactor setting source address when sending messages
authorTobias Brunner <tobias@strongswan.org>
Mon, 2 Nov 2015 15:22:38 +0000 (16:22 +0100)
committerTobias Brunner <tobias@strongswan.org>
Mon, 9 Nov 2015 15:43:21 +0000 (16:43 +0100)
commit47e113a63905305fdb7eee8304a5eb1adcb216d4
tree768ae0d047d6989b01de795cb1015618f58e99a5
parent99747bed8f0aea9427bd17820dbde79342bb9ce9
socket-default: Refactor setting source address when sending messages

This ensures we don't pass data (via msg_control) defined in a different
scope to sendmsg().  Actually, some compilers (e.g. GCC 5.2.1) might
optimize the memcpy() call away causing the packets not to get sent from
the intended source address.

It also makes the code clearer than with all these ifdefs.

Fixes #1171.
src/libcharon/plugins/socket_default/socket_default_socket.c