* when connect()ing an UDP socket, we need to set the local address to the

default address of the outgoing interface as a side-effect


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34989 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Oliver Tappe
2010-01-10 15:26:46 +00:00
parent 4c7d632339
commit 4e45de0e5f
@@ -315,6 +315,15 @@ UdpDomainSupport::ConnectEndpoint(UdpEndpoint *endpoint,
status_t status = endpoint->PeerAddress().SetTo(address);
if (status < B_OK)
return status;
struct net_route *routeToDestination
= gDatalinkModule->get_route(fDomain, address);
if (routeToDestination) {
status = endpoint->LocalAddress().SetTo(
routeToDestination->interface->address);
gDatalinkModule->put_route(fDomain, routeToDestination);
if (status < B_OK)
return status;
}
}
// we need to activate no matter whether or not we have just disconnected,