MsQuic interoperability with cronet #4162
Labels
Area: Testing
Related to test coverage
external
Proposed by non-MSFT
question
Further information is requested
Milestone
Describe the bug
Hi @nibanks . I'm facing issues with MsQuic interop server. On the client side I have Cronet quic. Certificate verification is disabled on the client side. The client wants to GET a webpage index.html (1619 bytes) from the server. I am not configuring POST request on the server.
I normally run the 'quicinteropserver' executable on the server side and 'quic_client' on the client side with required command-line arguments. The connection between the server and the client gets established. Cronet client opens 2 different streams with the MsQuic server: one unidirectional stream and one bidirectional stream. MsQuic will have a separate callback handler for each stream. When data is received on the unidirectional stream, MsQuic indicates a QUIC_STREAM_EVENT_RECEIVE event. Here it checks whether the server is configured for POST and if it isn't, then Abort() function is called and MsQuic->StreamShutdown() API is called with QUIC_STREAM_SHUTDOWN_FLAG_ABORT flag and 'HttpRequestExtraRecv' error code. Due to this STOP_SENDING frame is sent to the client and the client closes the connection without reading the received stream data. Below is a snippet of the log highlighting the issue. I have added some logs of my own to debug the issue.
Another issue is that though we can see that 41 bytes of data has been received, when I try to print the buffer using '%s' format specifier I am not able to see anything.
Is there any way to fix this? Is there a way I can test interoperability between MsQuic and cronet quic?
msquic-cronet_server_logs[1].txt
msquic-cronet_client_logs[1].txt
Affected OS
Additional OS information
Android 14
MsQuic version
main
Steps taken to reproduce bug
Expected behavior
Server should not abortively shut down the stream. It should send the required files to the client and then close the stream.
Actual outcome
Server abortively shut down the stream
Additional details
No response
The text was updated successfully, but these errors were encountered: