- 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.
This commit is contained in:
Родитель
4271f44a9e
Коммит
5ed274d0b7
7
CHANGES
7
CHANGES
|
@ -6,6 +6,13 @@
|
|||
|
||||
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
|
||||
|
|
|
@ -33,6 +33,7 @@ This release includes the following bugfixes:
|
|||
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:
|
||||
|
||||
|
@ -43,6 +44,7 @@ advice from friends like these:
|
|||
|
||||
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)
|
||||
|
|
|
@ -664,6 +664,13 @@ static void nosigpipe(struct connectdata *conn,
|
|||
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
|
||||
|
|
Загрузка…
Ссылка в новой задаче