alibaba / xquic

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

[Bug]: frame_type_2_str 定义错误 #202

Closed adcen0107 closed 1 year ago

adcen0107 commented 2 years ago

What happened?

xqc_frame.c static const char * const frame_type_2_str[XQC_FRAME_NUM] = { [XQC_FRAME_PADDING] = "PADDING", [XQC_FRAME_PING] = "PING", [XQC_FRAME_ACK] = "ACK", [XQC_FRAME_RESET_STREAM] = "RESET_STREAM", [XQC_FRAME_STOP_SENDING] = "STOP_SENDING", [XQC_FRAME_CRYPTO] = "CRYPTO", [XQC_FRAME_NEW_TOKEN] = "NEW_TOKEN", [XQC_FRAME_STREAM] = "STREAM", [XQC_FRAME_MAX_DATA] = "MAX_DATA", [XQC_FRAME_MAX_STREAM_DATA] = "MAX_STREAM_DAT", [XQC_FRAME_MAX_STREAMS] = "MAX_STREAMS", [XQC_FRAME_DATA_BLOCKED] = "DATA_BLOCKED", [XQC_FRAME_STREAM_DATA_BLOCKED] = "STREAM_DATA_BLOCKED", [XQC_FRAME_STREAMS_BLOCKED] = "STREAMS_BLOCKED", [XQC_FRAME_NEW_CONNECTION_ID] = "NEW_CONNECTION_ID", [XQC_FRAME_RETIRE_CONNECTION_ID] = "RETIRE_CONNECTION_ID", [XQC_FRAME_PATH_CHALLENGE] = "PATH_CHALLENGE", [XQC_FRAME_PATH_RESPONSE] = "PATH_RESPONSE", [XQC_FRAME_CONNECTION_CLOSE] = "CONNECTION_CLOSE", [XQC_FRAME_HANDSHAKE_DONE] = "HANDSHAKE_DONE", [XQC_FRAME_Extension] = "Extension", }; 项目中frame_type_2_str[XQC_FRAME_MAX_STREAM_DATA] 为 “MAX_STREAM_DAT”,本意应该是 ”MAX_STREAM_DATA"

Steps To Reproduce

通过test_client与test_server项目运行项目后,观察test_server反馈的ACK MAX_STREAM_DATA 帧,在函数xqc_send_packet_with_pn的帧类型打印即可观察到 MAX_STREAM_DAT 帧类型输出。

Relevant log output

[2022/07/04 10:41:33 130501] [info] |scid:499438ed4cfb261f|xqc_send_packet_with_pn|<==|po-ACK pnum:5691|max_recv:15018|size:167|sent:183|ptype:SHORT_HEADER|frame:ACK MAX_STREAM_DAT