Re: Apache 2.0.32 beta is available

2002-02-19 Thread Jeroen Massar



On Mon, 18 Feb 2002, Bill Stoddard wrote:

  On Sun, 17 Feb 2002, Justin Erenkrantz wrote:
 
  SNIP
SNIP
  Unless someone submitted patches since the 2.0.32-alpha tarball last
  week. I don't think Win32/nt works especially as it relies on
  sockaddr_in for the mpm_winnt. I figured and fixed this, this weekend when
  I wanted too see if the IPv6 support for Apache on NT worked or not.
  It did compile but without IPv6 support. After some hours of changing
  things, enabling getaddrinfo() etc. I suddenly had a IPv6 enabled
  mpm_winnt version of Apache 2.0.32. I will be cleaning up the diff tonight
  and fixing the fact that IPv6 addresses get logged quite weirdly, which
  is a weird offset effect. You'll probably get the diff tomorrow morning CET ;)
 
 Cool! Thanks, will be looking for the patch.
 
 Bill
 

I haven't made a proper diff, nor the cleanups, but if you copy the files
from:
http://calvin.ics.hro.nl/~jeroen/apache2/apache_2.0.32-winnt-ipv6.zip

And extract them on top of the apache 2.0.32 alpha/beta tarball and
compile it should work. This _does_ however require the IPv6 headers
supplied by either the platform preview 
(http://msdn.microsoft.com/downloads/sdks/platform/tpipv6.asp)
and or the newer SDK's. Simply build with the InstallBin targets etc and
it should all work out fine. The newer IPv6 stacks by MS automatically
detect IPv6 presence and use it if possible. This allows for a IPv6
enabled build which should be able to run on most NT's. I say NT's here as
the IPv6 stack for 9x/ME is unknown  untested for me.

Things I have to do to clean it up:
 - fix the address copying (save_addrinfo goes wrong on me)
 - put in many #ifdef APR_HAVE_IPV6 lines.
 - get rid of the debug stuff :)

You'll notice that the winnt_mpm now passes the listen_rec to winnt_accept()
This was the cleanest way in my opinion for it to get the address family.

There is also some weird magic, sockaddr_in6 is normally 24 bytes, but
when returned from getaddrinfo() it's always 28 hmm ;)

I'll probably have a stab on this tomorrow and pass in a diff to you guys ;)
If I am really lucky I will have my adsl line back tomorrow, carrying
printed code and using floppydisks isn't fun ;)... I got the sync.. now
they have to turn on provisioning...

Greets,
 Jeroen




Re: Apache 2.0.32 beta is available

2002-02-19 Thread Jeff Trawick

Jeroen Massar [EMAIL PROTECTED] writes:

   Unless someone submitted patches since the 2.0.32-alpha tarball last
   week. I don't think Win32/nt works especially as it relies on
   sockaddr_in for the mpm_winnt. I figured and fixed this, this weekend when
   I wanted too see if the IPv6 support for Apache on NT worked or not.
   It did compile but without IPv6 support. After some hours of changing
   things, enabling getaddrinfo() etc. I suddenly had a IPv6 enabled
   mpm_winnt version of Apache 2.0.32. I will be cleaning up the diff tonight
   and fixing the fact that IPv6 addresses get logged quite weirdly, which
   is a weird offset effect. You'll probably get the diff tomorrow morning CET ;)

 I haven't made a proper diff, nor the cleanups, but if you copy the files
 from:
 http://calvin.ics.hro.nl/~jeroen/apache2/apache_2.0.32-winnt-ipv6.zip

A suggestion:

Work on APR first (and submit your patch to [EMAIL PROTECTED]).  Get
the APR test programs (client, server, sendfile) working nicely.
Once that is resolved/mostly resolved, then work on Apache.

Some notes on your current code (which I'm guessing at since there is
no diff :) ):

We would not want to define struct in_addr6 and struct sockaddr_in6 in
apr_network_io.h.

Please don't use // comments ;)

Somebody needs to get to the bottom of the 24-byte/28-byte
discrepancy.  I guess this is related to you setting salen to
sizeof(struct sockaddr_in6)+4 in set_socket_vars().

-- 
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
   http://www.geocities.com/SiliconValley/Park/9289/
 Born in Roswell... married an alien...



Re: Apache 2.0.32 beta is available

2002-02-18 Thread Jeroen Massar



On Sun, 17 Feb 2002, Justin Erenkrantz wrote:

SNIP
 
 Apache 2.0 offers numerous enhancements, improvements and performance
 boosts over the 1.3 codebase.  The most visible and noteworthy addition
 is the ability to run Apache in a hybrid thread/process mode on any
 platform that supports both threads and processes.  This has been shown
 to improve the scalability of the Apache HTTPD server significantly on
 some versions of Unix in our testing.  Apache 2.0 also includes support
 for filtered I/O.  This allows modules to modify the output of other
 modules before it is sent to the client.  Finally, we have included
 support for IPv6 on any platform that supports IPv6.
Unless someone submitted patches since the 2.0.32-alpha tarball last
week. I don't think Win32/nt works especially as it relies on
sockaddr_in for the mpm_winnt. I figured and fixed this, this weekend when
I wanted too see if the IPv6 support for Apache on NT worked or not.
It did compile but without IPv6 support. After some hours of changing
things, enabling getaddrinfo() etc. I suddenly had a IPv6 enabled
mpm_winnt version of Apache 2.0.32. I will be cleaning up the diff tonight
and fixing the fact that IPv6 addresses get logged quite weirdly, which
is a weird offset effect. You'll probably get the diff tomorrow morning CET ;)

Greets,
 Jeroen

PS: What makes this so cool is the fact that IIS doesn't have IPv6 support (yet, 
unless someone has a superduper development version somewhere ;)




Re: Apache 2.0.32 beta is available

2002-02-18 Thread Bill Stoddard

 On Sun, 17 Feb 2002, Justin Erenkrantz wrote:

 SNIP
 
  Apache 2.0 offers numerous enhancements, improvements and performance
  boosts over the 1.3 codebase.  The most visible and noteworthy addition
  is the ability to run Apache in a hybrid thread/process mode on any
  platform that supports both threads and processes.  This has been shown
  to improve the scalability of the Apache HTTPD server significantly on
  some versions of Unix in our testing.  Apache 2.0 also includes support
  for filtered I/O.  This allows modules to modify the output of other
  modules before it is sent to the client.  Finally, we have included
  support for IPv6 on any platform that supports IPv6.
 Unless someone submitted patches since the 2.0.32-alpha tarball last
 week. I don't think Win32/nt works especially as it relies on
 sockaddr_in for the mpm_winnt. I figured and fixed this, this weekend when
 I wanted too see if the IPv6 support for Apache on NT worked or not.
 It did compile but without IPv6 support. After some hours of changing
 things, enabling getaddrinfo() etc. I suddenly had a IPv6 enabled
 mpm_winnt version of Apache 2.0.32. I will be cleaning up the diff tonight
 and fixing the fact that IPv6 addresses get logged quite weirdly, which
 is a weird offset effect. You'll probably get the diff tomorrow morning CET ;)

 Greets,
  Jeroen

 PS: What makes this so cool is the fact that IIS doesn't have IPv6 support (yet, 
unless
someone has a superduper development version somewhere ;)

Cool! Thanks, will be looking for the patch.

Bill