From cdc902b3f20d09eb382a35b6300bb5cec7d41ce5 Mon Sep 17 00:00:00 2001 From: Pavel Novitskiy Date: Wed, 25 Dec 2013 22:53:55 +0400 Subject: fix raise calling --- lib/net/dhcp/core.rb | 4 ++-- lib/net/dhcp/options.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/net/dhcp/core.rb b/lib/net/dhcp/core.rb index b0266f9..ca5506a 100644 --- a/lib/net/dhcp/core.rb +++ b/lib/net/dhcp/core.rb @@ -108,7 +108,7 @@ module DHCP # message operation and options. We need at least an operation and a # MessageTypeOption to create a DHCP message!! if (([:op, :options] & params.keys).size != 2) - raise ArgumentError('you need to specify at least values for :op and :options') + raise ArgumentError, 'you need to specify at least values for :op and :options' end self.op = params[:op] @@ -119,7 +119,7 @@ module DHCP next unless opt.class == MessageTypeOption found = true end - raise ArgumentError(':options must include a MessageTypeOption') unless found + raise ArgumentError, ':options must include a MessageTypeOption' unless found #hardware type and length of the hardware address self.htype = params.fetch(:htype, $DHCP_HTYPE_ETHERNET) diff --git a/lib/net/dhcp/options.rb b/lib/net/dhcp/options.rb index d43481d..de47329 100644 --- a/lib/net/dhcp/options.rb +++ b/lib/net/dhcp/options.rb @@ -33,7 +33,7 @@ module DHCP def initialize(params = {}) # We need a type, and a payload if (([:type, :payload] & params.keys).size != 2) - raise ArgumentError('you need to specify values for :type and :payload') + raise ArgumentError, 'you need to specify values for :type and :payload' end self.type = params[:type] -- cgit v1.2.1 From 1d0317c50a5302005602a8e5aa58f073a69c4344 Mon Sep 17 00:00:00 2001 From: Pavel Novitskiy Date: Wed, 25 Dec 2013 23:22:02 +0400 Subject: fix payload for Discover --- lib/net/dhcp/options.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/net/dhcp/options.rb b/lib/net/dhcp/options.rb index d43481d..14c5856 100644 --- a/lib/net/dhcp/options.rb +++ b/lib/net/dhcp/options.rb @@ -44,7 +44,7 @@ module DHCP # Return the option packed as an array of bytes. The first two elements # are the type and length of this option. The payload follows afterwards. def to_a - return [self.type, self.len] + self.payload + return [self.type, self.len] + [self.payload] end # Return the option packed as a binary string. @@ -255,7 +255,7 @@ module DHCP #DEBUG def initialize(params={}) params[:type] = $DHCP_MESSAGETYPE - params[:payload] = params.fetch(:payload, [$DHCP_MSG_DISCOVER]) + params[:payload] = params.fetch(:payload, $DHCP_MSG_DISCOVER) super(params) end -- cgit v1.2.1 From 09b7cbefabaf9ed17f85e717c867d77866e8572f Mon Sep 17 00:00:00 2001 From: Pavel Novitskiy Date: Wed, 25 Dec 2013 23:54:45 +0400 Subject: wrap payload into array instead of change to_a --- lib/net/dhcp/core.rb | 8 ++++---- lib/net/dhcp/options.rb | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/net/dhcp/core.rb b/lib/net/dhcp/core.rb index b0266f9..7b8fbdb 100644 --- a/lib/net/dhcp/core.rb +++ b/lib/net/dhcp/core.rb @@ -293,7 +293,7 @@ module DHCP class Request < Message def initialize(params={}) params[:op] = $DHCP_OP_REQUEST - params[:options] = params.fetch(:options, [MessageTypeOption.new({:payload=>$DHCP_MSG_REQUEST}), ParameterRequestListOption.new]) + params[:options] = params.fetch(:options, [MessageTypeOption.new({:payload=>[$DHCP_MSG_REQUEST]}), ParameterRequestListOption.new]) super(params) end end @@ -311,7 +311,7 @@ module DHCP def initialize(params={}) params[:op] = $DHCP_OP_REPLY params[:options] = params.fetch(:options, [ - MessageTypeOption.new({:payload=>$DHCP_MSG_ACK}), + MessageTypeOption.new({:payload=>[$DHCP_MSG_ACK]}), ServerIdentifierOption.new, DomainNameOption.new ]) @@ -331,7 +331,7 @@ module DHCP def initialize(params={}) params[:op] = $DHCP_OP_REQUEST params[:options] = params.fetch(:options, [ - MessageTypeOption.new({:payload=>$DHCP_MSG_RELEASE}), + MessageTypeOption.new({:payload=>[$DHCP_MSG_RELEASE]}), ServerIdentifierOption.new ]) super(params) @@ -343,7 +343,7 @@ module DHCP class Inform < Message def initialize(params={}) params[:op] = $DHCP_OP_REQUEST - params[:options] = params.fetch(:options, [MessageTypeOption.new({:payload=>$DHCP_MSG_INFORM}), ParameterRequestListOption.new]) + params[:options] = params.fetch(:options, [MessageTypeOption.new({:payload=>[$DHCP_MSG_INFORM]}), ParameterRequestListOption.new]) super(params) end end diff --git a/lib/net/dhcp/options.rb b/lib/net/dhcp/options.rb index 14c5856..d43481d 100644 --- a/lib/net/dhcp/options.rb +++ b/lib/net/dhcp/options.rb @@ -44,7 +44,7 @@ module DHCP # Return the option packed as an array of bytes. The first two elements # are the type and length of this option. The payload follows afterwards. def to_a - return [self.type, self.len] + [self.payload] + return [self.type, self.len] + self.payload end # Return the option packed as a binary string. @@ -255,7 +255,7 @@ module DHCP #DEBUG def initialize(params={}) params[:type] = $DHCP_MESSAGETYPE - params[:payload] = params.fetch(:payload, $DHCP_MSG_DISCOVER) + params[:payload] = params.fetch(:payload, [$DHCP_MSG_DISCOVER]) super(params) end -- cgit v1.2.1 From 580f3766bd574f3d9d8d0cbd8815c80204970b97 Mon Sep 17 00:00:00 2001 From: "Mark J. Titorenko" Date: Thu, 2 Jan 2014 10:42:51 +0000 Subject: Prepare for release of v1.2.0 --- CHANGELOG | 8 +++++++- net-dhcp.gemspec | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 0bff925..1fb428c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,9 @@ +*1.2.0 + +* Fix Array handling for message payloads [presto53] +* Use a raise syntax that isn't archaic [presto53] +* Depend on simplecov rather than rcov for Ruby 1.9+ compat [mjtko] + *1.1.1 * Replace incorrect equality check with assignment in Message#from_udp_payload to correct behaviour when an unrecognised option or message is encountered [mjtko] @@ -20,4 +26,4 @@ *1.0.0 -* Initial release to rubygems - originally authored by etd, migrated to github by syonbori, gemified by mjtko. [mjtko] \ No newline at end of file +* Initial release to rubygems - originally authored by etd, migrated to github by syonbori, gemified by mjtko. [mjtko] diff --git a/net-dhcp.gemspec b/net-dhcp.gemspec index e8f60db..afd455c 100644 --- a/net-dhcp.gemspec +++ b/net-dhcp.gemspec @@ -5,7 +5,7 @@ Gem::Specification.new do |s| s.name = 'net-dhcp' s.version = Net::Dhcp::VERSION s.platform = Gem::Platform::RUBY - s.date = "2012-01-21" + s.date = "2014-01-02" s.authors = ['daniel martin gomez (etd)', 'syonbori', 'Mark J. Titorenko'] s.email = 'mark.titorenko@alces-software.com' s.homepage = 'http://github.com/mjtko/net-dhcp-ruby' @@ -30,7 +30,7 @@ Gem::Specification.new do |s| s.add_development_dependency 'bundler' s.add_development_dependency 'bueller' s.add_development_dependency 'rake' - s.add_development_dependency 'rcov' + s.add_development_dependency 'simplecov' s.add_development_dependency 'rdoc' end -- cgit v1.2.1 From ed6c8826cb565fff712e72888112623a383016ce Mon Sep 17 00:00:00 2001 From: "Mark J. Titorenko" Date: Thu, 2 Jan 2014 10:43:12 +0000 Subject: Version bump to 1.2.0 --- lib/net-dhcp/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/net-dhcp/version.rb b/lib/net-dhcp/version.rb index 49af37d..32d72b8 100644 --- a/lib/net-dhcp/version.rb +++ b/lib/net-dhcp/version.rb @@ -1,5 +1,5 @@ module Net module Dhcp - VERSION = "1.1.1" + VERSION = "1.2.0" end end -- cgit v1.2.1