From ca82d4bddf235c9b68d51d68636bab40eafb9889 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 31 Aug 2007 13:00:23 -0700 Subject: [PATCH] Bug #7186: Fix an excessive request size limitation that broke big-requests. MAXBUFSIZE appears to be a leftover of some previous time. Instead, just use maxBigRequestSize when bigreqs are available (limiting buffers to ~16MB). When bigreqs are not available, needed won't be larger than the maximum size of a non-bigreqs request (256kB). --- os/io.c | 4 +++- os/osdep.h | 3 --- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/os/io.c b/os/io.c index 835af54d9..9de75eeaa 100644 --- a/os/io.c +++ b/os/io.c @@ -304,12 +304,14 @@ ReadRequestFromClient(ClientPtr client) */ oci->lenLastReq = 0; - if (needed > MAXBUFSIZE) +#ifdef BIGREQS + if (needed > maxBigRequestSize << 2) { /* request is too big for us to handle */ YieldControlDeath(); return -1; } +#endif if ((gotnow == 0) || ((oci->bufptr - oci->buffer + needed) > oci->size)) { diff --git a/os/osdep.h b/os/osdep.h index 965436df5..2d455aa67 100644 --- a/os/osdep.h +++ b/os/osdep.h @@ -55,9 +55,6 @@ SOFTWARE. #define BOTIMEOUT 200 /* in milliseconds */ #define BUFSIZE 4096 #define BUFWATERMARK 8192 -#ifndef MAXBUFSIZE -#define MAXBUFSIZE (1 << 22) -#endif #include