req.add_handler/req.handler and PythonInterpPerDirective
--------------------------------------------------------
Key: MODPYTHON-160
URL: http://issues.apache.org/jira/browse/MODPYTHON-160
Project: mod_python
Type: Bug
Components: core
Versions: 3.3
Reporter: Graham Dumpleton
Assigned to: Graham Dumpleton
MODPYTHON-125 made req.handler writable. Being able to now do this has
uncovered a bug whereby if PythonInterpPerDirective is used mod_python can
cause Apache to crash. Code to trigger the problem is:
# .htaccess
SetHandler mod_python
PythonInterpPerDirective On
PythonFixupHandler interpreter_1
# interpreter_1.py
from mod_python import apache
def fixuphandler(req):
req.log_error("fixuphandler")
req.log_error("interpreter=%s"%req.interpreter)
req.log_error("directory=%s"%req.hlist.directory)
req.handler = "mod_python"
req.add_handler("PythonHandler","interpreter_1")
return apache.OK
def handler(req):
req.log_error("handler")
req.log_error("interpreter=%s"%req.interpreter)
req.log_error("directory=%s"%req.hlist.directory)
req.content_type = 'text/plain'
req.write('hello')
return apache.OK
In summary, if PythonHandler is not used in Apache configuration to enable
mod_python but it is done by assignment to req.handler in fixup phase and then
req.add_handler() is used to add a handler to be called for content phase, and
PythonInterpPerDirective is being used, mod_python will cause Apache to crash.
Location of crash not yet identified.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira