diff --git a/data/scp_1mb_test.bin b/data/scp_1mb_test.bin new file mode 100644 index 0000000..e69de29 diff --git a/markbase-core/src/ssh_server/channel.rs b/markbase-core/src/ssh_server/channel.rs index e3d3d64..a4d71b4 100644 --- a/markbase-core/src/ssh_server/channel.rs +++ b/markbase-core/src/ssh_server/channel.rs @@ -123,6 +123,7 @@ impl ChannelManager { scp_handler: None, rsync_handler: None, exec_process: None, // Phase 14: 交互式exec + sftp_input_buffer: Vec::new(), // ⭐⭐⭐⭐⭐ Phase 14.2修复:SFTP packet累积 direct_tcpip: None, forwarded_tcpip: None, }; @@ -178,6 +179,7 @@ impl ChannelManager { scp_handler: None, rsync_handler: None, exec_process: None, // Phase 14: 交互式exec + sftp_input_buffer: Vec::new(), // ⭐⭐⭐⭐⭐ Phase 14.2修复 direct_tcpip: Some(direct_tcpip), forwarded_tcpip: None, }; @@ -221,6 +223,7 @@ impl ChannelManager { scp_handler: None, rsync_handler: None, exec_process: None, // Phase 14: 交互式exec + sftp_input_buffer: Vec::new(), // ⭐⭐⭐⭐⭐ Phase 14.2修复 direct_tcpip: None, forwarded_tcpip: Some(forwarded_tcpip), }; @@ -1290,6 +1293,8 @@ struct Channel { scp_handler: Option, // Phase 8: SCP处理器 rsync_handler: Option, // Phase 8: rsync处理器 exec_process: Option, // Phase 14: 交互式exec进程 + // ⭐⭐⭐⭐⭐ Critical修复:SFTP packet累积buffer + sftp_input_buffer: Vec, // Phase 14.2修复:累积不完整的SFTP packets // Phase 13.3: 端口转发相关字段 direct_tcpip: Option, // direct-tcpip channel(Remote forwarding) forwarded_tcpip: Option, // forwarded-tcpip channel(Local forwarding) diff --git a/sftp_1mb_test.bin b/sftp_1mb_test.bin new file mode 100644 index 0000000..e69de29