Don't ignore loopback devices and allow addresses on them being enumerated
This commit is contained in:
@@ -303,14 +303,14 @@ METHOD(kernel_interface_t, get_interface, char*,
|
||||
|
||||
METHOD(kernel_interface_t, create_address_enumerator, enumerator_t*,
|
||||
private_kernel_interface_t *this, bool include_down_ifaces,
|
||||
bool include_virtual_ips)
|
||||
bool include_virtual_ips, bool include_loopback)
|
||||
{
|
||||
if (!this->net)
|
||||
{
|
||||
return enumerator_create_empty();
|
||||
}
|
||||
return this->net->create_address_enumerator(this->net, include_down_ifaces,
|
||||
include_virtual_ips);
|
||||
include_virtual_ips, include_loopback);
|
||||
}
|
||||
|
||||
METHOD(kernel_interface_t, add_ip, status_t,
|
||||
@@ -423,7 +423,7 @@ METHOD(kernel_interface_t, get_address_by_ts, status_t,
|
||||
}
|
||||
host->destroy(host);
|
||||
|
||||
addrs = create_address_enumerator(this, TRUE, TRUE);
|
||||
addrs = create_address_enumerator(this, TRUE, TRUE, TRUE);
|
||||
while (addrs->enumerate(addrs, (void**)&host))
|
||||
{
|
||||
if (ts->includes(ts, host))
|
||||
|
||||
@@ -320,11 +320,13 @@ struct kernel_interface_t {
|
||||
* The hosts are read-only, do not modify of free.
|
||||
*
|
||||
* @param include_down_ifaces TRUE to enumerate addresses from down interfaces
|
||||
* @param include_virtual_ips TRUE to enumerate virtual ip addresses
|
||||
* @param include_virtual_ips TRUE to enumerate virtual IP addresses
|
||||
* @param include_loopback TRUE to enumerate addresses on loopback interfaces
|
||||
* @return enumerator over host_t's
|
||||
*/
|
||||
enumerator_t *(*create_address_enumerator) (kernel_interface_t *this,
|
||||
bool include_down_ifaces, bool include_virtual_ips);
|
||||
bool include_down_ifaces, bool include_virtual_ips,
|
||||
bool include_loopback);
|
||||
|
||||
/**
|
||||
* Add a virtual IP to an interface.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2008 Tobias Brunner
|
||||
* Copyright (C) 2008-2012 Tobias Brunner
|
||||
* Copyright (C) 2007 Martin Willi
|
||||
* Hochschule fuer Technik Rapperswil
|
||||
*
|
||||
@@ -80,11 +80,13 @@ struct kernel_net_t {
|
||||
* The hosts are read-only, do not modify of free.
|
||||
*
|
||||
* @param include_down_ifaces TRUE to enumerate addresses from down interfaces
|
||||
* @param include_virtual_ips TRUE to enumerate virtual ip addresses
|
||||
* @param include_virtual_ips TRUE to enumerate virtual IP addresses
|
||||
* @param include_loopback TRUE to enumerate addresses on loopback interfaces
|
||||
* @return enumerator over host_t's
|
||||
*/
|
||||
enumerator_t *(*create_address_enumerator) (kernel_net_t *this,
|
||||
bool include_down_ifaces, bool include_virtual_ips);
|
||||
bool include_down_ifaces, bool include_virtual_ips,
|
||||
bool include_loopback);
|
||||
|
||||
/**
|
||||
* Add a virtual IP to an interface.
|
||||
|
||||
Reference in New Issue
Block a user