|
|
cURL Mailing List Monthly Index Single Mail
curl-tracker mailing list Archives
[ curl-Bugs-2080222 ] race condition while POSTing to HTTP/1.0 servers
From: SourceForge.net <noreply_at_sourceforge.net>
Date: Fri, 29 Aug 2008 10:50:30 +0000
Bugs item #2080222, was opened at 2008-08-28 10:45
Please note that this message will contain a full copy of the comment thread,
Initial Comment:
The version used is:
It occurs rarely and only with HTTP/1.0 servers.
It has been mentioned that a change in socket behaviour in the kernel may be provoking this bug.
The link above provides a wireshark capture of the transaction.
----------------------------------------------------------------------
>Comment By: Daniel Stenberg (bagder)
Message:
I don't know what your work-around is so I can't comment on that.
This fix has been committed to CVS now and will be part of 7.19.0,
BTW, this fix actually cures a problem that can happen with 1.1 servers as
This case is now closed, thanks a lot for your report!
----------------------------------------------------------------------
Comment By: vila-sf (vila-sf)
Message:
> There have been other POST-related issues fixed since 7.18.0 so I would
It will be a pleasure :)
Unfortunately I can't upgrade all machines for my users so I worked around
But since you were responsive enough to provide a patch, the least I could
> But that said, it's easy to adapt the patch for 7.18.0:
Thanks a ton.
I applied it locally and used the resulting library against my test
This indeed fixes the bug for 403 but also 501 (I had 23 tests failing
By the way, can you confirm that it's safe for my workaround to access the
Final request: in what official versions will that patch be included ?
That will help me diagnose other occurrences of the problem in other
----------------------------------------------------------------------
Comment By: Daniel Stenberg (bagder)
Message:
There have been other POST-related issues fixed since 7.18.0 so I would
--- transfer.c~ 2008-01-16 13:24:00.000000000 +0100
} while(data_pending(conn));
+ if(((k->keepon & (KEEP_READ|KEEP_WRITE)) == KEEP_WRITE) &&
/* If we still have writing to do, we check if we have a writable
----------------------------------------------------------------------
Comment By: vila-sf (vila-sf)
Message:
I have version 7-18.0 here and I would like to validate your patch since I
Unfortunately the patch doesn't apply cleanly :-/
Could you provide a patch against:
* $Id: transfer.c,v 1.381 2008-01-16 12:24:00 bagder Exp $
In this file, there is a single occurrence of 'while(data_pending(conn));'
----------------------------------------------------------------------
Comment By: Daniel Stenberg (bagder)
Message:
Here's my first shot. This is a diff against current CVS but I think it
--- lib/transfer.c 26 Aug 2008 21:28:57 -0000 1.404
} while(data_pending(conn));
+ if(((k->keepon & (KEEP_READ|KEEP_WRITE)) == KEEP_WRITE) &&
----------------------------------------------------------------------
Comment By: Daniel Stenberg (bagder)
Message:
I've now (locally) modified the curl test suite so that I was possible to
----------------------------------------------------------------------
Comment By: vila-sf (vila-sf)
Message:
I can confirm that if curl wasn't trying to send the body when a 403
----------------------------------------------------------------------
Comment By: Daniel Stenberg (bagder)
Message:
This looks related to the previous mentions of libcurl not properly
http://curl.haxx.se/mail/archive-2008-08/0138.html
----------------------------------------------------------------------
You can respond by visiting:
These mail archives are generated by hypermail. |
Page updated November 12, 2010.
web site info