Zebediah Figura (@zfigura) commented about server/sock.c:
- if (IN6_IS_ADDR_LOOPBACK(&in6->sin6_addr))
- {
v4addr->in.sin_addr.s_addr = INADDR_LOOPBACK;
return 1;
- }
- if (IN6_IS_ADDR_V4COMPAT(&in6->sin6_addr) || IN6_IS_ADDR_V4MAPPED(&in6->sin6_addr))
- {
memcpy( &v4addr->in.sin_addr.s_addr, &in6->sin6_addr.s6_addr[12], sizeof(v4addr->in.sin_addr.s_addr) );
return 1;
- }
- return 0;
+}
+static struct rb_tree bound_addresses_tree = { addr_compare };
+static int is_blocking_addr( struct sock *sock, const union unix_sockaddr *addr )
Naming here is awkward, mostly because "blocking" usually means something else when we're talking about sockets. I don't have much better, though. Maybe "addr_can_conflict"?