Fossil

Check-in [71919ad1]
Login

Check-in [71919ad1]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Only process HTTP replies that lack a Content-Length header if the connection is set to be closed. Suggested by https://bz.apache.org/bugzilla/show_bug.cgi?id=68905.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 71919ad1b542832c615df0af08999c9624ade133f48d0f39448cf87d71fa1142
User & Date: drh 2024-04-17 13:27:34
Context
2024-04-17
14:02
Output a warning if a client sync or clone gets back a keep-alive HTTP reply that lacks a content-length header. ... (check-in: f4ffefe7 user: drh tags: trunk)
13:27
Only process HTTP replies that lack a Content-Length header if the connection is set to be closed. Suggested by https://bz.apache.org/bugzilla/show_bug.cgi?id=68905. ... (check-in: 71919ad1 user: drh tags: trunk)
13:21
Update the change log in order to mention the Apache mod_cgi/Content-Length fix. ... (check-in: 670c886e user: drh tags: trunk)
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/http.c.

696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
      fossil_print("Reply received: %d of %d bytes\n", iRecvLen, iLength);
    }
    if( iRecvLen != iLength ){
      fossil_warning("response truncated: got %d bytes of %d",
                     iRecvLen, iLength);
      goto write_err;
    }
  }else{
    /* Read content until end-of-file */
    int iRecvLen;         /* Received length of the reply payload */
    unsigned int nReq = 1000;
    unsigned int nPrior = 0;
    do{
      nReq *= 2;
      blob_resize(pReply, nPrior+nReq);







|







696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
      fossil_print("Reply received: %d of %d bytes\n", iRecvLen, iLength);
    }
    if( iRecvLen != iLength ){
      fossil_warning("response truncated: got %d bytes of %d",
                     iRecvLen, iLength);
      goto write_err;
    }
  }else if( closeConnection ){
    /* Read content until end-of-file */
    int iRecvLen;         /* Received length of the reply payload */
    unsigned int nReq = 1000;
    unsigned int nPrior = 0;
    do{
      nReq *= 2;
      blob_resize(pReply, nPrior+nReq);