Commit d86f9611 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

support HUGE requests too

parent 6a62fc4a
Loading
Loading
Loading
Loading
+17 −8
Original line number Diff line number Diff line
@@ -135,13 +135,18 @@ void storerequest(char *reqbuf)
}


#define REQBUFSIZ 4096
#define MAXDOCNAMELEN 1024
#define REQBUFSIZ 50000
#define REQBUFSIZ_TXT "49999"

/* very-big-path support */
#define MAXDOCNAMELEN 40000
#define MAXDOCNAMELEN_TXT "39999"

#define REQUEST_KEYWORD_SIZE 256
static int get_request(int sock, int *part)
{
  char reqbuf[REQBUFSIZ], doc[MAXDOCNAMELEN];
  char request[REQUEST_KEYWORD_SIZE];
  static char reqbuf[REQBUFSIZ], doc[MAXDOCNAMELEN];
  static char request[REQUEST_KEYWORD_SIZE];
  unsigned int offset = 0;
  int prot_major, prot_minor;
  char logbuf[256];
@@ -177,7 +182,7 @@ static int get_request(int sock, int *part)
  /* dump the request to an external file */
  storerequest(reqbuf);

  if (sscanf(reqbuf, "%s %s HTTP/%d.%d",
  if (sscanf(reqbuf, "%" REQBUFSIZ_TXT"s %" MAXDOCNAMELEN_TXT "s HTTP/%d.%d",
             request,
             doc,
             &prot_major,
@@ -191,8 +196,12 @@ static int get_request(int sock, int *part)
    /* get the number after it */
    if(ptr) {

      if((strlen(doc) + strlen(request)) < 200)
        sprintf(logbuf, "Got request: %s %s HTTP/%d.%d",
                request, doc, prot_major, prot_minor);
      else
        sprintf(logbuf, "Got a *HUGE* request HTTP/%d.%d",
                prot_major, prot_minor);
      logmsg(logbuf);
      
      if(!strncmp("/verifiedserver", ptr, 15)) {