mirror of https://github.com/v2ray/v2ray-core
max padding len as variable
parent
a8b0660df0
commit
8a879deac1
|
@ -238,7 +238,12 @@ func (w *AuthenticationWriter) seal(b *buf.Buffer) (*buf.Buffer, error) {
|
|||
func (w *AuthenticationWriter) writeStream(mb buf.MultiBuffer) error {
|
||||
defer mb.Release()
|
||||
|
||||
payloadSize := buf.Size - int32(w.auth.Overhead()) - w.sizeParser.SizeBytes() - 64 /* padding buffer */
|
||||
var maxPadding int32
|
||||
if w.padding != nil {
|
||||
maxPadding = int32(w.padding.MaxPaddingLen())
|
||||
}
|
||||
|
||||
payloadSize := buf.Size - int32(w.auth.Overhead()) - w.sizeParser.SizeBytes() - maxPadding
|
||||
mb2Write := buf.NewMultiBufferCap(int32(len(mb) + 10))
|
||||
|
||||
for {
|
||||
|
|
|
@ -21,6 +21,7 @@ type ChunkSizeEncoder interface {
|
|||
}
|
||||
|
||||
type PaddingLengthGenerator interface {
|
||||
MaxPaddingLen() uint16
|
||||
NextPaddingLen() uint16
|
||||
}
|
||||
|
||||
|
|
|
@ -111,3 +111,7 @@ func (s *ShakeSizeParser) Encode(size uint16, b []byte) []byte {
|
|||
func (s *ShakeSizeParser) NextPaddingLen() uint16 {
|
||||
return s.next() % 64
|
||||
}
|
||||
|
||||
func (s *ShakeSizeParser) MaxPaddingLne() uint16 {
|
||||
return 64
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue