Class: PacketGen::Plugin::SMB2::Base
- Inherits:
-
Header::Base
- Object
- Header::Base
- PacketGen::Plugin::SMB2::Base
- Defined in:
- lib/packetgen/plugin/smb2/base.rb
Overview
Helper class to ease definition of SMB2 classes
Direct Known Subclasses
Negotiate::Request, Negotiate::Response, SessionSetup::Request, SessionSetup::Response
Class Method Summary collapse
-
.define_smb2_pad_field(name) ⇒ void
Helper to define pad fields used to align next field on 8-byte offset.
Class Method Details
.define_smb2_pad_field(name) ⇒ void
This method returns an undefined value.
Helper to define pad fields used to align next field on 8-byte offset
19 20 21 22 23 24 25 26 |
# File 'lib/packetgen/plugin/smb2/base.rb', line 19 def self.define_smb2_pad_field(name) prev_field = self.fields.last lf = lambda do |hdr| (8 - (hdr.offset_of(prev_field) + hdr[prev_field].sz) % 8) % 8 end define_field name, PacketGen::Types::String, default: SMB2::MAX_PADDING, builder: ->(h, t) { t.new(length_from: -> { lf[h] }) } end |