Class: EchSpec::Spec::Spec5_1_9::NonzeroPaddingEch

Inherits:
TTTLS13::Ech
  • Object
show all
Defined in:
lib/echspec/spec/5.1-9.rb

Constant Summary collapse

NON_ZERO =
"\x11".freeze

Class Method Summary collapse

Class Method Details

.padding_encoded_ch_inner(s, server_name_length, maximum_name_length) ⇒ String

Parameters:

  • s (String)
  • server_name_length (Integer)
  • maximum_name_length (Integer)

Returns:

  • (String)


92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/echspec/spec/5.1-9.rb', line 92

def self.padding_encoded_ch_inner(s,
                                  server_name_length,
                                  maximum_name_length)
  padding_len =
    if server_name_length.positive?
      [maximum_name_length - server_name_length, 0].max
    else
      9 + maximum_name_length
    end

  padding_len = 31 - ((s.length + padding_len - 1) % 32)
  s + NON_ZERO * padding_len # padding with non-zero value
end