Jeremy,<br><br>Great find (and patch and test!).&nbsp; Committed as r766.&nbsp; Will be in new release shortly here.....<br><br>Thanks, and sorry nobody got back to you in over a month.&nbsp; :(<br><br>- Brad<br><br><div class="gmail_quote">
On Wed, Feb 6, 2008 at 8:40 AM, Jeremy James &lt;<a href="mailto:jbj@forbidden.co.uk">jbj@forbidden.co.uk</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi folks,<br>
<br>
We&#39;ve picked up a perlbal bug in the wild - it seems that a client that<br>
attempts to send a bad (zero-length) chunked upload to a server with<br>
buffer_uploads turned on can crash the server.<br>
<br>
Reproduction is:<br>
<br>
# Config<br>
CREATE POOL testsvrs<br>
 &nbsp;POOL testsvrs ADD <a href="http://127.0.0.1:80" target="_blank">127.0.0.1:80</a><br>
<br>
CREATE SERVICE test<br>
 &nbsp;SET role = reverse_proxy<br>
 &nbsp;SET pool = testsvrs<br>
 &nbsp;SET listen = <a href="http://127.0.0.1:8080" target="_blank">127.0.0.1:8080</a><br>
 &nbsp;SET buffer_uploads = 1<br>
 &nbsp;SET buffer_uploads_path = /tmp/<br>
ENABLE test<br>
<br>
# Request<br>
POST /status HTTP/1.0<br>
Transfer-Encoding: chunked<br>
<br>
0<br>
<br>
# Outcome<br>
crash log: Can&#39;t use an undefined value as a symbol reference at<br>
lib/Perlbal/ClientProxy.pm line 1024.<br>
<br>
<br>
# Patch<br>
Attached patch contains fixes to ClientProxy (r753) to cope with<br>
zero-length first chunk (incidentally could this - a missing file handle<br>
- be the cause of the FIXME errors in purge_buffered_upload?), and an<br>
additional test in 52-chunked-upload.t to catch this issue.<br>
<br>
Best wishes,<br>
<font color="#888888">Jeremy<br>
</font></blockquote></div><br>