packetgen 2.8.5 → 2.8.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|