packetgen 2.8.5 → 2.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/packetgen.rb +15 -0
- data/lib/packetgen/header/base.rb +2 -1
- data/lib/packetgen/types/fields.rb +2 -2
- data/lib/packetgen/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ee37bbcc3ffa4d0ba19838f04c4c57ee5de15244a7bf6e2c78101148cff0026
|
4
|
+
data.tar.gz: 02afc1072186723ec5d16424e3fcb0a832e2e2ab114fd6232ace7dedba873fde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5198cc85801daf880d3ac32313ac2f611ceebfa8c8023aedfe2d95021563d620234f363be048c279e3b8d2f121e465854525c2707d6fba6e82479c3beb88ff3f
|
7
|
+
data.tar.gz: 98c6e9b198b1e8294b9dc38a13d3efb7cd81c0b9dafe9d6bc0998dbff07da02deca5bb7efd2bdc7f83507dc46d20d3b658620dc6f5444739485f3a9704bf9c5b
|
data/lib/packetgen.rb
CHANGED
@@ -82,6 +82,21 @@ module PacketGen
|
|
82
82
|
break m[1]
|
83
83
|
end
|
84
84
|
end
|
85
|
+
|
86
|
+
# Shortcut to get a header class
|
87
|
+
# @example builtin class
|
88
|
+
# # same as PacketGen::Header::Dot11:Data.new(id: 0xfedc)
|
89
|
+
# dot11 = PacketGen.header('Dot11::Data', id: 0xfedc) #=> PacketGen::Header::Dot11:Data
|
90
|
+
# @example plugin class
|
91
|
+
# require 'packet-plugin-smb'
|
92
|
+
# # same as PacketGen::Plugin::SMB::CloseRequest.new(fid: 0x1234)
|
93
|
+
# smbclose = PacketGen.header('SMB::CloseRequest', fid: 0x1234)
|
94
|
+
# @param [String] protocol protocol from which generate a header
|
95
|
+
# @param [Hash] options specific options for +protocol+
|
96
|
+
# @return [Header::Base]
|
97
|
+
def self.header(protocol, options={})
|
98
|
+
Header.get_header_class_by_name(protocol).new(options)
|
99
|
+
end
|
85
100
|
end
|
86
101
|
|
87
102
|
require 'packetgen/deprecation'
|
@@ -306,10 +306,11 @@ module PacketGen
|
|
306
306
|
# return header method name
|
307
307
|
# @return [String]
|
308
308
|
# @since 2.0.0
|
309
|
+
# @since 2.8.6 permit multiple nesting levels
|
309
310
|
def method_name
|
310
311
|
return @method_name if @method_name
|
311
312
|
|
312
|
-
@method_name = protocol_name.downcase.
|
313
|
+
@method_name = protocol_name.downcase.gsub(/::/, '_')
|
313
314
|
end
|
314
315
|
|
315
316
|
# @abstract Should be redefined by subclasses. This method should check invariant
|
@@ -225,8 +225,8 @@ module PacketGen
|
|
225
225
|
def remove_field(name)
|
226
226
|
fields.delete name
|
227
227
|
@field_defs.delete name
|
228
|
-
undef_method name
|
229
|
-
undef_method "#{name}="
|
228
|
+
undef_method name if method_defined?(name)
|
229
|
+
undef_method "#{name}=" if method_defined?("#{name}=")
|
230
230
|
end
|
231
231
|
|
232
232
|
# Delete a previously defined field
|
data/lib/packetgen/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: packetgen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.8.
|
4
|
+
version: 2.8.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sylvain Daubert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: interfacez
|