diff options
author | Martin Willi <martin@revosec.ch> | 2011-04-14 16:01:47 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2011-04-15 13:00:23 +0200 |
commit | 2b3c87b49afa54507580c1727b3ebdfe9db1999f (patch) | |
tree | 9152a586dad7a7567ccaafebe945132cc789c740 /src | |
parent | 96409be3201317d4eeeba5e2549b9543c48358ad (diff) | |
download | strongswan-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.c | 3 |
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 |