net-dhcp 1.0.2 → 1.1.0
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.
- data/.document +2 -0
- data/CHANGELOG +4 -0
- data/lib/net-dhcp/version.rb +1 -1
- data/lib/net/dhcp/core.rb +1 -1
- data/lib/net/dhcp/options.rb +25 -3
- data/net-dhcp.gemspec +3 -2
- metadata +15 -14
data/.document
CHANGED
data/CHANGELOG
CHANGED
data/lib/net-dhcp/version.rb
CHANGED
data/lib/net/dhcp/core.rb
CHANGED
@@ -205,7 +205,7 @@ module DHCP
|
|
205
205
|
def to_s
|
206
206
|
out = "DHCP Message\r\n"
|
207
207
|
out << "\tFIELDS:\r\n"
|
208
|
-
out << "\t\tTransaction ID = #{self.xid}\r\n"
|
208
|
+
out << "\t\tTransaction ID = 0x#{self.xid.to_s(16)}\r\n"
|
209
209
|
out << "\t\tClient IP address = #{[self.ciaddr].pack('N').unpack('C4').join('.')}\r\n"
|
210
210
|
out << "\t\tYour IP address = #{[self.yiaddr].pack('N').unpack('C4').join('.')}\r\n"
|
211
211
|
out << "\t\tNext server IP address = #{[self.siaddr].pack('N').unpack('C4').join('.')}\r\n"
|
data/lib/net/dhcp/options.rb
CHANGED
@@ -172,6 +172,25 @@ module DHCP
|
|
172
172
|
end
|
173
173
|
end
|
174
174
|
|
175
|
+
# This option specifies the broadcast address in use on the client's
|
176
|
+
# subnet. Legal values for broadcast addresses are specified in
|
177
|
+
# section 3.2.1.3 of [4].
|
178
|
+
#
|
179
|
+
# The code for this option is 28, and its length is 4.
|
180
|
+
#
|
181
|
+
# The default value for this option is 255.255.255.255
|
182
|
+
class BroadcastAddressOption < Option
|
183
|
+
def initialize(params={})
|
184
|
+
params[:type] = $DHCP_BROADCASTADDR
|
185
|
+
params[:payload] = params.fetch(:payload, [255, 255, 255, 255])
|
186
|
+
super(params)
|
187
|
+
end
|
188
|
+
|
189
|
+
def to_s()
|
190
|
+
"Broadcast Adress = #{self.payload.join('.')}"
|
191
|
+
end
|
192
|
+
end
|
193
|
+
|
175
194
|
# This option is used in a client request (DHCPDISCOVER) to allow the
|
176
195
|
# client to request that a particular IP address be assigned.
|
177
196
|
#
|
@@ -209,7 +228,10 @@ module DHCP
|
|
209
228
|
end
|
210
229
|
|
211
230
|
def to_s()
|
212
|
-
|
231
|
+
value = self.payload.pack('C*').unpack('N').first
|
232
|
+
value = "infinite" if value == 0xffffffff
|
233
|
+
|
234
|
+
"IP Address Lease Time = #{value} seg"
|
213
235
|
end
|
214
236
|
end
|
215
237
|
|
@@ -289,7 +311,7 @@ module DHCP
|
|
289
311
|
end
|
290
312
|
|
291
313
|
def to_s
|
292
|
-
"Parameter Request List = #{self.payload}"
|
314
|
+
"Parameter Request List = #{self.payload.join(',')}"
|
293
315
|
end
|
294
316
|
end
|
295
317
|
|
@@ -561,7 +583,7 @@ module DHCP
|
|
561
583
|
$DHCP_MTUTABLE => Option,
|
562
584
|
$DHCP_MTUSIZE => Option,
|
563
585
|
$DHCP_LOCALSUBNETS => Option,
|
564
|
-
$DHCP_BROADCASTADDR =>
|
586
|
+
$DHCP_BROADCASTADDR => BroadcastAddressOption,
|
565
587
|
$DHCP_DOMASKDISCOV => Option,
|
566
588
|
$DHCP_MASKSUPPLY => Option,
|
567
589
|
$DHCP_DOROUTEDISC => Option,
|
data/net-dhcp.gemspec
CHANGED
@@ -5,15 +5,16 @@ Gem::Specification.new do |s|
|
|
5
5
|
s.name = 'net-dhcp'
|
6
6
|
s.version = Net::Dhcp::VERSION
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
|
-
s.date = "2011-12-
|
8
|
+
s.date = "2011-12-08"
|
9
9
|
s.authors = ['daniel martin gomez (etd)', 'syonbori', 'Mark J. Titorenko']
|
10
10
|
s.email = 'mark.titorenko@alces-software.com'
|
11
|
-
s.homepage = 'http://github.com/mjtko/net-dhcp'
|
11
|
+
s.homepage = 'http://github.com/mjtko/net-dhcp-ruby'
|
12
12
|
s.summary = %Q{set of classes to low level handle the DHCP protocol}
|
13
13
|
s.description = %Q{The aim of Net::DHCP is to provide a set of classes to low level handle the DHCP protocol (rfc2131, rfc2132, etc.). With Net::DHCP you will be able to craft custom DHCP packages and have access to all the fields defined for the protocol.}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
'LICENSE',
|
16
16
|
'README',
|
17
|
+
'CHANGELOG'
|
17
18
|
]
|
18
19
|
|
19
20
|
s.required_rubygems_version = Gem::Requirement.new('>= 1.3.7')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-dhcp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2011-12-
|
14
|
+
date: 2011-12-08 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rspec
|
18
|
-
requirement: &
|
18
|
+
requirement: &70241335055920 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '0'
|
24
24
|
type: :development
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *70241335055920
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
|
-
requirement: &
|
29
|
+
requirement: &70241335055440 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ! '>='
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: '0'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *70241335055440
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: bueller
|
40
|
-
requirement: &
|
40
|
+
requirement: &70241335054900 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
@@ -45,10 +45,10 @@ dependencies:
|
|
45
45
|
version: '0'
|
46
46
|
type: :development
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *70241335054900
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: rake
|
51
|
-
requirement: &
|
51
|
+
requirement: &70241335054440 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
54
54
|
- - ! '>='
|
@@ -56,10 +56,10 @@ dependencies:
|
|
56
56
|
version: '0'
|
57
57
|
type: :development
|
58
58
|
prerelease: false
|
59
|
-
version_requirements: *
|
59
|
+
version_requirements: *70241335054440
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: rcov
|
62
|
-
requirement: &
|
62
|
+
requirement: &70241335054000 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
65
65
|
- - ! '>='
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
version: '0'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
|
-
version_requirements: *
|
70
|
+
version_requirements: *70241335054000
|
71
71
|
description: The aim of Net::DHCP is to provide a set of classes to low level handle
|
72
72
|
the DHCP protocol (rfc2131, rfc2132, etc.). With Net::DHCP you will be able to craft
|
73
73
|
custom DHCP packages and have access to all the fields defined for the protocol.
|
@@ -78,6 +78,7 @@ extensions: []
|
|
78
78
|
extra_rdoc_files:
|
79
79
|
- LICENSE
|
80
80
|
- README
|
81
|
+
- CHANGELOG
|
81
82
|
files:
|
82
83
|
- .document
|
83
84
|
- .gitignore
|
@@ -99,7 +100,7 @@ files:
|
|
99
100
|
- spec/net-dhcp_spec.rb
|
100
101
|
- spec/spec_helper.rb
|
101
102
|
- test/dhcp_test.rb
|
102
|
-
homepage: http://github.com/mjtko/net-dhcp
|
103
|
+
homepage: http://github.com/mjtko/net-dhcp-ruby
|
103
104
|
licenses: []
|
104
105
|
post_install_message:
|
105
106
|
rdoc_options: []
|
@@ -113,7 +114,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
113
114
|
version: '0'
|
114
115
|
segments:
|
115
116
|
- 0
|
116
|
-
hash:
|
117
|
+
hash: 2925178242952011714
|
117
118
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
119
|
none: false
|
119
120
|
requirements:
|