packetgen 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c0f4985dff6a759aee18e0ca94ec364686d58304
4
- data.tar.gz: 5aed1f1d1075e6c00ccac6f76191fcbf537f0005
3
+ metadata.gz: e814826688f3a780a9c222dcc6fd5a2a3ae7daf0
4
+ data.tar.gz: ccb268a111976248f6dd932c3556874c0f639938
5
5
  SHA512:
6
- metadata.gz: ccc6f02e411f0f2632bb21b49859bb4efa4a7cf76c71a32e035796589dd4acddee1508ef47ed26afb426b6e1060b694a88d6872a4f019863274b4bf9573c2dcc
7
- data.tar.gz: ea8b5f8819097303c3134b168fa4eaaa4de4fe00d23d7eb5631f1d1279a0b9bbbf0159c3e1fb6dfc71846ecbe1fc0929c4da010710dcb790ce1e5bdceb365d27
6
+ metadata.gz: 7d2b48c08caafa50c4ee4ce3812bc3e7122ca69ccc00a91dc2c75b448dd78fb85cd18c8e352773b81e27e6f7b69b05417a3b953e131a2bd5b775c924b3da1ef3
7
+ data.tar.gz: e1c2317f4d950c8b78bec81dd4944af29f0faa5ee21a949dd32422827689e752c43acbde5c12784ddd82fa56bfdf99f60449ed90faba2c530f2daadf3658c9a3
data/README.md CHANGED
@@ -132,7 +132,7 @@ pkt.myheader.field2.read 0x01
132
132
  ```
133
133
 
134
134
  ## Interactive console
135
- PacketGen provides an interactive console, based on `pry`: `pgconsole`.
135
+ PacketGen provides an interactive console: `pgconsole`.
136
136
 
137
137
  In this console, context includes PacketGen module to give direct access to PacketGen
138
138
  classes. A special `config` object gives local network configuration:
@@ -146,6 +146,8 @@ classes. A special `config` object gives local network configuration:
146
146
  pg(main)> packets = capture(max: 5)
147
147
  pg(main)> exit
148
148
 
149
+ If `pry` gem is installed, it is used as backend for `pgconsole`, else IRB is used.
150
+
149
151
  ## Pull requests?
150
152
 
151
153
  yes
data/bin/pgconsole CHANGED
@@ -1,9 +1,17 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'bundler/setup'
4
3
  require 'packetgen'
5
4
  require 'packetgen/config'
6
- require 'pry'
5
+
6
+ use_pry = false
7
+ begin
8
+ require 'pry'
9
+ use_pry = true
10
+ puts "use Pry!"
11
+ rescue LoadError
12
+ require 'irb'
13
+ require 'irb/completion'
14
+ end
7
15
 
8
16
  include PacketGen
9
17
 
@@ -23,19 +31,48 @@ def write(filename, packets)
23
31
  Packet.write filename, packets
24
32
  end
25
33
 
26
- @config = Config.new
34
+ @config = PacketGen::Config.new
27
35
 
28
36
  def config
29
37
  @config
30
38
  end
31
39
 
32
- Pry.config.prompt = [
33
- proc { |target_self, nest_level, pry|
34
- "#{pry.config.prompt_name}(#{Pry.view_clip(target_self)})#{":#{nest_level}" unless nest_level.zero?}> "
35
- },
36
- proc { |target_self, nest_level, pry|
37
- "#{pry.config.prompt_name}(#{Pry.view_clip(target_self)})#{":#{nest_level}" unless nest_level.zero?}* "
38
- }
39
- ]
40
- Pry.config.prompt_name = 'pg'
41
- Pry.start
40
+ def start_message(use_pry)
41
+ print "\npgconsole uses #{use_pry ? 'Pry' : 'IRB'}\n\n"
42
+ end
43
+
44
+ start_message use_pry
45
+
46
+ if use_pry
47
+ Pry.config.prompt = [
48
+ proc { |target_self, nest_level, pry|
49
+ "#{pry.config.prompt_name}(#{Pry.view_clip(target_self)})#{":#{nest_level}" unless nest_level.zero?}> "
50
+ },
51
+ proc { |target_self, nest_level, pry|
52
+ "#{pry.config.prompt_name}(#{Pry.view_clip(target_self)})#{":#{nest_level}" unless nest_level.zero?}* "
53
+ }
54
+ ]
55
+ Pry.config.prompt_name = 'pg'
56
+ Pry.start
57
+ else
58
+ IRB.setup nil
59
+ irb = IRB::Irb.new(IRB::WorkSpace.new(binding))
60
+ IRB.conf[:MAIN_CONTEXT] = irb.context
61
+ irb.context.auto_indent_mode = true
62
+ irb.context.prompt_i = "pg(%m)>"
63
+ irb.context.prompt_s = "pg(%m)*"
64
+ irb.context.prompt_c = "pg(%m)*"
65
+
66
+ trap("SIGINT") do
67
+ irb.signal_handle
68
+ end
69
+
70
+ begin
71
+ catch(:IRB_EXIT) do
72
+ irb.eval_input
73
+ end
74
+ ensure
75
+ IRB.irb_at_exit
76
+ end
77
+ end
78
+
@@ -8,5 +8,5 @@
8
8
  # @author Sylvain Daubert
9
9
  module PacketGen
10
10
  # PacketGen version
11
- VERSION = "2.1.0"
11
+ VERSION = '2.1.1'
12
12
  end
data/packetgen.gemspec CHANGED
@@ -24,7 +24,6 @@ Gem::Specification.new do |spec|
24
24
  spec.required_ruby_version = '>= 2.1.0'
25
25
 
26
26
  spec.add_dependency 'pcaprub', '~>0.12.4'
27
- spec.add_dependency 'pry', '~>0.10'
28
27
  spec.add_dependency 'network_interface'
29
28
  spec.add_dependency 'net-proto', '~>1.2'
30
29
  spec.add_dependency 'rasn1', '~>0.3', '>= 0.3.1'
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.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvain Daubert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-15 00:00:00.000000000 Z
11
+ date: 2017-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pcaprub
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.12.4
27
- - !ruby/object:Gem::Dependency
28
- name: pry
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '0.10'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '0.10'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: network_interface
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -261,7 +247,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
261
247
  version: '0'
262
248
  requirements: []
263
249
  rubyforge_project:
264
- rubygems_version: 2.5.2
250
+ rubygems_version: 2.6.13
265
251
  signing_key:
266
252
  specification_version: 4
267
253
  summary: Network packet generator and analyzor