Selective Acknowledgement option.
www.networksorcery.com/enp/protocol/tcp/option004.htm
Note that SACK always takes its optlen from the size of the string.
Methods
Class Public methods
Source: show
# File lib/packetfu/protos/tcp.rb, line 417 def initialize(args={}) super( args.merge(:kind => 5, :optlen => ((args[:value] || "").size + 2) ) ) end
Instance Public methods
Source: show
# File lib/packetfu/protos/tcp.rb, line 432 def decode "SACK:#{self[:value]}" end
Source: show
# File lib/packetfu/protos/tcp.rb, line 436 def encode(str) temp_obj = self.class.new(:value => str) self[:value] = temp_obj.value self[:optlen] = temp_obj.optlen.value self end
Source: show
# File lib/packetfu/protos/tcp.rb, line 425 def optlen=(i); typecast i; end
Source: show
# File lib/packetfu/protos/tcp.rb, line 427 def value=(i) self[:optlen] = Int8.new(i.to_s.size + 2) self[:value] = StructFu::String.new(i) end