fixed netlink socket receiver code

implemented interface enumeration code with netlink: no getifaddrs reqired anymore
This commit is contained in:
Martin Willi
2007-03-03 14:56:24 +00:00
parent 285bbed595
commit 373b8a607f
8 changed files with 190 additions and 289 deletions
+3 -2
View File
@@ -261,7 +261,8 @@ static void updown(private_child_sa_t *this, bool up)
asprintf(&virtual_ip, "");
}
charon->socket->is_local_address(charon->socket, this->me.addr, &ifname);
ifname = charon->kernel_interface->get_interface(charon->kernel_interface,
this->me.addr);
/* build the command with all env variables.
* TODO: PLUTO_PEER_CA and PLUTO_NEXT_HOP are currently missing
@@ -295,7 +296,7 @@ static void updown(private_child_sa_t *this, bool up)
this->me.addr) ? "-host" : "-client",
this->me.addr->get_family(this->me.addr) == AF_INET ? "" : "-ipv6",
this->policy->get_name(this->policy),
ifname,
ifname ? ifname : "(unknown)",
this->reqid,
this->me.addr,
this->me.id,
+1 -1
View File
@@ -249,7 +249,7 @@ static status_t build_i(private_ike_natd_t *this, message_t *message)
if (host->is_anyaddr(host))
{
/* TODO: we could get the src address from netlink!? */
list = charon->socket->create_local_address_list(charon->socket);
list = charon->kernel_interface->create_address_list(charon->kernel_interface);
while (list->remove_first(list, (void**)&host) == SUCCESS)
{
notify = build_natd_payload(this, NAT_DETECTION_SOURCE_IP, host);