lib/packetgen/header/mdns.rb in packetgen-3.2.0 vs lib/packetgen/header/mdns.rb in packetgen-3.2.1
- old
+ new
@@ -29,50 +29,44 @@
def mdnsize
iph = ip_header(self)
case iph
when IP
iph.dst = '224.0.0.251'
- llh = ll_header(self)
- mac = case llh
- when Eth
- llh[:dst]
- when Dot11
- if llh.to_ds?
- llh[:mac3]
- else
- llh[:mac1]
- end
- end
- mac.from_human('01:00:5E:00:00:FB')
+ dst_mac.from_human('01:00:5E:00:00:FB')
when IPv6
iph.dst = 'ff02::fb'
- llh = ll_header(self)
- mac = case llh
- when Eth
- llh[:dst]
- when Dot11
- if llh.to_ds?
- llh[:mac3]
- else
- llh[:mac1]
- end
- end
- mac.from_human('33:33:00:00:00:FB')
+ dst_mac.from_human('33:33:00:00:00:FB')
end
end
# @api private
# @note This method is used internally by PacketGen and should not be
# directly called
# @since 2.7.0 Set UDP sport according to bindings, only if sport is 0.
# Needed by new bind API.
def added_to_packet(packet)
mdns_idx = packet.headers.size
- packet.instance_eval "def mdnsize() @headers[#{mdns_idx}].mdnsize; end"
+ packet.instance_eval "def mdnsize() @headers[#{mdns_idx}].mdnsize; end" # def mdnsize() @headers[4].mdnsize; end
return unless packet.is? 'UDP'
return unless packet.udp.sport.zero?
packet.udp.sport = UDP_PORT
+ end
+
+ private
+
+ def dst_mac
+ llh = ll_header(self)
+ case llh
+ when Eth
+ llh[:dst]
+ when Dot11
+ if llh.to_ds?
+ llh[:mac3]
+ else
+ llh[:mac1]
+ end
+ end
end
end
self.add_class MDNS
UDP.bind MDNS, dport: MDNS::UDP_PORT