[
https://issues.apache.org/jira/browse/MODPYTHON-157?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Graham Dumpleton closed MODPYTHON-157.
--------------------------------------
> PythonInterpPerDirectory broken for directory request in fixup phase and
> earlier.
> ---------------------------------------------------------------------------------
>
> Key: MODPYTHON-157
> URL: https://issues.apache.org/jira/browse/MODPYTHON-157
> Project: mod_python
> Issue Type: Bug
> Components: core
> Affects Versions: 2.7.10, 3.1.4, 3.2.8
> Reporter: Graham Dumpleton
> Assigned To: Graham Dumpleton
> Fix For: 3.3
>
>
> The PythonInterpPerDirectory request creates distinct interpreters for each
> directory in the file system. The name of the directory is derived from
> req.filename.
> In determining the name of the interpreter from req.filename, it always
> assumes that if the request is against the directory and not a file in it,
> that req.filename will always have a trailing slash appended to it. This
> however is not the case, as trailing slash redirection is only performed by
> mod_dir at the end of the fixup handler phase. Thus the name of the
> interpreter will be wrong for handler run in fixup handler pahse or earlier
> and will actually be that of the parent directory.
> The code in select_interp_name() of src/mod_python.c which determines
> interpreter name is:
> /* base interpreter on directory where the file is found */
> if (req && ap_is_directory(req->pool, req->filename)) {
> /** XXX I suppose that if req->filename is a directory, there
> already
> is a trailing slash in req->filename. This is due to the
> fact
> that Apache redirect any request from /directory to
> /directory/.
> That's why the tests below are commented out, they should
> be useless.
> **/
> /* if (req->filename[strlen(req->filename)-1]=='/') { */
> return ap_make_dirstr_parent(req->pool, req->filename);
> /* }
> else {
> return ap_make_dirstr_parent(req->pool,
> apr_pstrcat(req->pool,
> req->filename,
> "/", NULL ));
> } */
> }
> Note that it actually has the code that would be required for this to work
> properly but it is commented out because of a wrong assumption that the
> trailing slash would always be there.
> Code simply has to be uncommented.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.