On Thu, 26 Nov 2009, Erik Faye-Lund wrote: > Yeah, I saw your patches, and realized that I needed to rebase my work > at some point, but none of the repos I usually pull from seems to > contain the patches yet. Rebasing will be a requirement before this > can be applied for sure. Ok, great! I tried applying it on the latest master, and it wasn't too much of work. > > Also, the getaddrinfo-compatibility wrappers perhaps may need some minor > > updates to handle the use cases needed for setting up listening sockets. > > I expect you're referring to IPv6 support in the wrappers this patch > adds? Unfortunately IPv6 isn't something I'm very familiar with, but > I'll give it a go unless someone else provides some patches... No, sorry for being unclear. When IPv6 is enabled, name lookups go through getaddrinfo instead of gethostbyname. Since getaddrinfo isn't available on Win2k (and switching between getaddrinfo/gethostbyname happens at compile time when IPv6 is enabled), we have to provide a small getaddrinfo stub, implemented in terms of gethostbyname. This currently implements only parts of the getaddrinfo interface - enough for the way getaddrinfo was used this far. git-daemon uses getaddrinfo in a slightly different way (for setting up listening sockets), and thus uses parameters that our current getaddrinfo stub doesn't support. The patch I sent to this thread a moment ago adds support for the way git-daemon uses getaddrinfo. I tested this patch series on top of the latest master, with IPv6 support, and found a slight problem caused by the IPv6 support. If IPv6 isn't enabled, git-daemon always listens on one single socket, otherwise it may listen on two separate sockets, one for v4 and one for v6. This causes problems with the mingw poll() replacement, which has a special case for polling one single fd - otherwise it tries to use some emulation that currently only works for pipes. I didn't try to make any proper fix for this though. I tested git-daemon by hacking it to listen on only one of the sockets, and that worked well for both v4 and v6. So, in addition to the getaddrinfo patch I sent, the mingw poll() replacement needs some updates to handle polling multiple sockets. Except from that, things seem to work, at a quick glance. // Martin -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html