You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jw...@apache.org on 2003/09/28 18:27:24 UTC

cvs commit: httpd-2.0/docs/conf httpd-std.conf.in

jwoolley    2003/09/28 09:27:24

  Modified:    .        configure.in
               docs/conf httpd-std.conf.in
  Log:
  "Listen 80" just works now, using v4-only, v6-only, mapped address
  or non-mapped address.
  
  Submitted by:	Colm MacCarthaigh <co...@stdlib.net>
  
  Revision  Changes    Path
  1.255     +3 -10     httpd-2.0/configure.in
  
  Index: configure.in
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/configure.in,v
  retrieving revision 1.254
  retrieving revision 1.255
  diff -u -d -u -r1.254 -r1.255
  --- configure.in	21 Jul 2003 14:48:01 -0000	1.254
  +++ configure.in	28 Sep 2003 16:27:23 -0000	1.255
  @@ -360,16 +360,9 @@
   esac
   ])
   
  -if test $v4mapped = "yes" -o $ac_cv_define_APR_HAVE_IPV6 = "no"; then
  -    nonssl_listen_stmt_1=""
  -    nonssl_listen_stmt_2="Listen @@Port@@"
  -    if test $ac_cv_define_APR_HAVE_IPV6 = "yes"; then
  -        AC_DEFINE(AP_ENABLE_V4_MAPPED, 1,
  -                  [Allow IPv4 connections on IPv6 listening sockets])
  -    fi
  -else
  -    nonssl_listen_stmt_1="Listen 0.0.0.0:@@Port@@"
  -    nonssl_listen_stmt_2="Listen [[::]]:@@Port@@"
  +if test $v4mapped = "yes" -a $ac_cv_define_APR_HAVE_IPV6 = "yes"; then
  +    AC_DEFINE(AP_ENABLE_V4_MAPPED, 1,
  +              [Allow IPv4 connections on IPv6 listening sockets])
   fi
   
   AC_ARG_ENABLE(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn on debugging and compile time warnings),
  
  
  
  1.55      +1 -2      httpd-2.0/docs/conf/httpd-std.conf.in
  
  Index: httpd-std.conf.in
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/conf/httpd-std.conf.in,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -d -u -r1.54 -r1.55
  --- httpd-std.conf.in	29 Jul 2003 20:17:07 -0000	1.54
  +++ httpd-std.conf.in	28 Sep 2003 16:27:24 -0000	1.55
  @@ -214,8 +214,7 @@
   # prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
   #
   #Listen 12.34.56.78:80
  -@nonssl_listen_stmt_1@
  -@nonssl_listen_stmt_2@
  +Listen @@Port@@
   
   #
   # Dynamic Shared Object (DSO) Support
  
  
  

Re: cvs commit: httpd-2.0/docs/conf httpd-std.conf.in

Posted by Colm MacCarthaigh <co...@stdlib.net>.
On Sun, Sep 28, 2003 at 02:09:57PM -0400, Jeff Trawick wrote:
> jwoolley@apache.org wrote:
> 
> >jwoolley    2003/09/28 09:27:24
> >
> >  Modified:    .        configure.in
> >               docs/conf httpd-std.conf.in
> >  Log:
> >  "Listen 80" just works now, using v4-only, v6-only, mapped address
> >  or non-mapped address.
> 
> so --enable-v4-mapped and one "Listen <port>" gets you one listening 
> socket that handles v4 and v6 and IPV6_V6ONLY socket option is used when 
> available/as appropriate

Yep, --enable-v4-mapped will give you just one socket per port when
appropriate/available.

> and --disable-v4-mapped and one "Listen 
> <port>" gets you two listening sockets, one for v4 and one for v6, and 
> the IPV6_V6ONLY socket option is used when available/as appropriate?

Again, yep. In my opinion that makes the two situations more
consistent than different. If an administrator wants to listen
on port 80; that's what they get, in both scenarios.

If an administator wants to Listen on port 80 in IPv4 only
they should use "Listen 0.0.0.0 80", in both scenarios. If
an administator wants to Listen on port 80 in IPv6 only
they should use "Listen [::] 80", in both scenarios. 

Previously "Listen 80" did different things depending on how you
had configured. I'd say this inconsistency is more dangerous than
the relatively unimportant inconsistency of how many sockets are
being used!

> (longing for the days when I knew how to explain to non-experts how to 
> know how many listening sockets they had and/or when the accept mutex 
> was actually used)

That's what netstat is for ;) Though you're right, it is a real pain.
There's no easy way around it either, since platforms which only do
V6ONLY (windows) and that don't do it all (Linux, Tru64) have to be
supported it's always going to be messy.

In general though, anyone administrating IPv6 boxen either very quickly
becomes aware of how things like V6ONLY work, or the need to know
never arises in the first place. If a module-writer, or administrator 
needs to know what's happening they shouldn't have much difficulty. 

-- 
Colm MacCárthaigh                        Public Key: colm+pgp@stdlib.net
colm@stdlib.net					  http://www.stdlib.net/

Re: cvs commit: httpd-2.0/docs/conf httpd-std.conf.in

Posted by Jeff Trawick <tr...@attglobal.net>.
jwoolley@apache.org wrote:

> jwoolley    2003/09/28 09:27:24
> 
>   Modified:    .        configure.in
>                docs/conf httpd-std.conf.in
>   Log:
>   "Listen 80" just works now, using v4-only, v6-only, mapped address
>   or non-mapped address.

so --enable-v4-mapped and one "Listen <port>" gets you one listening 
socket that handles v4 and v6 and IPV6_V6ONLY socket option is used when 
available/as appropriate, and --disable-v4-mapped and one "Listen 
<port>" gets you two listening sockets, one for v4 and one for v6, and 
the IPV6_V6ONLY socket option is used when available/as appropriate?

(longing for the days when I knew how to explain to non-experts how to 
know how many listening sockets they had and/or when the accept mutex 
was actually used)