natpmp 0.9 → 0.9.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 504f5dbfbf0b924f579d4cc21c3329c415bb0d66
4
- data.tar.gz: 2d29eb61c29f70a0876c5592781518c3514064e3
3
+ metadata.gz: 5bc342344a2e984433de34dc071d77204fc8db69
4
+ data.tar.gz: 9ad73d6773aefc8f9d4efc287dd4f46928cdc0cb
5
5
  SHA512:
6
- metadata.gz: 933f2b1277663de3fe5ac5c7110c53ab4ae65161ff1459ad1a1fe4e684c109719540c537647a822e2ffb11de01bde089d49ccadba8f165caefa602a29153e5f2
7
- data.tar.gz: d776e773dc7c29c404d896a040120efa19634ba0e88b8d8250e57c94d0f1cfa825539226c1d5ef054fc406751d9f23ee1dbc038e50a67b567b0443ce94cf99be
6
+ metadata.gz: a3861511a4c3176715aa8cba2884f93fb92a2e2a134fe72451a911aee39d82177d08320a5e83fd8022c9de97bcc52a6f8357447f7f86efa609e2734a3235556f
7
+ data.tar.gz: e7dc90a16aa49b2db6758857cdcf283e53072f45e15297de7548507491a386628b12c76eecf576c789aae4d1cad077997230d304fb0c9138fa9aeec1ef8fbcb8
File without changes
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014 Nick Townsend
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,11 @@
1
+ require 'rake/extensiontask'
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.pattern = 'test/**/test_*.rb'
6
+ end
7
+
8
+ Gem::PackageTask.new(NATPMP::GemSpec) do |pkg|
9
+ end
10
+
11
+ task :default => :test
data/bin/natpmp CHANGED
@@ -10,13 +10,9 @@ types = [:tcp, :udp]
10
10
  opts = OpenStruct.new(port: nil, type: :tcp, verbose: false, public: 0, ttl: 7200)
11
11
 
12
12
  OptionParser.new do |o|
13
- o.banner = "usage: #{o.program_name} [options] [command]"
14
- o.separator "Open a port on a NAT-PMP gateway. Options:"
13
+ o.banner = "usage: #{o.program_name} [options] [--] [command]"
14
+ o.separator "Open a port on a NAT-PMP gateway (v#{NATPMP::Version}). Options:"
15
15
 
16
- o.on_tail( '-?', '--help', 'Display this screen' ) do
17
- puts o
18
- exit
19
- end
20
16
  o.on('-t', '--type TYPE', types, "Type: #{types.join(', ')} (default: #{opts.type})") do |t|
21
17
  opts.type = t
22
18
  end
@@ -32,17 +28,17 @@ OptionParser.new do |o|
32
28
  o.on('-v', '--verbose', "Verbose") do
33
29
  opts.verbose = true
34
30
  end
35
- o.on('--version', "Version") do
36
- STDERR.puts "#{o.program_name}: Version #{NATPMP::VERSION}"
37
- exit;
31
+ o.on( '-?', '--help', 'Display this screen' ) do
32
+ puts o
33
+ exit
38
34
  end
39
- o.separator "In the command string the following substitutions will be made:"
35
+ o.separator "If a command string is used the following substitutions will be made:"
40
36
  o.separator " %p the local port"
41
37
  o.separator " %h the local IP address"
42
38
  o.separator " %P the gateway port"
43
39
  o.separator " %H the gateway IP address"
44
- o.separator "(Use %% to avoid this)"
45
- o.separator "The mapping will be closed on completion of the command"
40
+ o.separator " %% to % (to avoid this)"
41
+ o.separator "When the command terminates the mapping will be removed"
46
42
  o.parse! rescue (STDERR.puts "#{o.program_name}: #{$!}\n#{o.to_s}"; exit)
47
43
  end
48
44
 
@@ -107,7 +107,7 @@ class NATPMP
107
107
  rsp = NATPMP.send [0, OPCODE[@type], 0, @priv, @pub, @maxlife||DEFAULT_LIFETIME].pack("CCnnnN")
108
108
  (sssoe, priv, @mapped, @life) = rsp.unpack("x4NnnN")
109
109
  raise "Port mismatch: requested #{@priv} received #{priv}" if @priv != priv
110
- STDERR.puts "Mapped (at #{sssoe}) #{inspect}" if NATPMP.verbose?
110
+ STDERR.puts "Mapped (at #{sssoe}) #{inspect}"
111
111
  schedule_renew! if @maxlife.nil?
112
112
  end
113
113
 
@@ -1,3 +1,3 @@
1
1
  class NATPMP
2
- VERSION='0.9'
2
+ Version='0.9.1'
3
3
  end
metadata CHANGED
@@ -1,16 +1,56 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: natpmp
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.9'
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Townsend
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-11 00:00:00.000000000 Z
12
- dependencies: []
13
- description: Interface to NAT-PMP. Portable between Mac OS X and CentOS 5+.
11
+ date: 2014-03-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.3'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 4.3.2
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '4.3'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 4.3.2
33
+ - !ruby/object:Gem::Dependency
34
+ name: rake-compiler
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.9'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.9.2
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0.9'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.9.2
53
+ description: Client Interface to NAT Port Mapping Protocol
14
54
  email:
15
55
  - nick.townsend@mac.com
16
56
  executables:
@@ -18,12 +58,16 @@ executables:
18
58
  extensions: []
19
59
  extra_rdoc_files: []
20
60
  files:
61
+ - ".gemtest"
62
+ - Gemfile
63
+ - LICENSE
21
64
  - README.md
22
- - lib/natpmp.rb
65
+ - Rakefile
23
66
  - bin/natpmp
67
+ - lib/natpmp.rb
24
68
  - lib/natpmp/version.rb
25
69
  - test/test_natpmp.rb
26
- homepage: https://github.com/townsen/c-pod/
70
+ homepage: https://github.com/townsen/natpmp
27
71
  licenses:
28
72
  - MIT
29
73
  metadata: {}
@@ -33,19 +77,18 @@ require_paths:
33
77
  - lib
34
78
  required_ruby_version: !ruby/object:Gem::Requirement
35
79
  requirements:
36
- - - '>='
80
+ - - ">="
37
81
  - !ruby/object:Gem::Version
38
82
  version: 1.9.2
39
83
  required_rubygems_version: !ruby/object:Gem::Requirement
40
84
  requirements:
41
- - - '>='
85
+ - - ">="
42
86
  - !ruby/object:Gem::Version
43
87
  version: '0'
44
88
  requirements: []
45
89
  rubyforge_project:
46
- rubygems_version: 2.0.5
90
+ rubygems_version: 2.2.2
47
91
  signing_key:
48
92
  specification_version: 4
49
- summary: Encapsulate NAT-PMP protocol
50
- test_files:
51
- - test/test_natpmp.rb
93
+ summary: Client NAT-PMP protocol
94
+ test_files: []