alibaba / xquic

XQUIC Library released by Alibaba is a cross-platform implementation of QUIC and HTTP/3 protocol.
Apache License 2.0
1.7k stars 327 forks source link

[Feature]: Retry support #58

Closed raulftang closed 2 years ago

raulftang commented 2 years ago

What happened?

Xquic client can't complete handshake with quic-go server. Xquic was built with babassl, and it keep retrying when handshake with quic-go server.

Steps To Reproduce

Attached test client and server source file. Client can get connect_create_notify called but connect_handshake_finished never got called.

thanks

xquic.zip

Relevant log output

No response

ruiqizhou commented 2 years ago

Hi, XQUIC can complete handshake with quic-go in interoperability testing, see https://interop.seemann.io/ for more details.

raulftang commented 2 years ago

Hi, Quic-go response an address-validation retry frame, the format is: |longheader|packet type|version|dcid len|dcid|scid len|scid|token|integrity tag|

But from xqc_packet_parse_retry, it seems xquic hope following format: |longheader|packet type|version|dcid len|dcid|scid len|scid|odcid|

Which leads to retry frame parse failed.

1642497828(1)

ruiqizhou commented 2 years ago

image Retry is not yet supported.

ruiqizhou commented 2 years ago

We will support retry later, see our milestones: https://github.com/alibaba/xquic/milestone/3