durusmail: quixote-users: SCGI + Quixote, Location / ?
SCGI + Quixote, Location / ?
2005-08-10
2005-08-10
2005-08-10
2005-08-10
2005-08-10
2005-08-10
2005-08-10
2005-08-10
2005-08-10
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-12
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
2005-08-11
RELEASED: scgi-1.6
2005-08-11
2005-08-11
SCGI + Quixote, Location / ?
Shahms King
2005-08-11
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

David Binger wrote:
| On Aug 11, 2005, at 12:07 PM, Shahms King wrote:
|
|> I should have piped up earlier, but this behavior also occurs with
|> mod_python.  I can't speak for mod_scgi's SCRIPT_NAME and PATH_INFO
|> behavior, but as of Quixote 2.0 (haven't tried 2.1 yet, though I  need to
|> get rolling on the Fedora Extras packages...) the "abort on an empty
|> PATH_INFO" behavior essentially means that Quixote will append a
|> trailing slash onto any directory except the root, leading to  situtions
|
|
| If your environment always has the full path in SCRIPT_NAME, and
| nothing in PATH_INFO, then the redirect to SCRIPT_NAME + '/' requires
| all urls to end in a trailing slash.  I think this is what you are
| saying, anyway, and I agree that it is undesirable.
|
| If you *can* trust your environment to have a correct SCRIPT_NAME,
| then the redirect to SCRIPT_NAME + '/' (when PATH_INFO is empty) is  nice.
|
| Should Quixote's publisher require a correct SCRIPT_NAME?  I think so,
| since this can be provided either through the use of the SCGIMount or
| through the command-line argument to scgi_server.py.
|
| Should Quixote's publisher give the same result
| when PATH_INFO is 'foo/bar' that it gives
| when PATH_INFO is '/foo/bar' ?
| I don't know what to think about this, but it does seem good to
| do something other than trip on the assert.

Yeah, I rewrote the patch and email a couple of times as a direct result
of this issue and it's why I settled on the "ignore the leading slash if
present" solution.  I don't know of an environment that never sets
PATH_INFO and just uses SCRIPT_NAME (I'm pretty sure that violates the
CGI "spec" pretty aggregiously). In every environment I've used
SCRIPT_NAME is set as the part of the path that triggered the invocation
of the script and PATH_INFO is everything after that. There are some
situations where this holds but figuring out the real quixote root
requires a lot of work (mod_python and Apache Directory directives, for
example -- don't do that).

Thinking about it more, I'm pretty sure Apache, when PATH_INFO is
present, always starts it with a '/', however.

- --
Shahms E. King 
Multnomah ESD

Public Key:
http://shahms.mesd.k12.or.us/~sking/shahms.asc
Fingerprint:
1612 054B CE92 8770 F1EA  AB1B FEAB 3636 45B2 D75B
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFC+5ya/qs2NkWy11sRAj4SAJ9l08hUrKogkCUWUGUylJDOKpfZrQCfbmlJ
JwtZq1Zt2VQ5InA7qI+3e7s=
=h8LE
-----END PGP SIGNATURE-----
reply