[Zope-Checkins] SVN: Zope/branches/2.12/ Backported fix for LP #257675
Hanno Schlichting
hannosch at hannosch.eu
Thu Apr 1 17:09:23 EDT 2010
Log message for revision 110441:
Backported fix for LP #257675
Changed:
U Zope/branches/2.12/doc/CHANGES.rst
U Zope/branches/2.12/src/ZPublisher/HTTPRequest.py
U Zope/branches/2.12/src/ZPublisher/tests/testHTTPRequest.py
-=-
Modified: Zope/branches/2.12/doc/CHANGES.rst
===================================================================
--- Zope/branches/2.12/doc/CHANGES.rst 2010-04-01 21:05:14 UTC (rev 110440)
+++ Zope/branches/2.12/doc/CHANGES.rst 2010-04-01 21:09:23 UTC (rev 110441)
@@ -31,6 +31,9 @@
Bugs Fixed
++++++++++
+- LP #257675: request.form contained '-C':'' when no QUERY_STRING was in
+ the environment.
+
- Zope 3-style resource directories would throw an Unauthorized error when
trying to use restrictedTraverse() to reach a resource in a sub-directory
of the resource directory.
Modified: Zope/branches/2.12/src/ZPublisher/HTTPRequest.py
===================================================================
--- Zope/branches/2.12/src/ZPublisher/HTTPRequest.py 2010-04-01 21:05:14 UTC (rev 110440)
+++ Zope/branches/2.12/src/ZPublisher/HTTPRequest.py 2010-04-01 21:09:23 UTC (rev 110441)
@@ -478,6 +478,12 @@
other = self.other
taintedform = self.taintedform
+ # If 'QUERY_STRING' is not present in environ
+ # FieldStorage will try to get it from sys.argv[1]
+ # which is not what we need.
+ if not environ.has_key('QUERY_STRING'):
+ environ['QUERY_STRING'] = ''
+
meth = None
fs = ZopeFieldStorage(fp=fp,environ=environ,keep_blank_values=1)
if not hasattr(fs,'list') or fs.list is None:
Modified: Zope/branches/2.12/src/ZPublisher/tests/testHTTPRequest.py
===================================================================
--- Zope/branches/2.12/src/ZPublisher/tests/testHTTPRequest.py 2010-04-01 21:05:14 UTC (rev 110440)
+++ Zope/branches/2.12/src/ZPublisher/tests/testHTTPRequest.py 2010-04-01 21:09:23 UTC (rev 110441)
@@ -128,6 +128,13 @@
"Key %s not correctly reproduced in tainted; expected %r, "
"got %r" % (key, req.form[key], req.taintedform[key]))
+ def test_processInputs_wo_query_string(self):
+ env = {'SERVER_NAME': 'testingharnas', 'SERVER_PORT': '80'}
+ req = self._makeOne(environ=env)
+ req.processInputs()
+ self._noFormValuesInOther(req)
+ self.assertEquals(req.form, {})
+
def test_processInputs_wo_marshalling(self):
inputs = (
('foo', 'bar'), ('spam', 'eggs'),
More information about the Zope-Checkins
mailing list