One SSH_FXP_DATA record split over SSH_MSG_CHANNEL_DATA packets

Anton Scheffer Anton.Scheffer at amis.nl
Fri Mar 20 06:52:13 AEDT 2015


Hi,

I'm developing my own sftp client.
When I try to read a file larger than 16371 bytes from a OpenSSH server my program fails.
And that is because it doesn't expect a SSH_FXP_DATA record to be send through two SSH_MSG_CHANNEL_DATA packets.

For instance:
  First a SSH_MSG_CHANNEL_DATA packet containing the start of a SSH_FXP_DATA record
    read_packet: done 16393
    read_packet: done 5E0000007B0000400000003FFF67000000FC00003FF60101010101010101....

  And then a SSH_MSG_CHANNEL_DATA packet containing the last part the SSH_FXP_DATA record
    read_packet: done 12
    read_packet: done 5E0000007B00000003AA1133

Is this normal, to be expected, behavior? I can't find anything regarding this in the RFC's.

I see this on OpenSSH_6.4 and OpenSSH_4.3 using these settings
aes128-cbc
aes128-cbc
hmac-sha1
hmac-sha1
none
none

Anton




More information about the openssh-unix-dev mailing list