Skip to content
This repository was archived by the owner on Jun 12, 2022. It is now read-only.

Commit e87c802

Browse files
committed
🔧 Fix Shadowsocks 2022 TCP
1 parent 2050acb commit e87c802

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

shadowsocks/stream.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ type Writer struct {
6565
// the shadowsocks protocol with the given shadowsocks cipher.
6666
//
6767
// addPaddingOnFlush: true, lazyWriteBuf != nil: Shadowsocks 2022 client writer
68-
// addPaddingOnFlush: false, lazyWriteBuf != nil: Legacy Shadowsocks client writer
68+
// addPaddingOnFlush: false, lazyWriteBuf != nil: Shadowsocks 2022 server writer, Legacy Shadowsocks client writer
6969
// addPaddingOnFlush: false, lazyWriteBuf == nil: Legacy Shadowsocks server writer
7070
func NewShadowsocksWriter(writer io.Writer, ssCipher *Cipher, saltGenerator SaltGenerator, lazyWriteBuf []byte, addPaddingOnFlush bool) (*Writer, error) {
7171
var maxPayloadSize int
@@ -208,7 +208,7 @@ func (sw *Writer) ReadFrom(r io.Reader) (n int64, err error) {
208208
// Header not sent yet.
209209
// Calculate header start position, write header w/o padding.
210210
headerOffset := reservedLen - 1 - 8 - len(sw.lazyWriteBuf) - 2
211-
sw.pending += WriteTCPReqHeader(payloadBuf[headerOffset:], sw.lazyWriteBuf, true, sw.ssCipher.config)
211+
sw.pending += WriteTCPReqHeader(payloadBuf[headerOffset:], sw.lazyWriteBuf, false, sw.ssCipher.config)
212212
// Flush.
213213
if flushErr := sw.flushAt(headerOffset); flushErr != nil {
214214
err = flushErr

0 commit comments

Comments
 (0)