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

Xerces block on socket receive

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 3.2.1
    • None
    • Utilities
    • Windows
      Visual Studio2017
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: