fix(quic): TCP 解析失败不再静默丢包

open_quic_client 分支下,非分片 TCP 包若 TcpPacket 解析失败,
原实现 return true 表示"已处理",实际什么都没做——包被静默丢弃,
与文件中非 quic_client 路径(解析失败落到 return false)语义不一致。

改为 return false,把包交还给调用方的其他转发路径。

注:outbound() 依赖真实 IpStack,无法低成本构造单测;clippy 通过。
This commit is contained in:
lbl
2026-08-21 02:27:46 +08:00
parent 8ecbfca939
commit 9993f9c894
@@ -35,7 +35,9 @@ impl EnhancedQuicOutbound {
let segmented = more_fragments || offset > 0;
if !segmented {
let Some(tcp) = TcpPacket::new(ipv4.payload()) else {
return true;
// TCP 解析失败无法判断连接归属,返回 false 让其他
// 转发路径处理,不能返回 true 静默吞掉这个包
return false;
};
// 不是第一个包
if !(tcp.get_flags() & SYN == SYN && tcp.get_flags() & ACK != ACK) {