You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by mi...@apache.org on 2012/03/25 23:27:30 UTC

svn commit: r1305145 - in /httpd/httpd/branches/2.4.x: ./ CHANGES STATUS server/listen.c

Author: minfrin
Date: Sun Mar 25 21:27:29 2012
New Revision: 1305145

URL: http://svn.apache.org/viewvc?rev=1305145&view=rev
Log:
Backport:
core: Fix breakage of Listen directives with MPMs that use a
per-directory config. PR 52904.
Submitted by: sf
Reviewed by: covener, minfrin

Modified:
    httpd/httpd/branches/2.4.x/   (props changed)
    httpd/httpd/branches/2.4.x/CHANGES
    httpd/httpd/branches/2.4.x/STATUS
    httpd/httpd/branches/2.4.x/server/listen.c

Propchange: httpd/httpd/branches/2.4.x/
------------------------------------------------------------------------------
  Merged /httpd/httpd/trunk:r1304874-1304875

Modified: httpd/httpd/branches/2.4.x/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/CHANGES?rev=1305145&r1=1305144&r2=1305145&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/CHANGES [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/CHANGES [utf-8] Sun Mar 25 21:27:29 2012
@@ -6,6 +6,9 @@ Changes with Apache 2.4.2
      envvars: Fix insecure handling of LD_LIBRARY_PATH that could lead to the
      current working directory to be searched for DSOs. [Stefan Fritsch]
 
+  *) core: Fix breakage of Listen directives with MPMs that use a
+     per-directory config. PR 52904. [Stefan Fritsch]
+
   *) core: Disallow directives in AllowOverrideList which are only allowed
      in VirtualHost or server context. These are usually not prepared to be
      called in .htaccess files. [Stefan Fritsch]

Modified: httpd/httpd/branches/2.4.x/STATUS
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/STATUS?rev=1305145&r1=1305144&r2=1305145&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/STATUS (original)
+++ httpd/httpd/branches/2.4.x/STATUS Sun Mar 25 21:27:29 2012
@@ -88,12 +88,6 @@ RELEASE SHOWSTOPPERS:
 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
   [ start all new proposals below, under PATCHES PROPOSED. ]
 
-  * core: Unbreak external MPMs with per-dir config.
-    PR: 52904
-    Trunk patch: http://svn.apache.org/viewvc?rev=1304874&view=rev
-                 http://svn.apache.org/viewvc?rev=1304875&view=rev
-    2.4.x patch: Trunk patch works
-    +1: sf, covener, minfrin
 
 
 PATCHES PROPOSED TO BACKPORT FROM TRUNK:

Modified: httpd/httpd/branches/2.4.x/server/listen.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/server/listen.c?rev=1305145&r1=1305144&r2=1305145&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/server/listen.c (original)
+++ httpd/httpd/branches/2.4.x/server/listen.c Sun Mar 25 21:27:29 2012
@@ -238,7 +238,7 @@ static apr_status_t close_listeners_on_e
 
 static const char *alloc_listener(process_rec *process, char *addr,
                                   apr_port_t port, const char* proto,
-                                  void *dummy)
+                                  void *slave)
 {
     ap_listen_rec **walk, *last;
     apr_status_t status;
@@ -273,7 +273,7 @@ static const char *alloc_listener(proces
     }
 
     if (found_listener) {
-        if (ap_listeners->slave != dummy) {
+        if (ap_listeners->slave != slave) {
             return "Cannot define a slave on the same IP:port as a Listener";
         }
         return NULL;
@@ -333,7 +333,7 @@ static const char *alloc_listener(proces
             last->next = new;
             last = new;
         }
-        new->slave = dummy;
+        new->slave = slave;
     }
 
     return NULL;
@@ -612,10 +612,6 @@ AP_DECLARE(void) ap_listen_pre_config(vo
     ap_listenbacklog = DEFAULT_LISTENBACKLOG;
 }
 
-/* Hack: populate an extra field
- * When this gets called from a Listen directive, dummy is null.
- * So we can use non-null dummy to pass a data pointer without conflict
- */
 AP_DECLARE_NONSTD(const char *) ap_set_listener(cmd_parms *cmd, void *dummy,
                                                 int argc, char *const argv[])
 {
@@ -662,7 +658,7 @@ AP_DECLARE_NONSTD(const char *) ap_set_l
         ap_str_tolower(proto);
     }
 
-    return alloc_listener(cmd->server->process, host, port, proto, dummy);
+    return alloc_listener(cmd->server->process, host, port, proto, NULL);
 }
 
 AP_DECLARE_NONSTD(const char *) ap_set_listenbacklog(cmd_parms *cmd,