Commit 5ed274d0 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

- 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.
parent 4271f44a
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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
+3 −1
Original line number Diff line number Diff line
@@ -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)
+7 −0
Original line number Diff line number Diff line
@@ -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