Albert Chin wrote:
Is this the appropriate patch to address CAN-2004-0174 in 2.0.49?

$ cvs diff -r1.99 -r1.100 server/listen.c
Index: listen.c

That's one part of it. But note this part has a bug which affects all those people who try to start Apache 2 with no Listen directives.


The code below has to be modified as outlined below:

--- listen.c 9 Feb 2004 20:40:49 -0000 1.99
+++ listen.c 19 Mar 2004 11:16:03 -0000 1.100
@@ -383,6 +383,26 @@ static int ap_listen_open(apr_pool_t *po
}
old_listeners = NULL;
+#if AP_NONBLOCK_WHEN_MULTI_LISTEN
+ /* if multiple listening sockets, make them non-blocking so that
+ * if select()/poll() reports readability for a reset connection that
+ * is already forgotten about by the time we call accept, we won't
+ * be hung until another connection arrives on that port
+ */
+ if (ap_listeners->next) {

if (ap_listeners && ap_listeners->next) {


I'll send you off-line the entire patch (no secret at this point). Unfortunately it does not have this fix ;)

Reply via email to