lib-dhcp 0.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.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.travis.yml +13 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +21 -0
- data/README.md +33 -0
- data/Rakefile +10 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/exe/dhcp_dump +83 -0
- data/lib-dhcp.gemspec +31 -0
- data/lib/lib/dhcp.rb +276 -0
- data/lib/lib/dhcp/exception.rb +34 -0
- data/lib/lib/dhcp/messages/ack.rb +65 -0
- data/lib/lib/dhcp/messages/decline.rb +77 -0
- data/lib/lib/dhcp/messages/discover.rb +70 -0
- data/lib/lib/dhcp/messages/inform.rb +64 -0
- data/lib/lib/dhcp/messages/lease_active.rb +65 -0
- data/lib/lib/dhcp/messages/lease_query.rb +64 -0
- data/lib/lib/dhcp/messages/lease_unassigned.rb +64 -0
- data/lib/lib/dhcp/messages/lease_unknown.rb +64 -0
- data/lib/lib/dhcp/messages/message.rb +285 -0
- data/lib/lib/dhcp/messages/nack.rb +64 -0
- data/lib/lib/dhcp/messages/offer.rb +74 -0
- data/lib/lib/dhcp/messages/release.rb +64 -0
- data/lib/lib/dhcp/messages/request.rb +71 -0
- data/lib/lib/dhcp/options.rb +73 -0
- data/lib/lib/dhcp/options/option.rb +249 -0
- data/lib/lib/dhcp/options/option0.rb +34 -0
- data/lib/lib/dhcp/options/option1.rb +24 -0
- data/lib/lib/dhcp/options/option10.rb +20 -0
- data/lib/lib/dhcp/options/option100.rb +17 -0
- data/lib/lib/dhcp/options/option101.rb +17 -0
- data/lib/lib/dhcp/options/option102.rb +17 -0
- data/lib/lib/dhcp/options/option103.rb +17 -0
- data/lib/lib/dhcp/options/option104.rb +17 -0
- data/lib/lib/dhcp/options/option105.rb +17 -0
- data/lib/lib/dhcp/options/option106.rb +17 -0
- data/lib/lib/dhcp/options/option107.rb +17 -0
- data/lib/lib/dhcp/options/option108.rb +17 -0
- data/lib/lib/dhcp/options/option109.rb +17 -0
- data/lib/lib/dhcp/options/option11.rb +20 -0
- data/lib/lib/dhcp/options/option110.rb +17 -0
- data/lib/lib/dhcp/options/option111.rb +17 -0
- data/lib/lib/dhcp/options/option112.rb +17 -0
- data/lib/lib/dhcp/options/option113.rb +17 -0
- data/lib/lib/dhcp/options/option114.rb +17 -0
- data/lib/lib/dhcp/options/option115.rb +17 -0
- data/lib/lib/dhcp/options/option116.rb +17 -0
- data/lib/lib/dhcp/options/option117.rb +17 -0
- data/lib/lib/dhcp/options/option118.rb +17 -0
- data/lib/lib/dhcp/options/option119.rb +17 -0
- data/lib/lib/dhcp/options/option12.rb +20 -0
- data/lib/lib/dhcp/options/option120.rb +17 -0
- data/lib/lib/dhcp/options/option121.rb +17 -0
- data/lib/lib/dhcp/options/option122.rb +341 -0
- data/lib/lib/dhcp/options/option123.rb +17 -0
- data/lib/lib/dhcp/options/option124.rb +17 -0
- data/lib/lib/dhcp/options/option125.rb +17 -0
- data/lib/lib/dhcp/options/option126.rb +17 -0
- data/lib/lib/dhcp/options/option127.rb +17 -0
- data/lib/lib/dhcp/options/option128.rb +17 -0
- data/lib/lib/dhcp/options/option129.rb +17 -0
- data/lib/lib/dhcp/options/option13.rb +43 -0
- data/lib/lib/dhcp/options/option130.rb +17 -0
- data/lib/lib/dhcp/options/option131.rb +17 -0
- data/lib/lib/dhcp/options/option132.rb +17 -0
- data/lib/lib/dhcp/options/option133.rb +17 -0
- data/lib/lib/dhcp/options/option134.rb +17 -0
- data/lib/lib/dhcp/options/option135.rb +17 -0
- data/lib/lib/dhcp/options/option136.rb +17 -0
- data/lib/lib/dhcp/options/option137.rb +17 -0
- data/lib/lib/dhcp/options/option138.rb +17 -0
- data/lib/lib/dhcp/options/option139.rb +17 -0
- data/lib/lib/dhcp/options/option14.rb +21 -0
- data/lib/lib/dhcp/options/option140.rb +17 -0
- data/lib/lib/dhcp/options/option141.rb +17 -0
- data/lib/lib/dhcp/options/option142.rb +17 -0
- data/lib/lib/dhcp/options/option143.rb +17 -0
- data/lib/lib/dhcp/options/option144.rb +17 -0
- data/lib/lib/dhcp/options/option145.rb +17 -0
- data/lib/lib/dhcp/options/option146.rb +17 -0
- data/lib/lib/dhcp/options/option147.rb +17 -0
- data/lib/lib/dhcp/options/option148.rb +17 -0
- data/lib/lib/dhcp/options/option149.rb +17 -0
- data/lib/lib/dhcp/options/option15.rb +20 -0
- data/lib/lib/dhcp/options/option150.rb +17 -0
- data/lib/lib/dhcp/options/option151.rb +17 -0
- data/lib/lib/dhcp/options/option152.rb +17 -0
- data/lib/lib/dhcp/options/option153.rb +17 -0
- data/lib/lib/dhcp/options/option154.rb +17 -0
- data/lib/lib/dhcp/options/option155.rb +17 -0
- data/lib/lib/dhcp/options/option156.rb +17 -0
- data/lib/lib/dhcp/options/option157.rb +17 -0
- data/lib/lib/dhcp/options/option158.rb +17 -0
- data/lib/lib/dhcp/options/option159.rb +17 -0
- data/lib/lib/dhcp/options/option16.rb +19 -0
- data/lib/lib/dhcp/options/option160.rb +17 -0
- data/lib/lib/dhcp/options/option161.rb +17 -0
- data/lib/lib/dhcp/options/option162.rb +17 -0
- data/lib/lib/dhcp/options/option163.rb +17 -0
- data/lib/lib/dhcp/options/option164.rb +17 -0
- data/lib/lib/dhcp/options/option165.rb +17 -0
- data/lib/lib/dhcp/options/option166.rb +17 -0
- data/lib/lib/dhcp/options/option167.rb +17 -0
- data/lib/lib/dhcp/options/option168.rb +17 -0
- data/lib/lib/dhcp/options/option169.rb +17 -0
- data/lib/lib/dhcp/options/option17.rb +22 -0
- data/lib/lib/dhcp/options/option170.rb +17 -0
- data/lib/lib/dhcp/options/option171.rb +17 -0
- data/lib/lib/dhcp/options/option172.rb +17 -0
- data/lib/lib/dhcp/options/option173.rb +17 -0
- data/lib/lib/dhcp/options/option174.rb +17 -0
- data/lib/lib/dhcp/options/option175.rb +17 -0
- data/lib/lib/dhcp/options/option176.rb +17 -0
- data/lib/lib/dhcp/options/option177.rb +17 -0
- data/lib/lib/dhcp/options/option178.rb +17 -0
- data/lib/lib/dhcp/options/option179.rb +17 -0
- data/lib/lib/dhcp/options/option18.rb +23 -0
- data/lib/lib/dhcp/options/option180.rb +17 -0
- data/lib/lib/dhcp/options/option181.rb +17 -0
- data/lib/lib/dhcp/options/option182.rb +17 -0
- data/lib/lib/dhcp/options/option183.rb +17 -0
- data/lib/lib/dhcp/options/option184.rb +17 -0
- data/lib/lib/dhcp/options/option185.rb +17 -0
- data/lib/lib/dhcp/options/option186.rb +17 -0
- data/lib/lib/dhcp/options/option187.rb +17 -0
- data/lib/lib/dhcp/options/option188.rb +17 -0
- data/lib/lib/dhcp/options/option189.rb +17 -0
- data/lib/lib/dhcp/options/option19.rb +20 -0
- data/lib/lib/dhcp/options/option190.rb +17 -0
- data/lib/lib/dhcp/options/option191.rb +17 -0
- data/lib/lib/dhcp/options/option192.rb +17 -0
- data/lib/lib/dhcp/options/option193.rb +17 -0
- data/lib/lib/dhcp/options/option194.rb +17 -0
- data/lib/lib/dhcp/options/option195.rb +17 -0
- data/lib/lib/dhcp/options/option196.rb +17 -0
- data/lib/lib/dhcp/options/option197.rb +17 -0
- data/lib/lib/dhcp/options/option198.rb +17 -0
- data/lib/lib/dhcp/options/option199.rb +17 -0
- data/lib/lib/dhcp/options/option2.rb +45 -0
- data/lib/lib/dhcp/options/option20.rb +22 -0
- data/lib/lib/dhcp/options/option200.rb +17 -0
- data/lib/lib/dhcp/options/option201.rb +17 -0
- data/lib/lib/dhcp/options/option202.rb +17 -0
- data/lib/lib/dhcp/options/option203.rb +17 -0
- data/lib/lib/dhcp/options/option204.rb +17 -0
- data/lib/lib/dhcp/options/option205.rb +17 -0
- data/lib/lib/dhcp/options/option206.rb +17 -0
- data/lib/lib/dhcp/options/option207.rb +17 -0
- data/lib/lib/dhcp/options/option208.rb +17 -0
- data/lib/lib/dhcp/options/option209.rb +17 -0
- data/lib/lib/dhcp/options/option21.rb +87 -0
- data/lib/lib/dhcp/options/option210.rb +17 -0
- data/lib/lib/dhcp/options/option211.rb +17 -0
- data/lib/lib/dhcp/options/option212.rb +17 -0
- data/lib/lib/dhcp/options/option213.rb +17 -0
- data/lib/lib/dhcp/options/option214.rb +17 -0
- data/lib/lib/dhcp/options/option215.rb +17 -0
- data/lib/lib/dhcp/options/option216.rb +17 -0
- data/lib/lib/dhcp/options/option217.rb +17 -0
- data/lib/lib/dhcp/options/option218.rb +17 -0
- data/lib/lib/dhcp/options/option219.rb +17 -0
- data/lib/lib/dhcp/options/option22.rb +43 -0
- data/lib/lib/dhcp/options/option220.rb +17 -0
- data/lib/lib/dhcp/options/option221.rb +17 -0
- data/lib/lib/dhcp/options/option222.rb +17 -0
- data/lib/lib/dhcp/options/option223.rb +17 -0
- data/lib/lib/dhcp/options/option224.rb +17 -0
- data/lib/lib/dhcp/options/option225.rb +17 -0
- data/lib/lib/dhcp/options/option226.rb +17 -0
- data/lib/lib/dhcp/options/option227.rb +17 -0
- data/lib/lib/dhcp/options/option228.rb +17 -0
- data/lib/lib/dhcp/options/option229.rb +17 -0
- data/lib/lib/dhcp/options/option23.rb +44 -0
- data/lib/lib/dhcp/options/option230.rb +17 -0
- data/lib/lib/dhcp/options/option231.rb +17 -0
- data/lib/lib/dhcp/options/option232.rb +17 -0
- data/lib/lib/dhcp/options/option233.rb +17 -0
- data/lib/lib/dhcp/options/option234.rb +17 -0
- data/lib/lib/dhcp/options/option235.rb +17 -0
- data/lib/lib/dhcp/options/option236.rb +17 -0
- data/lib/lib/dhcp/options/option237.rb +17 -0
- data/lib/lib/dhcp/options/option238.rb +17 -0
- data/lib/lib/dhcp/options/option239.rb +17 -0
- data/lib/lib/dhcp/options/option24.rb +45 -0
- data/lib/lib/dhcp/options/option240.rb +17 -0
- data/lib/lib/dhcp/options/option241.rb +17 -0
- data/lib/lib/dhcp/options/option242.rb +17 -0
- data/lib/lib/dhcp/options/option243.rb +17 -0
- data/lib/lib/dhcp/options/option244.rb +17 -0
- data/lib/lib/dhcp/options/option245.rb +17 -0
- data/lib/lib/dhcp/options/option246.rb +17 -0
- data/lib/lib/dhcp/options/option247.rb +17 -0
- data/lib/lib/dhcp/options/option248.rb +17 -0
- data/lib/lib/dhcp/options/option249.rb +17 -0
- data/lib/lib/dhcp/options/option25.rb +20 -0
- data/lib/lib/dhcp/options/option250.rb +17 -0
- data/lib/lib/dhcp/options/option251.rb +17 -0
- data/lib/lib/dhcp/options/option252.rb +17 -0
- data/lib/lib/dhcp/options/option253.rb +17 -0
- data/lib/lib/dhcp/options/option254.rb +17 -0
- data/lib/lib/dhcp/options/option255.rb +29 -0
- data/lib/lib/dhcp/options/option26.rb +45 -0
- data/lib/lib/dhcp/options/option27.rb +16 -0
- data/lib/lib/dhcp/options/option28.rb +21 -0
- data/lib/lib/dhcp/options/option29.rb +16 -0
- data/lib/lib/dhcp/options/option3.rb +22 -0
- data/lib/lib/dhcp/options/option30.rb +16 -0
- data/lib/lib/dhcp/options/option31.rb +16 -0
- data/lib/lib/dhcp/options/option32.rb +18 -0
- data/lib/lib/dhcp/options/option33.rb +20 -0
- data/lib/lib/dhcp/options/option34.rb +16 -0
- data/lib/lib/dhcp/options/option35.rb +43 -0
- data/lib/lib/dhcp/options/option36.rb +16 -0
- data/lib/lib/dhcp/options/option37.rb +43 -0
- data/lib/lib/dhcp/options/option38.rb +43 -0
- data/lib/lib/dhcp/options/option39.rb +16 -0
- data/lib/lib/dhcp/options/option4.rb +21 -0
- data/lib/lib/dhcp/options/option40.rb +18 -0
- data/lib/lib/dhcp/options/option41.rb +18 -0
- data/lib/lib/dhcp/options/option42.rb +22 -0
- data/lib/lib/dhcp/options/option43.rb +16 -0
- data/lib/lib/dhcp/options/option44.rb +17 -0
- data/lib/lib/dhcp/options/option45.rb +18 -0
- data/lib/lib/dhcp/options/option46.rb +43 -0
- data/lib/lib/dhcp/options/option47.rb +17 -0
- data/lib/lib/dhcp/options/option48.rb +17 -0
- data/lib/lib/dhcp/options/option49.rb +17 -0
- data/lib/lib/dhcp/options/option5.rb +23 -0
- data/lib/lib/dhcp/options/option50.rb +16 -0
- data/lib/lib/dhcp/options/option51.rb +43 -0
- data/lib/lib/dhcp/options/option52.rb +45 -0
- data/lib/lib/dhcp/options/option53.rb +50 -0
- data/lib/lib/dhcp/options/option54.rb +16 -0
- data/lib/lib/dhcp/options/option55.rb +52 -0
- data/lib/lib/dhcp/options/option56.rb +20 -0
- data/lib/lib/dhcp/options/option57.rb +52 -0
- data/lib/lib/dhcp/options/option58.rb +45 -0
- data/lib/lib/dhcp/options/option59.rb +45 -0
- data/lib/lib/dhcp/options/option6.rb +23 -0
- data/lib/lib/dhcp/options/option60.rb +16 -0
- data/lib/lib/dhcp/options/option61.rb +37 -0
- data/lib/lib/dhcp/options/option62.rb +16 -0
- data/lib/lib/dhcp/options/option63.rb +16 -0
- data/lib/lib/dhcp/options/option64.rb +20 -0
- data/lib/lib/dhcp/options/option65.rb +17 -0
- data/lib/lib/dhcp/options/option66.rb +20 -0
- data/lib/lib/dhcp/options/option67.rb +20 -0
- data/lib/lib/dhcp/options/option68.rb +19 -0
- data/lib/lib/dhcp/options/option69.rb +17 -0
- data/lib/lib/dhcp/options/option7.rb +22 -0
- data/lib/lib/dhcp/options/option70.rb +17 -0
- data/lib/lib/dhcp/options/option71.rb +17 -0
- data/lib/lib/dhcp/options/option72.rb +17 -0
- data/lib/lib/dhcp/options/option73.rb +17 -0
- data/lib/lib/dhcp/options/option74.rb +17 -0
- data/lib/lib/dhcp/options/option75.rb +17 -0
- data/lib/lib/dhcp/options/option76.rb +17 -0
- data/lib/lib/dhcp/options/option77.rb +16 -0
- data/lib/lib/dhcp/options/option78.rb +16 -0
- data/lib/lib/dhcp/options/option79.rb +16 -0
- data/lib/lib/dhcp/options/option8.rb +22 -0
- data/lib/lib/dhcp/options/option80.rb +16 -0
- data/lib/lib/dhcp/options/option81.rb +16 -0
- data/lib/lib/dhcp/options/option82.rb +20 -0
- data/lib/lib/dhcp/options/option83.rb +16 -0
- data/lib/lib/dhcp/options/option84.rb +16 -0
- data/lib/lib/dhcp/options/option85.rb +16 -0
- data/lib/lib/dhcp/options/option86.rb +17 -0
- data/lib/lib/dhcp/options/option87.rb +16 -0
- data/lib/lib/dhcp/options/option88.rb +16 -0
- data/lib/lib/dhcp/options/option89.rb +16 -0
- data/lib/lib/dhcp/options/option9.rb +21 -0
- data/lib/lib/dhcp/options/option90.rb +16 -0
- data/lib/lib/dhcp/options/option91.rb +17 -0
- data/lib/lib/dhcp/options/option92.rb +17 -0
- data/lib/lib/dhcp/options/option93.rb +17 -0
- data/lib/lib/dhcp/options/option94.rb +17 -0
- data/lib/lib/dhcp/options/option95.rb +17 -0
- data/lib/lib/dhcp/options/option96.rb +17 -0
- data/lib/lib/dhcp/options/option97.rb +17 -0
- data/lib/lib/dhcp/options/option98.rb +17 -0
- data/lib/lib/dhcp/options/option99.rb +17 -0
- data/lib/lib/dhcp/options/sub_option.rb +32 -0
- data/lib/lib/dhcp/options/type/bool.rb +55 -0
- data/lib/lib/dhcp/options/type/ip_address.rb +73 -0
- data/lib/lib/dhcp/options/type/ip_array.rb +41 -0
- data/lib/lib/dhcp/options/type/netmask.rb +56 -0
- data/lib/lib/dhcp/options/type/raw.rb +51 -0
- data/lib/lib/dhcp/options/type/string.rb +49 -0
- data/lib/lib/dhcp/options/type/sub_option.rb +83 -0
- data/lib/lib/dhcp/packet.rb +96 -0
- data/lib/lib/dhcp/version.rb +5 -0
- metadata +409 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option187 < Option
|
13
|
+
#TODO Option187
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option188 < Option
|
13
|
+
#TODO Option188
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option189 < Option
|
13
|
+
#TODO Option189
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 22.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
require_relative 'option'
|
7
|
+
require_relative 'type/bool'
|
8
|
+
|
9
|
+
module Lib
|
10
|
+
module DHCP
|
11
|
+
class Option19 < Option
|
12
|
+
# IP Forwarding Enable/Disable Option, The code for this option is 19, and its length is 1.
|
13
|
+
|
14
|
+
include Type::BOOL
|
15
|
+
|
16
|
+
alias_method :ip_forward, :payload
|
17
|
+
alias_method :ip_forward=, :payload=
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option190 < Option
|
13
|
+
#TODO Option190
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option191 < Option
|
13
|
+
#TODO Option191
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option192 < Option
|
13
|
+
#TODO Option192
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option193 < Option
|
13
|
+
#TODO Option193
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option194 < Option
|
13
|
+
#TODO Option194
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option195 < Option
|
13
|
+
#TODO Option195
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option196 < Option
|
13
|
+
#TODO Option196
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option197 < Option
|
13
|
+
#TODO Option197
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option198 < Option
|
13
|
+
#TODO Option198
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option199 < Option
|
13
|
+
#TODO Option199
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 21.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
require 'lib/dhcp/options/option'
|
6
|
+
|
7
|
+
module Lib
|
8
|
+
module DHCP
|
9
|
+
class Option2 < Option
|
10
|
+
# Time Offset length is 4 octets
|
11
|
+
|
12
|
+
def_delegators :@payload, :to_s
|
13
|
+
|
14
|
+
def initialize(time_offset)
|
15
|
+
super TIME_OFFSET, time_offset.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
def time_offset=(time_offset)
|
19
|
+
raise ArgumentError, "TIME OFFSET out of range - #{time_offset}" if time_offset.to_i > 0xffffffff
|
20
|
+
@payload = time_offset.to_i
|
21
|
+
end
|
22
|
+
|
23
|
+
def pack
|
24
|
+
[TIME_OFFSET, 4, @payload].pack('C2N')
|
25
|
+
end
|
26
|
+
|
27
|
+
def len
|
28
|
+
4
|
29
|
+
end
|
30
|
+
|
31
|
+
alias_method :time_offset, :payload
|
32
|
+
alias_method :payload=, :time_offset=
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def self.unpack(oid, len, payload)
|
37
|
+
raise ArgumentError, "OID Mismatch for TIME OFFSET Option - #{oid}" unless oid.to_i == TIME_OFFSET
|
38
|
+
raise ArgumentError, "Wrong TIME OFFSET Option length - #{len}" unless len == 4
|
39
|
+
time_offset = payload.to_s.unpack('N').first
|
40
|
+
raise ArgumentError, "TIME OFFSET out of range - #{time_offset}" if time_offset.to_i > 0xffffffff
|
41
|
+
self.new time_offset
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 22.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
require_relative 'option'
|
7
|
+
require_relative 'type/bool'
|
8
|
+
|
9
|
+
module Lib
|
10
|
+
module DHCP
|
11
|
+
class Option20 < Option
|
12
|
+
# Non-Local Source Routing Enable/Disable Option The code for this option is 20, and its length is 1.
|
13
|
+
|
14
|
+
include Type::BOOL
|
15
|
+
|
16
|
+
alias_method :non_local_routing, :payload
|
17
|
+
alias_method :src_route, :payload
|
18
|
+
alias_method :non_local_routing=, :payload=
|
19
|
+
alias_method :src_route=, :payload=
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option200 < Option
|
13
|
+
#TODO Option200
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option201 < Option
|
13
|
+
#TODO Option201
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option202 < Option
|
13
|
+
#TODO Option202
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option203 < Option
|
13
|
+
#TODO Option203
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option204 < Option
|
13
|
+
#TODO Option204
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#Author: Piotr Wojcieszonek
|
2
|
+
#e-mail: piotr@wojcieszonek.pl
|
3
|
+
# Copyright 23.03.2016 by Piotr Wojcieszonek
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'option'
|
8
|
+
require_relative 'type/raw'
|
9
|
+
|
10
|
+
module Lib
|
11
|
+
module DHCP
|
12
|
+
class Option205 < Option
|
13
|
+
#TODO Option205
|
14
|
+
include Lib::DHCP::Option::Type::Raw
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|