class Lib::DHCP::Option122::SubOption::Option6
Public Class Methods
new(message)
click to toggle source
include Lib::DHCP::Option::Type::String
Calls superclass method
Lib::DHCP::Option::new
# File lib/lib/dhcp/options/option122.rb, line 253 def initialize(message) oid = self.class.name.split('::').last.sub(/Option/, '').to_i super oid, message.to_s end
unpack(oid, len, payload)
click to toggle source
# File lib/lib/dhcp/options/option122.rb, line 276 def self.unpack(oid, len, payload) raise ArgumentError, "Wrong #{Lib::DHCP::Option::NAME[oid]} Option length - #{len}" unless len > 0 self.new payload#.unpack('a*').first.to_s end
Public Instance Methods
len()
click to toggle source
# File lib/lib/dhcp/options/option122.rb, line 264 def len @payload.to_s.split('.').map{|label| [label.length, label.unpack('C*')]}.flatten.size + 1 end
name()
click to toggle source
# File lib/lib/dhcp/options/option122.rb, line 272 def name "TSP's Kerberos Realm Name Sub-Option" end
pack()
click to toggle source
# File lib/lib/dhcp/options/option122.rb, line 258 def pack #[@oid, self.len, @payload.to_s].pack('C2a') fqdn_encode = @payload.to_s.split('.').map{|label| [label.length, label.unpack('C*')]}.flatten [6, fqdn_encode.size + 1, *fqdn_encode, 0].pack('C*') end
payload=(message)
click to toggle source
# File lib/lib/dhcp/options/option122.rb, line 268 def payload=(message) @payload = message.to_s end