Alec Matusis
matusis at matusis.com
Thu Apr 20 18:06:50 EDT 2006
This actually worked. My quiestion is: how can I implement a similar change in the application, rather than in mod_python source? The rationale is that next time we upgrade mod_python, we will forget about this patch, and it will break on us. Thanks! -----Original Message----- From: Graham Dumpleton [mailto:grahamd at dscpl.com.au] Sent: Thursday, April 20, 2006 4:28 AM To: Alec Matusis Cc: mod_python at modpython.org Subject: Re: [mod_python] ValueError with Flash 8 FileReference.upload(url) On 20/04/2006, at 8:53 PM, Alec Matusis wrote: > One more thing: > > I inserted the following code in util.py on line 153 where it could > not > split the string: > > try: > h, v = line.split(":", 1) > except Exception, e: > req.log_error('faulty line is: '+repr > (line)) > > And the output was: > > [Thu Apr 20 03:47:53 2006] [error] [client 10.0.1.35] faulty line is: > 'Submit Query\\r\\n' > [Thu Apr 20 03:47:53 2006] [error] [client 10.0.1.35] faulty line is: > '------------ae0cH2ae0KM7KM7KM7gL6KM7ei4ei4' > > I am not 100% sure what this means, but for some reason these two > lines were > not captured by req.read() in my publisher. > And, I suppose, this SubmitQuery line is wrong? The request you think is the problem, possibly isn't the problem then. :-) Anyway, in util.FieldStorage, instead of using code: 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) try using the following code instead: while line not in ('\r','\r\n') and line.find(':') != -1: # 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) I have no idea if this will actually work. It attempts to break out of header parsing if it finds a line with no colon in it. This will not work for multiline headers, but then mod_python doesn't work for them anyway: http://issues.apache.org/jira/browse/MODPYTHON-159 Graham > -----Original Message----- > From: Graham Dumpleton [mailto:grahamd at dscpl.com.au] > Sent: Wednesday, April 19, 2006 5:36 PM > To: Alec Matusis > Cc: mod_python at modpython.org > Subject: RE: [mod_python] ValueError with Flash 8 > FileReference.upload(url) > > Please keep posts on mailing list. :-) > > That discussion covers two issues. > > 1. That in some cases it doesn't output required extra blank line. > This is what the Ruby patch was about. > > 2. That with Win32 client, it will do a POST with zero content. > > As to 2, I note that your example request shows content length > header of "0", but then has content. I'm not sure if this is meant > to be the test post or the real thing. > > Do you see any test POST with no actual content like they talk > about? Have you perhaps captured the test POST rather than > the real POST? > > Graham > > Alec Matusis wrote .. >> I found this discussion on Macromedia website: >> >> >> > http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/ > html/wwhel >> p.htm?context=LiveDocs_Parts&file=00002225.html >> >> The relevant posts are >> No screen name said on Sep 23, 2005 at 10:15 AM >> >> and Macromedia's official response, acknowledging the bug: >> shimi2 said on Jan 19, 2006 at 11:22 AM : >> >> I am not 100% sure if I encountered the same problem, but it looks >> like >> it. >> It also could be that it tries to parse the empty POST request >> that flash >> issues to test the connection if the filesize is > 10KB (their >> comment >> shimi2 said on Sep 21, 2005 at 4:45 PM and also this is evidently the > first >> empty line in my req.read() output ? ) >> >> They recommend a workaround for Ruby there. Since it seems to be a >> fairly >> common issue, would you be able to recommend a workaround for >> mod_python >> as >> well? >> >> I wouldn't like to change mod_python sources, but rather, I would >> like >> to >> alter the bad HTTP request in my handler: >> >> try: >> myform=util.FieldStorage(req) >> except ValueError: >> altered_req = MakeGoodHTTPRequest(req) >> myform=util.FieldStorage(altered_req) >> >> to handle >> ValueError: need more than 1 value to unpack >> that appears on line 153 in util.py ( h, v = line.split(":", 1) >> causes >> it - >> looks like the line does not have a colon ":" ) >> >> Could you advise on how this MakeGoodHTTPRequest should look like? >> >> >> -----Original Message----- >> From: Graham Dumpleton [mailto:grahamd at dscpl.com.au] >> Sent: Wednesday, April 19, 2006 2:43 PM >> To: Alec Matusis >> Cc: mod_python list >> Subject: Re: [mod_python] ValueError with Flash 8 > FileReference.upload(url) >> >> Arrrghhh, I'm going bonkers, the blank line is there now when I look >> at it. :-( >> >> Too many backslashes in there, strains the eyes. >> >> Anyway, still sounds very much like the missing blank line seen >> before. >> I'll have a look again later at it. >> >> Graham >> >> On 20/04/2006, at 6:34 AM, Graham Dumpleton wrote: >> >>> Flash for some reason doesn't do the POST for multipart/form per >>> standard RFCs >>> when no content type is associated with a filename block. >>> >>> See: >>> >>> http://www.modpython.org/pipermail/mod_python/2006-April/ >>> 020794.html >>> >>> for previous discussion. >>> >>> See more below. >>> >>> On 19/04/2006, at 7:08 PM, Alec Matusis wrote: >>> >>>> I have been having a problem with FileReference.upload(url) in >>>> flash >>>> 8, and to my amazement, found these posts. >>>> >>>> Here's the error: >>>> >>>> [Wed Apr 19 01:34:52 2006] [error] [client 10.0.1.39] File >>>> "/usr/local/lib/python2.4/site-packages/mod_python/util.py", line >>>> 153, in __init__ >>>> [Wed Apr 19 01:34:52 2006] [error] [client 10.0.1.39] h, v = >>>> line.split(":", 1) >>>> >>>> >>>> Here's what Flash sends to the server (obtained with >>>> self.req.log_error(repr(self.req.read())): >>>> >>>> [Wed Apr 19 02:05:44 2006] [error] [client 10.0.1.39] '' >>>> [Wed Apr 19 02:05:44 2006] [error] [client 10.0.1.39] {'Cookie': >>>> 'cookies_enabled.matusis.com=yes', 'Cache-Control': 'no-cache', >>>> 'Connection': 'Keep-Alive', 'Content-Length': '0', 'Host': >>>> 'zz.alecm.dev.chattanga.com', 'User-Agent': 'Shockwave Flash', >>>> 'Content-Type': 'multipart/form-data; >>>> boundary=----------gL6Ef1ei4ae0ei4ae0Ef1GI3GI3GI3', 'Accept': >>>> 'text/*'} >>>> [Wed Apr 19 02:05:44 2006] [error] [client 10.0.1.39] >>>> '------------gL6Ef1ei4ae0ei4ae0Ef1GI3GI3GI3\\r\\nContent- >>>> Disposition: >>>> form-data; >>>> name="Filename"\\r\\n\\r\\naleccs.jpg\\r\\n------------ >>>> gL6Ef1ei4ae0ei4ae0Ef1GI3GI3GI3\\r\\nContent-Disposition: >>> >>> See in above line how now content type but also no required extra >>> blank line. >>> Add a content type for that filename block and see if it works. >>> >>> Graham >>> >>>> form-data; name="Filedata"; filename="aleccs.jpg"\\r\\nContent- >>>> Type: >>>> application/octet- >>>> stream\\r\\n\\r\\n\\xff\\xd8\\xff\\xe0\\x00\\x10JFIF\\x00\\x01\ >>>> \x02\\x >>>> 01\\x00H\\x00H\\x00\\x00\\xff\\xed\\x08TPhotoshop >>>> 3.0\\x008BIM\\x03\\xed\\x00\\x00\\x00\\x00\\x00\\x10\\x00H\\x00\ >>>> \x00\\ >>>> x00\\x01\\x00\\x01\\x00H\\x00\\x00\\x00\\x01\\x00\\x018BIM\\x04\ >>>> \r\\x0 >>>> 0\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00x8BIM\\x03\\xf3\\x00\ >>>> \x00\\x0 >>>> 0\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x018BIM\\x04 >>>> \\n\\ >>>> x00\\x00\\x00\\x00\\x00\\x01\\x00\\x008BIM\\'\\x10\\x00\\x00\\x00 >>>> \\x00 >>>> \\x00\\n\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x028BIM\ >>>> \x03\\x >>>> f5\\x00\\x00\\x00\\x00\\x00H\\x00/ >>>> ff\\x00\\x01\\x00lff\\x00\\x06\\x00\\x00\\x00\\x00\\x00\\x01\\x00/ >>>> ff\\x00\\x01\\x! >>>> >>>> 00\\xa1\\x99\\x9a\\x00\\x06\\x00\\x00\\x00\\x00\\x00\\x01\\x002\ >>>> \x00\\ >>>> x00\\x00\\x01\\x00Z\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x00\\x00\ >>>> \x01\ >>>> \x005\\x00\\x00\\x00\\x01\\x00- >>>> \\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x00\\x00\\x018BIM\\x03\\xf8\ >>>> \x00\ >>>> \x00\\x00\\x00\\x00p\\x00\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\xff >>>> \\xff >>>> \\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff >>>> \\xff >>>> \\x03\\xe8\\x00\\x00\\x00\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\xff >>>> \\xff >>>> \\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff >>>> \\xff >>>> \\x03\\xe8\\x00\\x00\\x00\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\xff >>>> \\xff >>>> \\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff >>>> \\xff >>>> \\x03\\xe8\\x00\\x00\\x00\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\xff >>>> \\xff >>>> \\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff >>>> \\xff >>>> \\x03\\xe8\\x00\\x008BIM\\x04\\x08\\x00\\x00\\x00\\x00\\x00\\x10\ >>>> \x00\ >>>> \x00\\x00\\x01\\x00\\x00\\x02@\\x00\\x00\\x02@\\x00\\x00\\x00\ >>>> \x008BIM >>>> \\x04\\x14\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\! >>>> >>>> x00\\x00\\x038BIM\\x04\\x0c\\x00\\x00\\x00\\x00\\x06\\xc3\\x00\ >>>> \x00\\x >>>> 00\\x01\\x00\\x00\\x00d\\x00\\x00\\x00K\\x00\\x00\\x01,\\x00\ >>>> \x00W\\xe >>>> 4\\x00\\x00\\x06\\xa7\\x00\\x18\\x00\\x01\\xff\\xd8\\xff\\xe0\ >>>> \x00\\x1 >>>> 0JFIF\\x00\\x01\\x02\\x01\\x00H\\x00H\\x00\\x00\\xff\\xfe\\x00&File >>>> written by Adobe Photoshop\\xa8 >>>> 5.0\\xff\\xee\\x00\\x0eAdobe\\x00d\\x80\\x00\\x00\\x00\\x01\\xff\ >>>> \xdb\ >>>> \x00\\x84\\x00\\x0c\\x08\\x08\\x08\\t\\x08\\x0c\\t\\t\\x0c\\x11\ >>>> \x0b\\ >>>> n\\x0b\\x11\\x15\\x0f\\x0c\\x0c\\x0f\\x15\\x18\\x13\\x13\\x15\ >>>> \x13\\x1 >>>> 3\\x18\\x11\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x11\\x0c\\x0c\\x0c\ >>>> \x0c\\x0 >>>> c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\ >>>> \x0c\\x0 >>>> c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x01\\r\\x0b\\x0b\ >>>> \r\\x >>>> 0e\\r\\x10\\x0e\\x0e\\x10\\x14\\x0e\\x0e\\x0e\\x14\\x14\\x0e\\x0e >>>> \\x0e >>>> \\x0e\\x14\\x11\\x0c\\x0c\\x0c\\x0c\\x0c\\x11\\x11\\x0c\\x0c\\x0c >>>> \\x0c >>>> \\x0c\\x0c\\x11\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c >>>> \\x0c >>>> \\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c >>>> \\x0c >>>> \\x0c\\x0c\\x0c\\xff\\xc0\\x00\\x11\\x08\\x00K\\x! >>>> >>>> 00d\\x03\\x01"\\x00\\x02\\x11\\x01\\x03\\x11\\x01\\xff\\xdd\\x00\ >>>> \x04\ >>>> \x00\\x07\\xff\\xc4\\x01? >>>> \\x00\\x00\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x00\\x00\\x00 >>>> \\x00 >>>> \\x00\\x00\\x00\\x03\\x00\\x01\\x02\\x04\\x05\\x06\\x07\\x08\\t\ >>>> \n\\x0 >>>> b\\x01\\x00\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x00\\x00\ >>>> \x00\\x0 >>>> 0\\x00\\x00\\x00\\x01\\x00\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\ >>>> \n\\x >>>> 0b\\x10\\x00\\x01\\x04\\x01\\x03\\x02\\x04\\x02\\x05\\x07\\x06\ >>>> \x08\\x >>>> 05\\x03\\x0c3\\x01\\x00\\x02\\x11\\x03\\x04! >>>> \\x121\\x05AQa\\x13"q\\x812\\x06\\x14\\x91\\xa1\\xb1B#$\\x15R\ >>>> \xc1b34r >>>> \\x82\\xd1C\\x07%\\x92S\\xf0\\xe1\\xf1cs5\\x16\\xa2\\xb2\\x83&D\ >>>> \x93Td >>>> E\\xc2\\xa3t6\\x17\\xd2U\\xe2e\\xf2\\xb3\\x84\\xc3\\xd3u\\xe3\ >>>> \xf3F\\' >>>> \\x94\\xa4\\x85\\xb4\\x95\\xc4\\xd4\\xe4\\xf4\\xa5\\xb5\\xc5\\xd5 >>>> \\xe5 >>>> \\xf5Vfv\\x86\\x96\\xa6\\xb6\\xc6\\xd6\\xe6\\xf67GWgw\\x87\\x97\ >>>> \xa7\\ >>>> xb7\\xc7\\xd7\\xe7\\xf7\\x11\\x00\\x02\\x02\\x01\\x02\\x04\\x04\ >>>> \x03\\ >>>> x04\\x05\\x06\\x07\\x07\\x06\\x055\\x01\\x00\\x02\\x11\\x03! >>>> 1\\x12\\x04AQaq"\\x! >>>> >>>> 13\\x052\\x81\\x91\\x14\\xa1\\xb1B#\\xc1R\\xd1\\xf03$b\\xe1r\\x82 >>>> \\x92 >>>> CS\\x15cs4\\xf1%\\x06\\x16\\xa2\\xb2\\x83\\x07&5\\xc2\\xd2D\\x93T >>>> \\xa3 >>>> \\x17dEU6te\\xe2\\xf2\\xb3\\x84\\xc3\\xd3u\\xe3\\xf3F\\x94\\xa4\ >>>> \x85\\ >>>> xb4\\x95\\xc4\\xd4\\xe4\\xf4\\xa5\\xb5\\xc5\\xd5\\xe5\\xf5Vfv\ >>>> \x86\\x9 >>>> 6\\xa6\\xb6\\xc6\\xd6\\xe6\\xf6\\'7GWgw\\x87\\x97\\xa7\\xb7\\xc7\ >>>> \xff\ >>>> \xda\\x00\\x0c\\x03\\x01\\x00\\x02\\x11\\x03\\x11\\x00? >>>> \\x00\\xd6,\\x0e\\x10D\\x82\\x90\\xa1\\x80\\x10\\x04\\x02 >>>> \\xc7\\x9a(\\t\\xc0M\\\\\\x82\\xac: >>>> *~\\xf6\\x02\\x1d\\x11$\\x93\\xff\\x00TP\\xba\\xa7P\\xa7\\xa6`\ >>>> \xd9\\x >>>> 99p\\x96\\xb2\\x00`0\\\\\\xe3\\xf4Z\\xd9W\\x80\\\\G\\xd7\\xdb\ >>>> \xac\\xb >>>> 7\\xa8b\\xe0\\x02Emf\\xf2\\x07\\x8b\\xdc[\\xbb\\xfc\\xd6%\\xa0V\ >>>> \xa5\\ >>>> xcd\\xea_\\\\\\xfa\\xc6[\\xa3\\x1e\\xc1\\x85^\\xb0\\xda\\xbe\\x94 >>>> \\x7f >>>> *\\xd3\\xee\\xff\\x003b\\xaf\\x8b\\xf5\\xab\\xeb\\x165\\x82\\xc6\ >>>> \xe6\ >>>> \xd9f\\xa0\\x96\\xdaw\\xb4\\xc7\\xe6\\xbbz\\xd1\\xc6\\xfa\\xb1\ >>>> \x8fc\\ >>>> x98L\\x9a\\xb4\\xdc\\\\`\\x9f\\x84+\\x99_Uzg\\xa0\\xefM\\xaem\ >>>> \x91\\xe >>>> dv\\xe2u\\xf3Q\\xfb\\xf0\\xf1f\\xfb\\xb4\\xfc\\x1e\\x8f\\xea\\xc7 >>>> \\xd6 >>>> \! >>>> >>>> \xcc~\\xba\\xd3M\\xac\\x18\\xf9\\xf5\\x89u@\\xcb^\\xd1\\xcd\\x94\ >>>> \xcf\ >>>> \xfd6-\\xf8^=\\x8a\\xcb\\xfa?U\\xc4\\xbd\\xae! >>>> \\xd5\\xd8\\xd7\\x0e\\xe7\\x9d\\xb67O\\xe4\\x95\\xec@\\xea\\xa4\ >>>> \x89\\ >>>> x04Xc >>>> \\xc4\\xd1\\xdd\\x81n\\xa9\\x88\\xd5L\\xf2\\xa3\\xc9E\\x16\\x85\ >>>> \xc1\\ >>>> x08\\xb5\\x1c\\x85\\x02\\x12\\xa4Z\\x18\\xd5$HI%? >>>> \\xff\\xd0\\xde\\x01"41\\xe0\\x9d<i\\x1e)%\\xb1{p\\xc3"\\x9d\\xc2 >>>> \\xc6 >>>> \\xb9\\x80\\xee2\\x08- >>>> \\xdc\\xe5\\xc4\\xfdk\\xc6e\\x9ds\\x16\\xc6{\\xdc*-{\\x00\\x98-; >>>> \\x99\\xff\\x00E\\xeb\\xa6\\xab\\x08Wc,\\xf5\\x1c\\xed\\x93\\xed3 >>>> \\xac >>>> \\x8d\\xba\\xfb\\x96/ >>>> Yc\\x99\\xd5Ya\\x1a\\x13\\x00\\xf9\\x16\\xff\\x00\\xe4\\x9a\\xa3\ >>>> \xcaH >>>> \\x8e\\xdb\\xe8\\xcd\\x86 >>>> \\xcf}\\xb5jcfe\\xd4\\x0e\\xe6\\xb4\\x86\\tuE\\x84H\\xe3\\xdbb\ >>>> \xb3\\x >>>> 7fPk\\xda at c*\\xda\\x1a\\\\\\xe3.\\x00\\x1f\\xf3\\x15\\x8b\\x88\ >>>> \x18\\x >>>> 8ep\\x1a\\x98\\x10\\x06\\xba\\xaa\\xb8\\xc2\\x9b2\\xacce\\xcd\ >>>> \x15\\x8 >>>> 9\\xdc\\xd2\\x04\\x8f\\x8a\\x82\\xc6\\x9e\\x9d\\x1bF\\x12\\xa28\ >>>> \xc8\\ >>>> 'g b\\xb7;\\xad\\xf4\\xf1>\\xc7d\\xb4\\x13\\x11!\\xbf\! >>>> >>>> \xa4<#cj\\xa6\\xa6h\\x98\\xcbS\\xc5l\\x89Q\\x9dTw&\\xdc\\xa4bdT\ >>>> \x08O2 >>>> \\x92Ja\\x1a\\xa4\\xa5\\t$\\xa7\\xff\\xd1\\xe8\\x12L\\x9aRK%S\ >>>> \xabW\\x >>>> eat\\xfbH\\x1e\\xea\\xc6\\xf1\\xe3\\xed\\xf7\\x1f\\xfa*\\xd4\\xa8 >>>> \\\\\ >>>> \xfaEN\\xf5\\x9c\\xd6VA\\x0es\\x88\\x02\\x0e\\x9c\\x94\\x08\\xb1I >>>> \\x06 >>>> \\x88=\\x9ez\\xa7: >>>> \\xf67c\\xf6\\xed\\xf2\\x07\\xee\\xdc\\x86\\xe2\\xfa\\xec\\xf5\ >>>> \x1e\\x >>>> fd\\x002\\x08\\x13\\xff\\x00EUc.e\\x81\\xd8v\\xb4\\xb4\\x925\ >>>> \xf70\\x9 >>>> 1\\xf9\\xc2? >>>> y+p\\xba\\x96]\\x91{\\xda+\\x1fK\\xd3\\x9d~j\\xa5h\\xdf\\xe2\\xd2 >>>> \\xab >>>> wO\\xea\\xe5\\xf8Ved_y`{\\x0b\\x05/ >>>> y\\x03Wn\\x07f\\xef\\xce]10\\xbc\\xfe\\xdcz\\xdbxcZ\\x00\\xaf\ >>>> \xe8\\x9 >>>> f\\x0f\\x18V\\xeb\\xea9\\xac\\x1bY}\\x908\\x97\\x15g\\r\\x98\ >>>> \x03T\\xd >>>> 3\\xcfBd]\\xfe\\xc7\\xb2.L\\x1c\\xb9\\x03\\xd6z\\x84i{\\xbc\\x95\ >>>> \x8c\ >>>> \x1e\\xbd\\x94\\xc7\\xc6A\\xf5k<\\x93\\xc8\\xf8\\x15%1Xz\\x90S\ >>>> \xa0Uk, >>>> `{\\x0c\\xb5\\xc2AE\\x05$\\xb2I4\\xa4\\x92\\x9f\\xff\\xd2\\xdd% >>>> 1*2\\xb >>>> 3\\xba\\xd6s\\xb1qKk1m\\xb2\\xd6\\x9f\\x01\\xf9\\xceEM\\xac\\x8e\ >>>> \xa5\ >>>> \x89\\x8f\\xa3\\xec\\x05\\xdf\\xb8\\xddN\\x9f\\xf5+\\x9a\\xea\ >>>> \xb9\\xc >>>> 3\\xaafT\\xcb\! >>>> >>>> \t\\xaf\\x16\\xb0\\xef\\xd1\\xcf\\xd2t\\xfer\\xa6\\xcb7H\\xf2\ >>>> \nMo\\x1 >>>> 3\\xa0\\xef\\xc1\\xd7\\xe6\\x84\\xa2LH\\x06\\x89\\xea\\xba\\x13\ >>>> \x02@\ >>>> \xc8X\\x1d\\x1b\\x9d6\\xb2\\xc7\\x96\\x0f\\xe6\\xcb\\x8e\\xdf(V\ >>>> \xf2z\ >>>> \x9dL\\x9a\\xf1\\xe2\\xcb8.\\x1fD\\x7f\\xe4\\x96C\\x88>\\xcd\ >>>> \xce#\\xf >>>> 7D\\x81\\xf8(\\xbd\\xdf\\x98\\xc1\\xb5\\xa3\\xe9x\\x9f%\\x1c0\ >>>> \x01\\xf >>>> 3\\x1e&I\\xf3$\\xfc\\x83\\x87\\xc5#\\x9c^\\xe3\\xac\\xb9\\xda\ >>>> \xb9\\xc >>>> 9\\x89\\xdb\\x00\\'h\\x03O\\xbc\\xa6\\x1a\\xba{\\x05; >>>> ^\\xd6k\\x0e\\xe8=\\x87\\xe5S\\xdcd\\x0e\\x10\\xde\\xe2\\x1eOy\ >>>> \x01I\\ >>>> xae\\x93\\'\\xb2(w>\\xaff\\xcb\\xac\\xc5q\\xfe[?\\xef\\xc0- >>>> \\xe0\\xe5\\xc5\\xe2^q\\xf2\\xaa\\xb8~i\\xd7\\xe0y]{^\\x1c\\x01\ >>>> \x06A\ >>>> \xd4\\x14\\xc2\\xba%>\\xe4\\x90\\xb7$\\x92\\xe7\\xff\\xd3\\xd7%s\ >>>> \x7fX >>>> /\\xf52v4\\xe9H\\x83\\xf3\\xe5tK\\x95\\xea_\\xd3/ >>>> \\xfe\\xbb\\xbf\\xd4\\xa2\\x11&\\x93\\x07q\\xc29<\\x85^\\xaf\ >>>> \xa0yFo! >>>> 9\\x0c,{\\x9a$hJU\\xb6\\\\\\xd0~%+? >>>> \\x9cS\\??\\xff\\x00QzL\\xea\\xb8}\\x8d\\xfd\\xad\\x88\\xc666X\ >>>> \xd7\\x >>>> 08\\xed\\x04.\\xd4\! >>>> >>>> \x95>#cj\\xa6\\xa6h\\x98\\xcbS\\xc5l\\x89Q\\x9dTw&\\xdc\\xa4bdT\ >>>> \x08O2 >>>> \\x92Ja\\x1a\\xa4\\xa5\\t$\\xa7\\xff\\xd1\\xe8\\x12L\\x9aRK%S\ >>>> \xabW\\x >>>> eat\\xfbH\\x1e\\xea\\xc6\\xf1\\xe3\\xed\\xf7\\x1f\\xfa*\\xd4\\xa8 >>>> \\\\\ >>>> \xfaEN\\xf5\\x9c\\xd6VA\\x0es\\x88\\x02\\x0e\\x9c\\x94\\x08\\xb1I >>>> \\x06 >>>> \\x88=\\x9ez\\xa7: >>>> \\xf67c\\xf6\\xed\\xf2\\x07\\xee\\xdc\\x86\\xe2\\xfa\\xec\\xf5\ >>>> \x1e\\x >>>> fd\\x002\\x08\\x13\\xff\\x00EUc.e\\x81\\xd8v\\xb4\\xb4\\x925\ >>>> \xf70\\x9 >>>> 1\\xf9\\xc2? >>>> y+p\\xba\\x96]\\x91{\\xda+\\x1fK\\xd3\\x9d~j\\xa5h\\xdf\\xe2\\xd2 >>>> \\xab >>>> wO\\xea\\xe5\\xf8Ved_y`{\\x0b\\x05/ >>>> y\\x03Wn\\x07f\\xef\\xce]10\\xbc\\xfe\\xdcz\\xdbxcZ\\x00\\xaf\ >>>> \xe8\\x9 >>>> f\\x0f\\x18V\\xeb\\xea9\\xac\\x1bY}\\x908\\x97\\x15g\\r\\x98\ >>>> \x03T\\xd >>>> 3\\xcfBd]\\xfe\\xc7\\xb2.L\\x1c\\xb9\\x03\\xd6z\\x84i{\\xbc\\x95\ >>>> \x8c\ >>>> \x1e\\xbd\\x94\\xc7\\xc6A\\xf5k<\\x93\\xc8\\xf8\\x15%1Xz\\x90S\ >>>> \xa0Uk, >>>> `{\\x0c\\xb5\\xc2AE\\x05$\\xb2I4\\xa4\\x92\\x9f\\xff\\xd2\\xdd% >>>> 1*2\\xb >>>> 3\\xba\\xd6s\\xb1qKk1m\\xb2\\xd6\\x9f\\x01\\xf9\\xceEM\\xac\\x8e\ >>>> \xa5\ >>>> \x89\\x8f\\xa3\\xec\\x05\\xdf\\xb8\\xddN\\x9f\\xf5+\\x9a\\xea\ >>>> \xb9\\xc >>>> 3\\xaafT\\xcb\! >>>> >>>> \t\\xaf\\x16\\xb0\\xef\\xd1\\xcf\\xd2t\\xfer\\xa6\\xcb7H\\xf2\ >>>> \nMo\\x1 >>>> 3\\xa0\\xef\\xc1\\xd7\\xe6\\x84\\xa2LH\\x06\\x89\\xea\\xba\\x13\ >>>> \x02@\ >>>> \xc8X\\x1d\\x1b\\x9d6\\xb2\\xc7\\x96\\x0f\\xe6\\xcb\\x8e\\xdf(V\ >>>> \xf2z\ >>>> \x9dL\\x9a\\xf1\\xe2\\xcb8.\\x1fD\\x7f\\xe4\\x96C\\x88>\\xcd\ >>>> \xce#\\xf >>>> 7D\\x81\\xf8(\\xbd\\xdf\\x98\\xc1\\xb5\\xa3\\xe9x\\x9f%\\x1c0\ >>>> \x01\\xf >>>> 3\\x1e&I\\xf3$\\xfc\\x83\\x87\\xc5#\\x9c^\\xe3\\xac\\xb9\\xda\ >>>> \xb9\\xc >>>> 9\\x89\\xdb\\x00\\'h\\x03O\\xbc\\xa6\\x1a\\xba{\\x05; >>>> ^\\xd6k\\x0e\\xe8=\\x87\\xe5S\\xdcd\\x0e\\x10\\xde\\xe2\\x1eOy\ >>>> \x01I\\ >>>> xae\\x93\\'\\xb2(w>\\xaff\\xcb\\xac\\xc5q\\xfe[?\\xef\\xc0- >>>> \\xe0\\xe5\\xc5\\xe2^q\\xf2\\xaa\\xb8~i\\xd7\\xe0y]{^\\x1c\\x01\ >>>> \x06A\ >>>> \xd4\\x14\\xc2\\xba%>\\xe4\\x90\\xb7$\\x92\\xe7\\xff\\xd3\\xd7%s\ >>>> \x7fX >>>> /\\xf52v4\\xe9H\\x83\\xf3\\xe5tK\\x95\\xea_\\xd3/ >>>> \\xfe\\xbb\\xbf\\xd4\\xa2\\x11&\\x93\\x07q\\xc29<\\x85^\\xaf\ >>>> \xa0yFo! >>>> 9\\x0c,{\\x9a$hJU\\xb6\\\\\\xd0~%+? >>>> \\x9cS\\xab\\xf">\\xff\\x00QzL\\xea\\xb8}\\x8d\\xfd\\xad\\x88\ >>>> \xc666X\ >>>> \xd7\\x08\\xed\\x04.\\x! >>>> >>>> d4\\x95>#cj\\xa6\\xa6h\\x98\\xcbS\\xc5l\\x89Q\\x9dTw&\\xdc\ >>>> \xa4bdT\\x0 >>>> 8O2\\x92Ja\\x1a\\xa4\\xa5\\t$\\xa7\\xff\\xd1\\xe8\\x12L\\x9aRK%S\ >>>> \xabW >>>> \\xeat\\xfbH\\x1e\\xea\\xc6\\xf1\\xe3\\xed\\xf7\\x1f\\xfa*\\xd4\ >>>> \xa8\\ >>>> \\\\xfaEN\\xf5\\x9c\\xd6VA\\x0es\\x88\\x02\\x0e\\x9c\\x94\\x08\ >>>> \xb1I\\ >>>> x06\\x88=\\x9ez\\xa7: >>>> \\xf67c\\xf6\\xed\\xf2\\x07\\xee\\xdc\\x86\\xe2\\xfa\\xec\\xf5\ >>>> \x1e\\x >>>> fd\\x002\\x08\\x13\\xff\\x00EUc.e\\x81\\xd8v\\xb4\\xb4\\x925\ >>>> \xf70\\x9 >>>> 1\\xf9\\xc2? >>>> y+p\\xba\\x96]\\x91{\\xda+\\x1fK\\xd3\\x9d~j\\xa5h\\xdf\\xe2\\xd2 >>>> \\xab >>>> wO\\xea\\xe5\\xf8Ved_y`{\\x0b\\x05/ >>>> y\\x03Wn\\x07f\\xef\\xce]10\\xbc\\xfe\\xdcz\\xdbxcZ\\x00\\xaf\ >>>> \xe8\\x9 >>>> f\\x0f\\x18V\\xeb\\xea9\\xac\\x1bY}\\x908\\x97\\x15g\\r\\x98\ >>>> \x03T\\xd >>>> 3\\xcfBd]\\xfe\\xc7\\xb2.L\\x1c\\xb9\\x03\\xd6z\\x84i{\\xbc\\x95\ >>>> \x8c\ >>>> \x1e\\xbd\\x94\\xc7\\xc6A\\xf5k<\\x93\\xc8\\xf8\\x15%1Xz\\x90S\ >>>> \xa0Uk, >>>> `{\\x0c\\xb5\\xc2AE\\x05$\\xb2I4\\xa4\\x92\\x9f\\xff\\xd2\\xdd% >>>> 1*2\\xb >>>> 3\\xba\\xd6s\\xb1qKk1m\\xb2\\xd6\\x9f\\x01\\xf9\\xceEM\\xac\\x8e\ >>>> \xa5\ >>>> \x89\\x8f\\xa3\\xec\\x05\\xdf\\xb8\\xddN\\x9f\\xf5+\\x9a\\xea\ >>>> \xb9\\xc >>>> 3\\xaafT\\x! >>>> >>>> cb\\t\\xaf\\x16\\xb0\\xef\\xd1\\xcf\\xd2t\\xfer\\xa6\\xcb7H\\xf2\ >>>> \nMo\ >>>> \x13\\xa0\\xef\\xc1\\xd7\\xe6\\x84\\xa2LH\\x06\\x89\\xea\\xba\ >>>> \x13\\x0 >>>> 2@\\xc8X\\x1d\\x1b\\x9d6\\xb2\\xc7\\x96\\x0f\\xe6\\xcb\\x8e\\xdf >>>> (V\\xf >>>> 2z\\x9dL\\x9a\\xf1\\xe2\\xcb8.\\x1fD\\x7f\\xe4\\x96C\\x88>\\xcd\ >>>> \xce#\ >>>> \xf7D\\x81\\xf8(\\xbd\\xdf\\x98\\xc1\\xb5\\xa3\\xe9x\\x9f%\\x1c0\ >>>> \x01\ >>>> \xf3\\x1e&I\\xf3$\\xfc\\x83\\x87\\xc5#\\x9c^\\xe3\\xac\\xb9\\xda\ >>>> \xb9\ >>>> \xc9\\x89\\xdb\\x00\\'h\\x03O\\xbc\\xa6\\x1a\\xba{\\x05; >>>> ^\\xd6k\\x0e\\xe8=\\x87\\xe5S\\xdcd\\x0e\\x10\\xde\\xe2\\x1eOy\ >>>> \x01I\\ >>>> xae\\x93\\'\\xb2(w>\\xaff\\xcb\\xac\\xc5q\\xfe[?\\xef\\xc0- >>>> \\xe0\\xe5\\xc5\\xe2^q\\xf2\\xaa\\xb8~i\\xd7\\xe0y]{^\\x1c\\x01\ >>>> \x06A\ >>>> \xd4\\x14\\xc2\\xba%>\\xe4\\x90\\xb7$\\x92\\xe7\\xff\\xd3\\xd7%s\ >>>> \x7fX >>>> /\\xf52v4\\xe9H\\x83\\xf3\\xe5tK\\x95\\xea_\\xd3/ >>>> \\xfe\\xbb\\xbf\\xd4\\xa2\\x11&\\x93\\x07q\\xc29<\\x85^\\xaf\ >>>> \xa0yFo! >>>> 9\\x0c,{\\x9a$hJU\\xb6\\\\\\xd0~%+? >>>> \\x9cS\\xab\\xf9\\xd7p\\x92\\x99\\x13\\xa7>d$\\xe3\\xb5\\x84\\x83 >>>> \\xcf >>>> \\x1f\\x143 <file://! >>>> >>>> \\xff\\x00QzL\\xea\\xb8}\\x8d\\xfd\\xad\\x88\\xc666X\\xd7\\x08\ >>>> \xed\\x >>>> 04.\\xd4\\x95> >>>> >>>> >>>> Any thoughts on this? >>>> >>>> >>>> --Alec >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Mod_python mailing list >>>> Mod_python at modpython.org >>>> http://mailman.modpython.org/mailman/listinfo/mod_python >>> >>> >>> _______________________________________________ >>> Mod_python mailing list >>> Mod_python at modpython.org >>> http://mailman.modpython.org/mailman/listinfo/mod_python > > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python
|