From 1d00d93539f0c67ecaae18df6a905baef6ed75e0 Mon Sep 17 00:00:00 2001 From: Cassondra Foesch Date: Mon, 22 Mar 2021 16:21:58 +0000 Subject: [PATCH] encoding: move length const to exported value, I don't expect many to use such low limits. --- encoding/ssh/filexfer/filexfer.go | 7 +++++++ encoding/ssh/filexfer/packets.go | 7 ++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/encoding/ssh/filexfer/filexfer.go b/encoding/ssh/filexfer/filexfer.go index 0b26169..e8b2c34 100644 --- a/encoding/ssh/filexfer/filexfer.go +++ b/encoding/ssh/filexfer/filexfer.go @@ -25,3 +25,10 @@ type Packet interface { func ComposePacket(header, payload []byte, err error) ([]byte, error) { return append(header, payload...), err } + +// Default length values, +// Defined in draft-ietf-secsh-filexfer-02 section 3. +const ( + DefaultMaxPacketLength = 34000 + DefaultMaxDataLength = 32768 +) diff --git a/encoding/ssh/filexfer/packets.go b/encoding/ssh/filexfer/packets.go index baa2af4..b09b705 100644 --- a/encoding/ssh/filexfer/packets.go +++ b/encoding/ssh/filexfer/packets.go @@ -108,14 +108,11 @@ func (p *RawPacket) UnmarshalBinary(data []byte) error { return p.UnmarshalFrom(NewBuffer(data)) } -// defaultMaxPacketSize is defined in draft-ietf-secsh-filexfer-02 section 3. -const defaultMaxPacketSize = 34000 - // readPacket reads a uint32 length-prefixed binary data packet from r. -// If the given buffer is less than 4-bytes, it allocates a new buffer of size defaultMaxPacketSize. +// If the given buffer is less than 4-bytes, it allocates a new buffer of size DefaultMaxPacketLength. func readPacket(r io.Reader, b []byte) ([]byte, error) { if len(b) < 4 { - b = make([]byte, defaultMaxPacketSize) + b = make([]byte, DefaultMaxPacketLength) } if _, err := io.ReadFull(r, b[:4]); err != nil {