Changelog
+Daniel Stenberg (1 Oct 2009)
+- Constantine Sapuntzakis: The current implementation will always set
+ SO_SNDBUF to CURL_WRITE_SIZE even if the SO_SNDBUF starts out larger. The
+ patch doesn't do a setsockopt if SO_SNDBUF is already greater than
+ CURL_WRITE_SIZE. This should help folks who have set up their computer with
+ large send buffers.
+
Daniel Stenberg (27 Sep 2009)
- I introduced a maximum limit for received HTTP headers. It is controlled by
the define CURL_MAX_HTTP_HEADER which is even exposed in the public header
o libcurl-OpenSSL can load CRL files with more than one certificate inside
o received cookies without explicit path got saved wrong if the URL had a
query part
+ o don't shrink SO_SNDBUF on windows for those who have it set large already
This release includes the following known bugs:
Karl Moerder, Kamil Dudka, Krister Johansen, Andre Guibert de Bruet,
Michal Marek, Eric Wong, Guenter Knauf, Peter Sylvester, Daniel Johnson,
- Claes Jakobsson, Sven Anders, Chris Mumford, John P. McCaskey
+ Claes Jakobsson, Sven Anders, Chris Mumford, John P. McCaskey,
+ Constantine Sapuntzakis
Thanks! (and sorry if I forgot to mention someone)
void Curl_sndbufset(curl_socket_t sockfd)
{
int val = CURL_MAX_WRITE_SIZE + 32;
+ int curval = 0;
+ int curlen = sizeof(curval);
+
+ if (getsockopt(sockfd, SOL_SOCKET, SO_SNDBUF, (char *)&curval, &curlen) == 0)
+ if (curval > val)
+ return;
+
setsockopt(sockfd, SOL_SOCKET, SO_SNDBUF, (const char *)&val, sizeof(val));
}
#endif