diff options
| author | Daniel Stenberg <daniel@haxx.se> | 2009-10-01 07:05:07 +0000 | 
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2009-10-01 07:05:07 +0000 | 
| commit | 5ed274d0b7483085d5d8642daddace93b41316e7 (patch) | |
| tree | 60d07f1fb3d30d6218945f5b40e262931f6b5c14 | |
| parent | 4271f44a9ec2d505bdf506e1959850c35ee756a6 (diff) | |
- 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.
| -rw-r--r-- | CHANGES | 7 | ||||
| -rw-r--r-- | RELEASE-NOTES | 4 | ||||
| -rw-r--r-- | lib/connect.c | 7 | 
3 files changed, 17 insertions, 1 deletions
@@ -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 diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 2035a93bf..b3a1d013b 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -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) diff --git a/lib/connect.c b/lib/connect.c index 2a6b003e0..aaeee6762 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -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  | 
