On 9/29/2011 2:22 PM, Jeff Trawick wrote: > On Thu, Sep 29, 2011 at 2:58 PM, William A. Rowe Jr. > <wr...@rowe-clan.net> wrote: >> On 7/7/2011 3:39 AM, Gregg L. Smith wrote: >>> I have an error log full of these; >>> >>> [Thu Jul 07 00:15:58.010625 2011] [mpm_winnt:warn] [pid 2840:tid 1572] (OS >>> 64)The >>> specified network name is no longer available. : winnt_accept: >>> Asynchronous AcceptEx failed. >> >> This might be http://svn.apache.org/viewvc?view=revision&revision=1091826 >> confusing the issue if you build with Win32 IPv6 toggled on, depending on >> your operating system and the SDK you used to build... it was introduced >> in 1.4.3, you might want to try reverting this patch after first working >> through the ticket below... > > That doesn't look hopeful, as that patch only modifies behavior for > Windows < Vista; Greg reports the same problem with XP *and Vista*. > (OS level detection would have to be broken?)
It certainly contributes, maybe something similar is missing from httpd-2.2/2.3-beta sources. The old code certainly appeared to work. >>> The problem is, if I set >>> >>> AcceptFilter http none >>> >>> I lose all my vhosts and everything reverts to the main host. If I use >> >> Implies that the host headers are not queried for ***normal*** sockets, >> and reviewing http://svn.apache.org/viewvc?view=revision&revision=1088569 >> it looks like this was "optimized" (read:bugged) away. > > Supposedly that commit means "hey, we just got the peername from > accept(); don't call getpeername()". > > I don't follow the "host headers are not queried" connection to > anything in APR... (I guess we're talking about name-based vhosts.) Sorry, bad wording. You can't getpeername() on an AcceptEx() socket. You must getpeername() on non-AcceptEx() sockets. These patch, I believe, broke both 2.3-beta as well as 2.2 when compiled using IPV6 and older VC6/SDK's... my team was able to reproduce problems on Vista/W2K8 that don't exist on W2K3 once your changes are introduced to 2.2 compiled with APR_HAS_IPV6. Also, the apparent splitting of IPV6_ONLY sockets from IPV4/6 sockets causes IPV4 sockets to barf on recycling. Still trying to pin this down. Working on mitigating the damage to 2.2 and 2.3-beta now.