deduplicate

Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
Jens Langhammer
2025-05-15 14:13:11 +02:00
parent 9cee59537c
commit 6d77eaaab7

View File

@ -172,23 +172,17 @@ func (p *Payload) handshakeFinished(st *State) {
} }
func (p *Payload) startChunkedTransfer(data []byte, st *State) (*Payload, *State) { func (p *Payload) startChunkedTransfer(data []byte, st *State) (*Payload, *State) {
flags := FlagLengthIncluded
var dataToSend []byte
if len(data) > maxChunkSize { if len(data) > maxChunkSize {
log.WithField("length", len(data)).Debug("TLS: Data needs to be chunked") log.WithField("length", len(data)).Debug("TLS: Data needs to be chunked")
flags += FlagMoreFragments
// Chunk data into correct chunks and add them to the list
st.RemainingChunks = append(st.RemainingChunks, slices.Collect(slices.Chunk(data, maxChunkSize))...) st.RemainingChunks = append(st.RemainingChunks, slices.Collect(slices.Chunk(data, maxChunkSize))...)
dataToSend = st.RemainingChunks[0]
st.RemainingChunks = st.RemainingChunks[1:]
st.TotalPayloadSize = len(data) st.TotalPayloadSize = len(data)
} else { return p.sendNextChunk(st)
dataToSend = data
} }
log.WithField("length", len(data)).Debug("TLS: Sending data un-chunked")
return &Payload{ return &Payload{
Flags: flags, Flags: FlagLengthIncluded,
Length: uint32(st.TotalPayloadSize), Length: uint32(len(data)),
Data: dataToSend, Data: data,
}, st }, st
} }