Class: EchSpec::Spec::Spec5_1_10::MissingReferencedExtensions

Inherits:
TTTLS13::Message::Extensions
  • Object
show all
Defined in:
lib/echspec/spec/5.1-10.rb

Instance Method Summary collapse

Instance Method Details

#remove_and_replace!(_) ⇒ TTTLS13::Message::Extensions

Returns for EncodedClientHelloInner.

Parameters:

  • _ (Array of TTTLS13::Message::ExtensionType)

Returns:

  • (TTTLS13::Message::Extensions)

    for EncodedClientHelloInner



136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/echspec/spec/5.1-10.rb', line 136

def remove_and_replace!(_)
  outer_extensions = [TTTLS13::Message::ExtensionType::KEY_SHARE]
  tmp1 = filter { |k, _| !outer_extensions.include?(k) }

  clear
  replaced = TTTLS13::Message::Extensions.new

  tmp1.each_value { |v| self << v; replaced << v }
  # key_share is referenced, but it is missing in ClientHelloOuter.
  replaced << TTTLS13::Message::Extension::ECHOuterExtensions.new(
    [TTTLS13::Message::ExtensionType::KEY_SHARE]
  )
  replaced
end