Graham Dumpleton
grahamd at dscpl.com.au
Wed Apr 5 02:11:41 EDT 2006
Can you supply an example request body which has the actual data removed but preserves the header lines you mention as being a potential issue? Thanks. Graham Harold J. Ship wrote .. > Attempting to upload a file using Flash 8 FileReference.upload(url) > causes a ValueError at line 173 of util.py. > > Windows XP > Apache 2.0.54 > mod_python 3.2.8 > > >From httpd.conf: > <VirtualHost *:8020> > ServerName python > DocumentRoot "c:/Program Files/Apache Group/Apache2/htdocs/python" > <Directory "c:/Program Files/Apache Group/Apache2/htdocs/python"> > AddHandler mod_python .py > PythonHandler deko_publisher > PythonDebug Off > RewriteEngine On > RewriteRule ^$ ^$ [F] > RewriteCond %{REQUEST_FILENAME} !-f > RewriteRule ^(\w+)/(.*)$ $1.py/$2 [QSA,L] > ErrorDocument 500 "<h2>Application error</h2>Problem with Python > Setup" > </Directory> > </VirtualHost> > > deko_publisher is my own handler that delegates to mod_python.publisher > > It seems that the HTTP request has some header lines that aren't of the > form "Name: value" such as file boundaries. > > >From error.log: > > [Mon Apr 03 12:05:40 2006] [INFO] WebPython deko_publisher.py:17 about > to run uploadFoo > [Mon Apr 03 12:05:40 2006] [error] [client 127.0.0.1] PythonHandler > deko_publisher: Traceback (most recent call last): > [Mon Apr 03 12:05:40 2006] [error] [client 127.0.0.1] PythonHandler > deko_publisher: File > "C:\\Python23\\Lib\\site-packages\\mod_python\\apache.py", line 299, in > HandlerDispatch\n result = object(req) > [Mon Apr 03 12:05:41 2006] [error] [client 127.0.0.1] PythonHandler > deko_publisher: File "C:/Program Files/Apache > Group/Apache2/htdocs/python/deko_publisher.py", line 18, in handler\n > return apache.handler(req) > [Mon Apr 03 12:05:41 2006] [error] [client 127.0.0.1] PythonHandler > deko_publisher: File > "C:\\Python23\\Lib\\site-packages\\mod_python\\publisher.py", line 213, > in handler\n published = publish_object(req, object) > [Mon Apr 03 12:05:41 2006] [error] [client 127.0.0.1] PythonHandler > deko_publisher: File > "C:\\Python23\\Lib\\site-packages\\mod_python\\publisher.py", line 411, > in publish_object\n req.form = util.FieldStorage(req, > keep_blank_values=1) > [Mon Apr 03 12:05:41 2006] [error] [client 127.0.0.1] PythonHandler > deko_publisher: File > "C:\\Python23\\Lib\\site-packages\\mod_python\\util.py", line 173, in > __init__\n h, v = line.split(":", 1) > [Mon Apr 03 12:05:41 2006] [error] [client 127.0.0.1] PythonHandler > deko_publisher: ValueError: unpack list of wrong size > > util.py (lines 169-175): > while line not in ('\r','\r\n'): > # we read the headers until we reach an empty line > # NOTE : a single \n would mean the entity is malformed, > but > # we're tolerating it anyway > h, v = line.split(":", 1) > headers.add(h, v) > h = h.lower() > > proposed change: > while line not in ('\r','\r\n'): > # we read the headers until we reach an empty line > # NOTE : a single \n would mean the entity is malformed, > but > # we're tolerating it anyway > try: > h, v = line.split(":", 1) > except ValueError: > h, v = "", "" > headers.add(h, v) > h = h.lower() > > > > Harold Ship > Giant Steps Networks > > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python
|