mirror of
https://github.com/v2fly/v2ray-core.git
synced 2025-02-20 23:47:21 -05:00
max padding len as variable
This commit is contained in:
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 {
|
func (w *AuthenticationWriter) writeStream(mb buf.MultiBuffer) error {
|
||||||
defer mb.Release()
|
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))
|
mb2Write := buf.NewMultiBufferCap(int32(len(mb) + 10))
|
||||||
|
|
||||||
for {
|
for {
|
||||||
|
@ -21,6 +21,7 @@ type ChunkSizeEncoder interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type PaddingLengthGenerator interface {
|
type PaddingLengthGenerator interface {
|
||||||
|
MaxPaddingLen() uint16
|
||||||
NextPaddingLen() uint16
|
NextPaddingLen() uint16
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,3 +111,7 @@ func (s *ShakeSizeParser) Encode(size uint16, b []byte) []byte {
|
|||||||
func (s *ShakeSizeParser) NextPaddingLen() uint16 {
|
func (s *ShakeSizeParser) NextPaddingLen() uint16 {
|
||||||
return s.next() % 64
|
return s.next() % 64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *ShakeSizeParser) MaxPaddingLne() uint16 {
|
||||||
|
return 64
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user