mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-14 05:11:19 -04:00
Add packet padding container for packet length shaping: refactor
This commit is contained in:
parent
9e1cc35878
commit
1689279e95
1 changed files with 10 additions and 8 deletions
|
@ -11,8 +11,8 @@ type packetPaddingContainer struct {
|
||||||
|
|
||||||
func (c packetPaddingContainer) Pack(data_OWNERSHIP_RELINQUISHED []byte, padding int) []byte {
|
func (c packetPaddingContainer) Pack(data_OWNERSHIP_RELINQUISHED []byte, padding int) []byte {
|
||||||
data := append(data_OWNERSHIP_RELINQUISHED, make([]byte, padding)...)
|
data := append(data_OWNERSHIP_RELINQUISHED, make([]byte, padding)...)
|
||||||
data_length := len(data_OWNERSHIP_RELINQUISHED)
|
dataLength := len(data_OWNERSHIP_RELINQUISHED)
|
||||||
data = append(data, byte(data_length>>8), byte(data_length))
|
data = binary.BigEndian.AppendUint16(data, uint16(dataLength))
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,14 +34,16 @@ func (c packetPaddingContainer) Pad(padding int) []byte {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c packetPaddingContainer) Unpack(wrappedData_OWNERSHIP_RELINQUISHED []byte) ([]byte, int) {
|
func (c packetPaddingContainer) Unpack(wrappedData_OWNERSHIP_RELINQUISHED []byte) ([]byte, int) {
|
||||||
if len(wrappedData_OWNERSHIP_RELINQUISHED) < 2 {
|
dataLength := len(wrappedData_OWNERSHIP_RELINQUISHED)
|
||||||
return nil, len(wrappedData_OWNERSHIP_RELINQUISHED)
|
if dataLength < 2 {
|
||||||
|
return nil, dataLength
|
||||||
}
|
}
|
||||||
wrappedData_tail := wrappedData_OWNERSHIP_RELINQUISHED[len(wrappedData_OWNERSHIP_RELINQUISHED)-2:]
|
|
||||||
dataLength := int(binary.BigEndian.Uint16(wrappedData_tail))
|
dataLen := int(binary.BigEndian.Uint16(wrappedData_OWNERSHIP_RELINQUISHED[dataLength-2:]))
|
||||||
paddingLength := len(wrappedData_OWNERSHIP_RELINQUISHED) - dataLength - 2
|
paddingLength := dataLength - dataLen - 2
|
||||||
if paddingLength < 0 {
|
if paddingLength < 0 {
|
||||||
return nil, paddingLength
|
return nil, paddingLength
|
||||||
}
|
}
|
||||||
return wrappedData_OWNERSHIP_RELINQUISHED[:dataLength], paddingLength
|
|
||||||
|
return wrappedData_OWNERSHIP_RELINQUISHED[:dataLen], paddingLength
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue