aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/dhcp/dhcp_provider.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-08-27 16:26:28 +0200
committerMartin Willi <martin@revosec.ch>2012-08-30 16:43:44 +0200
commit980c468cdcf5072415cb38ea59e05acc92bdcad5 (patch)
tree56926b55833c2414b17234923a93547f23efecb8 /src/libcharon/plugins/dhcp/dhcp_provider.c
parent769446a8c7b640f7a9e0265d8e1bfc1b14a73b24 (diff)
downloadstrongswan-980c468cdcf5072415cb38ea59e05acc92bdcad5.tar.bz2
strongswan-980c468cdcf5072415cb38ea59e05acc92bdcad5.tar.xz
DHCP plugin returns virtual IPs for IPv4 requests only
Diffstat (limited to 'src/libcharon/plugins/dhcp/dhcp_provider.c')
-rw-r--r--src/libcharon/plugins/dhcp/dhcp_provider.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcharon/plugins/dhcp/dhcp_provider.c b/src/libcharon/plugins/dhcp/dhcp_provider.c
index 3d72b4435..e46cc4d90 100644
--- a/src/libcharon/plugins/dhcp/dhcp_provider.c
+++ b/src/libcharon/plugins/dhcp/dhcp_provider.c
@@ -84,7 +84,7 @@ METHOD(attribute_provider_t, acquire_address, host_t*,
private_dhcp_provider_t *this, char *pool,
identification_t *id, host_t *requested)
{
- if (streq(pool, "dhcp"))
+ if (streq(pool, "dhcp") && requested->get_family(requested) == AF_INET)
{
dhcp_transaction_t *transaction, *old;
host_t *vip;
@@ -110,7 +110,7 @@ METHOD(attribute_provider_t, release_address, bool,
private_dhcp_provider_t *this, char *pool,
host_t *address, identification_t *id)
{
- if (streq(pool, "dhcp"))
+ if (streq(pool, "dhcp") && address->get_family(address) == AF_INET)
{
dhcp_transaction_t *transaction;