aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2011-04-14 16:01:47 +0200
committerMartin Willi <martin@revosec.ch>2011-04-15 13:00:23 +0200
commit2b3c87b49afa54507580c1727b3ebdfe9db1999f (patch)
tree9152a586dad7a7567ccaafebe945132cc789c740 /src
parent96409be3201317d4eeeba5e2549b9543c48358ad (diff)
downloadstrongswan-2b3c87b49afa54507580c1727b3ebdfe9db1999f.tar.bz2
strongswan-2b3c87b49afa54507580c1727b3ebdfe9db1999f.tar.xz
Set broadcast flag in DHCP requests when sending broadcasts
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/plugins/dhcp/dhcp_socket.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libcharon/plugins/dhcp/dhcp_socket.c b/src/libcharon/plugins/dhcp/dhcp_socket.c
index 8851c1b79..c98d50554 100644
--- a/src/libcharon/plugins/dhcp/dhcp_socket.c
+++ b/src/libcharon/plugins/dhcp/dhcp_socket.c
@@ -201,6 +201,9 @@ static int prepare_dhcp(private_dhcp_socket_t *this,
dhcp->transaction_id = transaction->get_id(transaction);
if (chunk_equals(broadcast, this->dst->get_address(this->dst)))
{
+ /* Set broadcast flag to get broadcasted replies, as we actually
+ * do not own the MAC we request an address for. */
+ dhcp->flags = htons(0x8000);
/* TODO: send with 0.0.0.0 source address */
}
else