You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "ayoub serti (Jira)" <xe...@xml.apache.org> on 2019/12/06 10:50:00 UTC

[jira] [Created] (XERCESC-2183) Xcerces block on socket receive

ayoub serti created XERCESC-2183:
------------------------------------

             Summary: Xcerces block on socket receive
                 Key: XERCESC-2183
                 URL: https://issues.apache.org/jira/browse/XERCESC-2183
             Project: Xerces-C++
          Issue Type: Bug
          Components: Utilities
    Affects Versions: 3.2.1
         Environment: Windows
Visual Studio2017
            Reporter: ayoub serti


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?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org