net-dhcp 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/net-dhcp.gemspec ADDED
@@ -0,0 +1,35 @@
1
+ $:.push File.expand_path("../lib", __FILE__)
2
+ require 'net-dhcp/version'
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = 'net-dhcp'
6
+ s.version = Net::Dhcp::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.date = '2011-11-17'
9
+ s.authors = ['daniel martin gomez (etd)', 'syonbori', 'Mark J. Titorenko']
10
+ s.email = 'mark.titorenko@alces-software.com'
11
+ s.homepage = 'http://github.com/mjtko/net-dhcp'
12
+ s.summary = %Q{set of classes to low level handle the DHCP protocol}
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
+ s.extra_rdoc_files = [
15
+ 'LICENSE',
16
+ 'README',
17
+ ]
18
+
19
+ s.required_rubygems_version = Gem::Requirement.new('>= 1.3.7')
20
+ s.rubygems_version = '1.3.7'
21
+ s.specification_version = 3
22
+
23
+ s.files = `git ls-files`.split("\n")
24
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
25
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
26
+ s.require_paths = ['lib']
27
+
28
+ s.add_runtime_dependency 'pcap', '~> 0.7.0'
29
+ s.add_development_dependency 'rspec'
30
+ s.add_development_dependency 'bundler'
31
+ s.add_development_dependency 'bueller'
32
+ s.add_development_dependency 'rake'
33
+ s.add_development_dependency 'rcov'
34
+ end
35
+
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe NetDhcp do
4
+ it "fails" do
5
+ fail "hey buddy, you should probably rename this file and start specing for real"
6
+ end
7
+ end
@@ -0,0 +1,19 @@
1
+ require 'bundler'
2
+ begin
3
+ Bundler.setup
4
+ rescue Bundler::BundlerError => e
5
+ $stderr.puts e.message
6
+ $stderr.puts "Run `bundle install` to install missing gems"
7
+ exit e.status_code
8
+ end
9
+
10
+ require 'rspec'
11
+ require 'net-dhcp'
12
+
13
+ # Requires supporting files with custom matchers and macros, etc,
14
+ # in ./support/ and its subdirectories.
15
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
16
+
17
+ RSpec.configure do |config|
18
+
19
+ end
data/test/dhcp_test.rb ADDED
@@ -0,0 +1,71 @@
1
+ # dhcp_test.rb
2
+ # 4 de octubre de 2007
3
+ #
4
+
5
+ $:.unshift File.join(File.dirname(__FILE__),'..','lib')
6
+
7
+ require 'test/unit'
8
+
9
+ require 'dhcp'
10
+
11
+ class TestDhcp_test < Test::Unit::TestCase
12
+ # def setup
13
+ # end
14
+ #
15
+ # def teardown
16
+ # end
17
+
18
+ def test_packing
19
+ # assert_equal("foo", bar)
20
+
21
+ # assert, assert_block, assert_equal, assert_in_delta, assert_instance_of,
22
+ # assert_kind_of, assert_match, assert_nil, assert_no_match, assert_not_equal,
23
+ # assert_not_nil, assert_not_same, assert_nothing_raised, assert_nothing_thrown,
24
+ # assert_operator, assert_raise, assert_raises, assert_respond_to, assert_same,
25
+ # assert_send, assert_throws
26
+
27
+ d = DHCP::Discover.new
28
+ expected = [
29
+ d.op, d.htype, d.hlen, d.hops,
30
+ d.xid,
31
+ d.secs, d.flags,
32
+ d.ciaddr,
33
+ d.yiaddr,
34
+ d.siaddr,
35
+ d.giaddr,
36
+ ]
37
+ expected += d.chaddr
38
+ expected += [0x00]*192
39
+ expected << $DHCP_MAGIC
40
+
41
+ payload = d.pack
42
+
43
+ actual = payload.unpack('C4Nn2N4C16C192N')
44
+
45
+ assert_equal expected, actual, 'pack does not work'
46
+ end
47
+
48
+ def test_size
49
+ d = DHCP::Discover.new
50
+ payload = d.pack
51
+ assert_equal 300, payload.size, 'size of the payload does not match'
52
+ end
53
+
54
+ def test_eql?
55
+ d1 = DHCP::Discover.new
56
+ d2 = DHCP::Discover.new
57
+
58
+ assert_not_equal d1, d2, '.eql? two messages with different xid field are considered equal'
59
+ assert_equal true, d1.options.eql?(d1.options), 'eql? is not working for comparing option arrays'
60
+ end
61
+
62
+ def test_from_udp_payload
63
+ d1 = DHCP::Discover.new
64
+ d2 = DHCP::Message.from_udp_payload(d1.pack)
65
+
66
+ #assert_equal d1, d2, 'udp data is not correctly parsed'
67
+ puts d1.eql?(d2)
68
+ puts(d1 == d2)
69
+ end
70
+
71
+ end
metadata ADDED
@@ -0,0 +1,142 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: net-dhcp
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - daniel martin gomez (etd)
9
+ - syonbori
10
+ - Mark J. Titorenko
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2011-11-17 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: pcap
18
+ requirement: &70274399157680 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 0.7.0
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: *70274399157680
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: &70274399157220 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ! '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: *70274399157220
38
+ - !ruby/object:Gem::Dependency
39
+ name: bundler
40
+ requirement: &70274399156680 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ type: :development
47
+ prerelease: false
48
+ version_requirements: *70274399156680
49
+ - !ruby/object:Gem::Dependency
50
+ name: bueller
51
+ requirement: &70274399156240 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ type: :development
58
+ prerelease: false
59
+ version_requirements: *70274399156240
60
+ - !ruby/object:Gem::Dependency
61
+ name: rake
62
+ requirement: &70274399155780 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ! '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: *70274399155780
71
+ - !ruby/object:Gem::Dependency
72
+ name: rcov
73
+ requirement: &70274399155240 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: *70274399155240
82
+ description: The aim of Net::DHCP is to provide a set of classes to low level handle
83
+ the DHCP protocol (rfc2131, rfc2132, etc.). With Net::DHCP you will be able to craft
84
+ custom DHCP packages and have access to all the fields defined for the protocol.
85
+ email: mark.titorenko@alces-software.com
86
+ executables:
87
+ - net-dhcp
88
+ extensions: []
89
+ extra_rdoc_files:
90
+ - LICENSE
91
+ - README
92
+ files:
93
+ - .document
94
+ - .gitignore
95
+ - Gemfile
96
+ - LICENSE
97
+ - README
98
+ - README.etd.original
99
+ - Rakefile
100
+ - bin/net-dhcp
101
+ - lib/net-dhcp.rb
102
+ - lib/net-dhcp/version.rb
103
+ - lib/net/dhcp.rb
104
+ - lib/net/dhcp/constants.rb
105
+ - lib/net/dhcp/core.rb
106
+ - lib/net/dhcp/options.rb
107
+ - lib/net/dhcp/oui.txt
108
+ - net-dhcp.gemspec
109
+ - spec/net-dhcp_spec.rb
110
+ - spec/spec_helper.rb
111
+ - test/dhcp_test.rb
112
+ homepage: http://github.com/mjtko/net-dhcp
113
+ licenses: []
114
+ post_install_message:
115
+ rdoc_options: []
116
+ require_paths:
117
+ - lib
118
+ required_ruby_version: !ruby/object:Gem::Requirement
119
+ none: false
120
+ requirements:
121
+ - - ! '>='
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ segments:
125
+ - 0
126
+ hash: 518742913826632758
127
+ required_rubygems_version: !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: 1.3.7
133
+ requirements: []
134
+ rubyforge_project:
135
+ rubygems_version: 1.8.10
136
+ signing_key:
137
+ specification_version: 3
138
+ summary: set of classes to low level handle the DHCP protocol
139
+ test_files:
140
+ - spec/net-dhcp_spec.rb
141
+ - spec/spec_helper.rb
142
+ - test/dhcp_test.rb