From a5c6ecba8dc71d48beba772c4dcceb92fa6b3b00 Mon Sep 17 00:00:00 2001 From: Marc Hoersken Date: Wed, 3 Oct 2012 18:15:41 +0200 Subject: lib/curl_schannel: Increased maximum buffer size to factor 128 --- lib/curl_schannel.c | 8 ++++---- lib/curl_schannel.h | 7 +++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/curl_schannel.c b/lib/curl_schannel.c index 8ae1131df..4fd676ea0 100644 --- a/lib/curl_schannel.c +++ b/lib/curl_schannel.c @@ -302,7 +302,7 @@ schannel_connect_step2(struct connectdata *conn, int sockindex) /* if we need a bigger buffer to read a full message, increase buffer now */ if(connssl->encdata_length - connssl->encdata_offset < - CURL_SCHANNEL_BUFFER_FREE_SIZE) { + CURL_SCHANNEL_BUFFER_MIN_SIZE) { if(connssl->encdata_length >= CURL_SCHANNEL_BUFFER_MAX_SIZE) { failf(data, "schannel: memory buffer size limit reached"); return CURLE_OUT_OF_MEMORY; @@ -831,7 +831,7 @@ schannel_recv(struct connectdata *conn, int sockindex, /* increase buffer in order to fit the requested amount of data */ while(connssl->encdata_length - connssl->encdata_offset < - CURL_SCHANNEL_BUFFER_FREE_SIZE || connssl->encdata_length < len) { + CURL_SCHANNEL_BUFFER_MIN_SIZE || connssl->encdata_length < len) { if(connssl->encdata_length >= CURL_SCHANNEL_BUFFER_MAX_SIZE) { failf(data, "schannel: memory buffer size limit reached"); *err = CURLE_OUT_OF_MEMORY; @@ -907,8 +907,8 @@ schannel_recv(struct connectdata *conn, int sockindex, inbuf[1].cbBuffer); /* increase buffer in order to fit the received amount of data */ - size = inbuf[1].cbBuffer > CURL_SCHANNEL_BUFFER_FREE_SIZE ? - inbuf[1].cbBuffer : CURL_SCHANNEL_BUFFER_FREE_SIZE; + size = inbuf[1].cbBuffer > CURL_SCHANNEL_BUFFER_MIN_SIZE ? + inbuf[1].cbBuffer : CURL_SCHANNEL_BUFFER_MIN_SIZE; while(connssl->decdata_length - connssl->decdata_offset < size || connssl->decdata_length < len) { if(connssl->decdata_length >= CURL_SCHANNEL_BUFFER_MAX_SIZE) { diff --git a/lib/curl_schannel.h b/lib/curl_schannel.h index ed9257731..909ed1857 100644 --- a/lib/curl_schannel.h +++ b/lib/curl_schannel.h @@ -95,14 +95,13 @@ #ifdef BUFSIZE #define CURL_SCHANNEL_BUFFER_INIT_SIZE BUFSIZE -#define CURL_SCHANNEL_BUFFER_FREE_SIZE BUFSIZE/2 #else #define CURL_SCHANNEL_BUFFER_INIT_SIZE 4096 -#define CURL_SCHANNEL_BUFFER_FREE_SIZE 2048 #endif -#define CURL_SCHANNEL_BUFFER_MAX_SIZE CURL_SCHANNEL_BUFFER_INIT_SIZE*16 -#define CURL_SCHANNEL_BUFFER_STEP_FACTOR 2 +#define CURL_SCHANNEL_BUFFER_MIN_SIZE CURL_SCHANNEL_BUFFER_INIT_SIZE / 2 +#define CURL_SCHANNEL_BUFFER_MAX_SIZE CURL_SCHANNEL_BUFFER_INIT_SIZE * 128 +#define CURL_SCHANNEL_BUFFER_STEP_FACTOR 2 CURLcode Curl_schannel_connect(struct connectdata *conn, int sockindex); -- cgit v1.2.3