lib/curl_schannel: Increased maximum buffer size to factor 128

This commit is contained in:
Marc Hoersken 2012-10-03 18:15:41 +02:00
Родитель 7a53474f43
Коммит a5c6ecba8d
2 изменённых файлов: 7 добавлений и 8 удалений

Просмотреть файл

@ -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) {

Просмотреть файл

@ -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);