Neil-
That fixed the problem! N.B. that when I tested it, my Quixote/publish.py
had been patched as suggested by Mike Orr on-list and David Binger off-list
in order to remove a RewriteRule to add a trailing slash to requests made to
SCGIMount location from my httpd.conf.

The following cut and pasted from David Binger's email:

<begin paste>
Here is the patch to that _q_traverse():

-        path = request.get_environ('PATH_INFO', '')
-        assert path[:1] == '/'
+        path = request.get_environ('PATH_INFO')
+        if not path:
+            return redirect(request.get_environ('SCRIPT_NAME', '') +
'/',
+                            permanent=True)

<end of paste>

David had suggested that this patch is needed for Apache.

David, could you comment on whether it's application breaks simple_server
and other server functionality and for which versions of mod_scgi?

Thanks!
-al

Al Pacifico
Seattle, WA

-----Original Message-----
From: Neil Schemenauer [mailto:[EMAIL PROTECTED] 
Sent: Thursday, August 11, 2005 11:31 AM
To: Al Pacifico
Cc: Bruce Wang; [email protected]
Subject: Re: [Quixote-users] RELEASED: scgi-1.6

On Thu, Aug 11, 2005 at 10:34:07AM -0700, Al Pacifico wrote:
> I'm getting a similar problem (to what Bruce Wang reported) with scgi-1.6.

The Apache 2 module in version 1.6 also has a bad bug.  I added a
map_to_location hook that fixed the PATH_INFO bug in 1.5 but it is
preventing non-SCGI requests from working.  The attached patch
should fix the problem.  Sorry about all the screw-ups.

Please let me know if the patched version works for you.

  Neil


diff -rN -u old-scgi/apache2/mod_scgi.c new-scgi/apache2/mod_scgi.c
--- old-scgi/apache2/mod_scgi.c 2005-08-10 16:28:29.000000000 -0600
+++ new-scgi/apache2/mod_scgi.c 2005-08-11 13:24:32.000000000 -0600
@@ -111,8 +112,10 @@
 
 static int scgi_map_location(request_rec *r)
 {
-       /* We don't want directory walk. */
-       return OK;
+    if (r->handler && strcmp(r->handler, "scgi-handler") == 0) {
+        return OK; /* We don't want directory walk. */
+    }
+    return DECLINED;
 }
 
 static void log_err(const char *file, int line, request_rec *r,



_______________________________________________
Quixote-users mailing list
[email protected]
http://mail.mems-exchange.org/mailman/listinfo/quixote-users

Reply via email to