Uploaded image for project: 'Xerces-C++'
  1. Xerces-C++
  2. XERCESC-2183

Xerces block on socket receive

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 3.2.1
    • Fix Version/s: None
    • Component/s: Utilities
    • Labels:
    • Environment:
      Windows
      Visual Studio2017
    • Flags:
      Important

      Description

      Hello,

      We use Xerces to parse and validating xml data.

      When XML data contains external prolog ( web-hosted prolog ) like: http://www.w3.org/TR/html4/loose.dtd

      Our application hang on BinHTTPURLInputStream::receive(char *buf, XMLSize_t len) because it try to read 1024 bytes from socket without timeout.

      After investigation, We found that http://www.w3.org/TR/html4/loose.dtd return a 307 status and ask browser to redirect to https url.

      I believe the simplest approach is to change buffer chunck size in BinHTTPInputStreamCommon::sendRequest() : L223 to read only first part of HTTP headers.

      Is there any way to configure socket timeout?

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              ayoubserti ayoub serti
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: