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.
Files changed (296) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.travis.yml +13 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +6 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +33 -0
  8. data/Rakefile +10 -0
  9. data/bin/console +14 -0
  10. data/bin/setup +8 -0
  11. data/exe/dhcp_dump +83 -0
  12. data/lib-dhcp.gemspec +31 -0
  13. data/lib/lib/dhcp.rb +276 -0
  14. data/lib/lib/dhcp/exception.rb +34 -0
  15. data/lib/lib/dhcp/messages/ack.rb +65 -0
  16. data/lib/lib/dhcp/messages/decline.rb +77 -0
  17. data/lib/lib/dhcp/messages/discover.rb +70 -0
  18. data/lib/lib/dhcp/messages/inform.rb +64 -0
  19. data/lib/lib/dhcp/messages/lease_active.rb +65 -0
  20. data/lib/lib/dhcp/messages/lease_query.rb +64 -0
  21. data/lib/lib/dhcp/messages/lease_unassigned.rb +64 -0
  22. data/lib/lib/dhcp/messages/lease_unknown.rb +64 -0
  23. data/lib/lib/dhcp/messages/message.rb +285 -0
  24. data/lib/lib/dhcp/messages/nack.rb +64 -0
  25. data/lib/lib/dhcp/messages/offer.rb +74 -0
  26. data/lib/lib/dhcp/messages/release.rb +64 -0
  27. data/lib/lib/dhcp/messages/request.rb +71 -0
  28. data/lib/lib/dhcp/options.rb +73 -0
  29. data/lib/lib/dhcp/options/option.rb +249 -0
  30. data/lib/lib/dhcp/options/option0.rb +34 -0
  31. data/lib/lib/dhcp/options/option1.rb +24 -0
  32. data/lib/lib/dhcp/options/option10.rb +20 -0
  33. data/lib/lib/dhcp/options/option100.rb +17 -0
  34. data/lib/lib/dhcp/options/option101.rb +17 -0
  35. data/lib/lib/dhcp/options/option102.rb +17 -0
  36. data/lib/lib/dhcp/options/option103.rb +17 -0
  37. data/lib/lib/dhcp/options/option104.rb +17 -0
  38. data/lib/lib/dhcp/options/option105.rb +17 -0
  39. data/lib/lib/dhcp/options/option106.rb +17 -0
  40. data/lib/lib/dhcp/options/option107.rb +17 -0
  41. data/lib/lib/dhcp/options/option108.rb +17 -0
  42. data/lib/lib/dhcp/options/option109.rb +17 -0
  43. data/lib/lib/dhcp/options/option11.rb +20 -0
  44. data/lib/lib/dhcp/options/option110.rb +17 -0
  45. data/lib/lib/dhcp/options/option111.rb +17 -0
  46. data/lib/lib/dhcp/options/option112.rb +17 -0
  47. data/lib/lib/dhcp/options/option113.rb +17 -0
  48. data/lib/lib/dhcp/options/option114.rb +17 -0
  49. data/lib/lib/dhcp/options/option115.rb +17 -0
  50. data/lib/lib/dhcp/options/option116.rb +17 -0
  51. data/lib/lib/dhcp/options/option117.rb +17 -0
  52. data/lib/lib/dhcp/options/option118.rb +17 -0
  53. data/lib/lib/dhcp/options/option119.rb +17 -0
  54. data/lib/lib/dhcp/options/option12.rb +20 -0
  55. data/lib/lib/dhcp/options/option120.rb +17 -0
  56. data/lib/lib/dhcp/options/option121.rb +17 -0
  57. data/lib/lib/dhcp/options/option122.rb +341 -0
  58. data/lib/lib/dhcp/options/option123.rb +17 -0
  59. data/lib/lib/dhcp/options/option124.rb +17 -0
  60. data/lib/lib/dhcp/options/option125.rb +17 -0
  61. data/lib/lib/dhcp/options/option126.rb +17 -0
  62. data/lib/lib/dhcp/options/option127.rb +17 -0
  63. data/lib/lib/dhcp/options/option128.rb +17 -0
  64. data/lib/lib/dhcp/options/option129.rb +17 -0
  65. data/lib/lib/dhcp/options/option13.rb +43 -0
  66. data/lib/lib/dhcp/options/option130.rb +17 -0
  67. data/lib/lib/dhcp/options/option131.rb +17 -0
  68. data/lib/lib/dhcp/options/option132.rb +17 -0
  69. data/lib/lib/dhcp/options/option133.rb +17 -0
  70. data/lib/lib/dhcp/options/option134.rb +17 -0
  71. data/lib/lib/dhcp/options/option135.rb +17 -0
  72. data/lib/lib/dhcp/options/option136.rb +17 -0
  73. data/lib/lib/dhcp/options/option137.rb +17 -0
  74. data/lib/lib/dhcp/options/option138.rb +17 -0
  75. data/lib/lib/dhcp/options/option139.rb +17 -0
  76. data/lib/lib/dhcp/options/option14.rb +21 -0
  77. data/lib/lib/dhcp/options/option140.rb +17 -0
  78. data/lib/lib/dhcp/options/option141.rb +17 -0
  79. data/lib/lib/dhcp/options/option142.rb +17 -0
  80. data/lib/lib/dhcp/options/option143.rb +17 -0
  81. data/lib/lib/dhcp/options/option144.rb +17 -0
  82. data/lib/lib/dhcp/options/option145.rb +17 -0
  83. data/lib/lib/dhcp/options/option146.rb +17 -0
  84. data/lib/lib/dhcp/options/option147.rb +17 -0
  85. data/lib/lib/dhcp/options/option148.rb +17 -0
  86. data/lib/lib/dhcp/options/option149.rb +17 -0
  87. data/lib/lib/dhcp/options/option15.rb +20 -0
  88. data/lib/lib/dhcp/options/option150.rb +17 -0
  89. data/lib/lib/dhcp/options/option151.rb +17 -0
  90. data/lib/lib/dhcp/options/option152.rb +17 -0
  91. data/lib/lib/dhcp/options/option153.rb +17 -0
  92. data/lib/lib/dhcp/options/option154.rb +17 -0
  93. data/lib/lib/dhcp/options/option155.rb +17 -0
  94. data/lib/lib/dhcp/options/option156.rb +17 -0
  95. data/lib/lib/dhcp/options/option157.rb +17 -0
  96. data/lib/lib/dhcp/options/option158.rb +17 -0
  97. data/lib/lib/dhcp/options/option159.rb +17 -0
  98. data/lib/lib/dhcp/options/option16.rb +19 -0
  99. data/lib/lib/dhcp/options/option160.rb +17 -0
  100. data/lib/lib/dhcp/options/option161.rb +17 -0
  101. data/lib/lib/dhcp/options/option162.rb +17 -0
  102. data/lib/lib/dhcp/options/option163.rb +17 -0
  103. data/lib/lib/dhcp/options/option164.rb +17 -0
  104. data/lib/lib/dhcp/options/option165.rb +17 -0
  105. data/lib/lib/dhcp/options/option166.rb +17 -0
  106. data/lib/lib/dhcp/options/option167.rb +17 -0
  107. data/lib/lib/dhcp/options/option168.rb +17 -0
  108. data/lib/lib/dhcp/options/option169.rb +17 -0
  109. data/lib/lib/dhcp/options/option17.rb +22 -0
  110. data/lib/lib/dhcp/options/option170.rb +17 -0
  111. data/lib/lib/dhcp/options/option171.rb +17 -0
  112. data/lib/lib/dhcp/options/option172.rb +17 -0
  113. data/lib/lib/dhcp/options/option173.rb +17 -0
  114. data/lib/lib/dhcp/options/option174.rb +17 -0
  115. data/lib/lib/dhcp/options/option175.rb +17 -0
  116. data/lib/lib/dhcp/options/option176.rb +17 -0
  117. data/lib/lib/dhcp/options/option177.rb +17 -0
  118. data/lib/lib/dhcp/options/option178.rb +17 -0
  119. data/lib/lib/dhcp/options/option179.rb +17 -0
  120. data/lib/lib/dhcp/options/option18.rb +23 -0
  121. data/lib/lib/dhcp/options/option180.rb +17 -0
  122. data/lib/lib/dhcp/options/option181.rb +17 -0
  123. data/lib/lib/dhcp/options/option182.rb +17 -0
  124. data/lib/lib/dhcp/options/option183.rb +17 -0
  125. data/lib/lib/dhcp/options/option184.rb +17 -0
  126. data/lib/lib/dhcp/options/option185.rb +17 -0
  127. data/lib/lib/dhcp/options/option186.rb +17 -0
  128. data/lib/lib/dhcp/options/option187.rb +17 -0
  129. data/lib/lib/dhcp/options/option188.rb +17 -0
  130. data/lib/lib/dhcp/options/option189.rb +17 -0
  131. data/lib/lib/dhcp/options/option19.rb +20 -0
  132. data/lib/lib/dhcp/options/option190.rb +17 -0
  133. data/lib/lib/dhcp/options/option191.rb +17 -0
  134. data/lib/lib/dhcp/options/option192.rb +17 -0
  135. data/lib/lib/dhcp/options/option193.rb +17 -0
  136. data/lib/lib/dhcp/options/option194.rb +17 -0
  137. data/lib/lib/dhcp/options/option195.rb +17 -0
  138. data/lib/lib/dhcp/options/option196.rb +17 -0
  139. data/lib/lib/dhcp/options/option197.rb +17 -0
  140. data/lib/lib/dhcp/options/option198.rb +17 -0
  141. data/lib/lib/dhcp/options/option199.rb +17 -0
  142. data/lib/lib/dhcp/options/option2.rb +45 -0
  143. data/lib/lib/dhcp/options/option20.rb +22 -0
  144. data/lib/lib/dhcp/options/option200.rb +17 -0
  145. data/lib/lib/dhcp/options/option201.rb +17 -0
  146. data/lib/lib/dhcp/options/option202.rb +17 -0
  147. data/lib/lib/dhcp/options/option203.rb +17 -0
  148. data/lib/lib/dhcp/options/option204.rb +17 -0
  149. data/lib/lib/dhcp/options/option205.rb +17 -0
  150. data/lib/lib/dhcp/options/option206.rb +17 -0
  151. data/lib/lib/dhcp/options/option207.rb +17 -0
  152. data/lib/lib/dhcp/options/option208.rb +17 -0
  153. data/lib/lib/dhcp/options/option209.rb +17 -0
  154. data/lib/lib/dhcp/options/option21.rb +87 -0
  155. data/lib/lib/dhcp/options/option210.rb +17 -0
  156. data/lib/lib/dhcp/options/option211.rb +17 -0
  157. data/lib/lib/dhcp/options/option212.rb +17 -0
  158. data/lib/lib/dhcp/options/option213.rb +17 -0
  159. data/lib/lib/dhcp/options/option214.rb +17 -0
  160. data/lib/lib/dhcp/options/option215.rb +17 -0
  161. data/lib/lib/dhcp/options/option216.rb +17 -0
  162. data/lib/lib/dhcp/options/option217.rb +17 -0
  163. data/lib/lib/dhcp/options/option218.rb +17 -0
  164. data/lib/lib/dhcp/options/option219.rb +17 -0
  165. data/lib/lib/dhcp/options/option22.rb +43 -0
  166. data/lib/lib/dhcp/options/option220.rb +17 -0
  167. data/lib/lib/dhcp/options/option221.rb +17 -0
  168. data/lib/lib/dhcp/options/option222.rb +17 -0
  169. data/lib/lib/dhcp/options/option223.rb +17 -0
  170. data/lib/lib/dhcp/options/option224.rb +17 -0
  171. data/lib/lib/dhcp/options/option225.rb +17 -0
  172. data/lib/lib/dhcp/options/option226.rb +17 -0
  173. data/lib/lib/dhcp/options/option227.rb +17 -0
  174. data/lib/lib/dhcp/options/option228.rb +17 -0
  175. data/lib/lib/dhcp/options/option229.rb +17 -0
  176. data/lib/lib/dhcp/options/option23.rb +44 -0
  177. data/lib/lib/dhcp/options/option230.rb +17 -0
  178. data/lib/lib/dhcp/options/option231.rb +17 -0
  179. data/lib/lib/dhcp/options/option232.rb +17 -0
  180. data/lib/lib/dhcp/options/option233.rb +17 -0
  181. data/lib/lib/dhcp/options/option234.rb +17 -0
  182. data/lib/lib/dhcp/options/option235.rb +17 -0
  183. data/lib/lib/dhcp/options/option236.rb +17 -0
  184. data/lib/lib/dhcp/options/option237.rb +17 -0
  185. data/lib/lib/dhcp/options/option238.rb +17 -0
  186. data/lib/lib/dhcp/options/option239.rb +17 -0
  187. data/lib/lib/dhcp/options/option24.rb +45 -0
  188. data/lib/lib/dhcp/options/option240.rb +17 -0
  189. data/lib/lib/dhcp/options/option241.rb +17 -0
  190. data/lib/lib/dhcp/options/option242.rb +17 -0
  191. data/lib/lib/dhcp/options/option243.rb +17 -0
  192. data/lib/lib/dhcp/options/option244.rb +17 -0
  193. data/lib/lib/dhcp/options/option245.rb +17 -0
  194. data/lib/lib/dhcp/options/option246.rb +17 -0
  195. data/lib/lib/dhcp/options/option247.rb +17 -0
  196. data/lib/lib/dhcp/options/option248.rb +17 -0
  197. data/lib/lib/dhcp/options/option249.rb +17 -0
  198. data/lib/lib/dhcp/options/option25.rb +20 -0
  199. data/lib/lib/dhcp/options/option250.rb +17 -0
  200. data/lib/lib/dhcp/options/option251.rb +17 -0
  201. data/lib/lib/dhcp/options/option252.rb +17 -0
  202. data/lib/lib/dhcp/options/option253.rb +17 -0
  203. data/lib/lib/dhcp/options/option254.rb +17 -0
  204. data/lib/lib/dhcp/options/option255.rb +29 -0
  205. data/lib/lib/dhcp/options/option26.rb +45 -0
  206. data/lib/lib/dhcp/options/option27.rb +16 -0
  207. data/lib/lib/dhcp/options/option28.rb +21 -0
  208. data/lib/lib/dhcp/options/option29.rb +16 -0
  209. data/lib/lib/dhcp/options/option3.rb +22 -0
  210. data/lib/lib/dhcp/options/option30.rb +16 -0
  211. data/lib/lib/dhcp/options/option31.rb +16 -0
  212. data/lib/lib/dhcp/options/option32.rb +18 -0
  213. data/lib/lib/dhcp/options/option33.rb +20 -0
  214. data/lib/lib/dhcp/options/option34.rb +16 -0
  215. data/lib/lib/dhcp/options/option35.rb +43 -0
  216. data/lib/lib/dhcp/options/option36.rb +16 -0
  217. data/lib/lib/dhcp/options/option37.rb +43 -0
  218. data/lib/lib/dhcp/options/option38.rb +43 -0
  219. data/lib/lib/dhcp/options/option39.rb +16 -0
  220. data/lib/lib/dhcp/options/option4.rb +21 -0
  221. data/lib/lib/dhcp/options/option40.rb +18 -0
  222. data/lib/lib/dhcp/options/option41.rb +18 -0
  223. data/lib/lib/dhcp/options/option42.rb +22 -0
  224. data/lib/lib/dhcp/options/option43.rb +16 -0
  225. data/lib/lib/dhcp/options/option44.rb +17 -0
  226. data/lib/lib/dhcp/options/option45.rb +18 -0
  227. data/lib/lib/dhcp/options/option46.rb +43 -0
  228. data/lib/lib/dhcp/options/option47.rb +17 -0
  229. data/lib/lib/dhcp/options/option48.rb +17 -0
  230. data/lib/lib/dhcp/options/option49.rb +17 -0
  231. data/lib/lib/dhcp/options/option5.rb +23 -0
  232. data/lib/lib/dhcp/options/option50.rb +16 -0
  233. data/lib/lib/dhcp/options/option51.rb +43 -0
  234. data/lib/lib/dhcp/options/option52.rb +45 -0
  235. data/lib/lib/dhcp/options/option53.rb +50 -0
  236. data/lib/lib/dhcp/options/option54.rb +16 -0
  237. data/lib/lib/dhcp/options/option55.rb +52 -0
  238. data/lib/lib/dhcp/options/option56.rb +20 -0
  239. data/lib/lib/dhcp/options/option57.rb +52 -0
  240. data/lib/lib/dhcp/options/option58.rb +45 -0
  241. data/lib/lib/dhcp/options/option59.rb +45 -0
  242. data/lib/lib/dhcp/options/option6.rb +23 -0
  243. data/lib/lib/dhcp/options/option60.rb +16 -0
  244. data/lib/lib/dhcp/options/option61.rb +37 -0
  245. data/lib/lib/dhcp/options/option62.rb +16 -0
  246. data/lib/lib/dhcp/options/option63.rb +16 -0
  247. data/lib/lib/dhcp/options/option64.rb +20 -0
  248. data/lib/lib/dhcp/options/option65.rb +17 -0
  249. data/lib/lib/dhcp/options/option66.rb +20 -0
  250. data/lib/lib/dhcp/options/option67.rb +20 -0
  251. data/lib/lib/dhcp/options/option68.rb +19 -0
  252. data/lib/lib/dhcp/options/option69.rb +17 -0
  253. data/lib/lib/dhcp/options/option7.rb +22 -0
  254. data/lib/lib/dhcp/options/option70.rb +17 -0
  255. data/lib/lib/dhcp/options/option71.rb +17 -0
  256. data/lib/lib/dhcp/options/option72.rb +17 -0
  257. data/lib/lib/dhcp/options/option73.rb +17 -0
  258. data/lib/lib/dhcp/options/option74.rb +17 -0
  259. data/lib/lib/dhcp/options/option75.rb +17 -0
  260. data/lib/lib/dhcp/options/option76.rb +17 -0
  261. data/lib/lib/dhcp/options/option77.rb +16 -0
  262. data/lib/lib/dhcp/options/option78.rb +16 -0
  263. data/lib/lib/dhcp/options/option79.rb +16 -0
  264. data/lib/lib/dhcp/options/option8.rb +22 -0
  265. data/lib/lib/dhcp/options/option80.rb +16 -0
  266. data/lib/lib/dhcp/options/option81.rb +16 -0
  267. data/lib/lib/dhcp/options/option82.rb +20 -0
  268. data/lib/lib/dhcp/options/option83.rb +16 -0
  269. data/lib/lib/dhcp/options/option84.rb +16 -0
  270. data/lib/lib/dhcp/options/option85.rb +16 -0
  271. data/lib/lib/dhcp/options/option86.rb +17 -0
  272. data/lib/lib/dhcp/options/option87.rb +16 -0
  273. data/lib/lib/dhcp/options/option88.rb +16 -0
  274. data/lib/lib/dhcp/options/option89.rb +16 -0
  275. data/lib/lib/dhcp/options/option9.rb +21 -0
  276. data/lib/lib/dhcp/options/option90.rb +16 -0
  277. data/lib/lib/dhcp/options/option91.rb +17 -0
  278. data/lib/lib/dhcp/options/option92.rb +17 -0
  279. data/lib/lib/dhcp/options/option93.rb +17 -0
  280. data/lib/lib/dhcp/options/option94.rb +17 -0
  281. data/lib/lib/dhcp/options/option95.rb +17 -0
  282. data/lib/lib/dhcp/options/option96.rb +17 -0
  283. data/lib/lib/dhcp/options/option97.rb +17 -0
  284. data/lib/lib/dhcp/options/option98.rb +17 -0
  285. data/lib/lib/dhcp/options/option99.rb +17 -0
  286. data/lib/lib/dhcp/options/sub_option.rb +32 -0
  287. data/lib/lib/dhcp/options/type/bool.rb +55 -0
  288. data/lib/lib/dhcp/options/type/ip_address.rb +73 -0
  289. data/lib/lib/dhcp/options/type/ip_array.rb +41 -0
  290. data/lib/lib/dhcp/options/type/netmask.rb +56 -0
  291. data/lib/lib/dhcp/options/type/raw.rb +51 -0
  292. data/lib/lib/dhcp/options/type/string.rb +49 -0
  293. data/lib/lib/dhcp/options/type/sub_option.rb +83 -0
  294. data/lib/lib/dhcp/packet.rb +96 -0
  295. data/lib/lib/dhcp/version.rb +5 -0
  296. metadata +409 -0
@@ -0,0 +1,34 @@
1
+ #Author: Piotr Wojcieszonek
2
+ #e-mail: piotr@wojcieszonek.pl
3
+ # Copyright 21.03.2016 by Piotr Wojcieszonek
4
+
5
+
6
+ require 'lib/dhcp/options/option'
7
+
8
+ module Lib
9
+ module DHCP
10
+ class Option0 < Option
11
+ def initialize
12
+ super PAD
13
+ end
14
+
15
+ def pack
16
+ [PAD].pack('C')
17
+ end
18
+
19
+ def len
20
+ 0
21
+ end
22
+
23
+ private
24
+
25
+ def self.unpack(oid, len, payload=nil)
26
+ payload = nil if payload.size == 0
27
+ raise ArgumentError, "OID Mismatch for PAD Option - #{oid}" unless oid.to_i == PAD
28
+ raise ArgumentError, "Wrong PAD Option length - #{len}" unless len == 0
29
+ raise ArgumentError, "PAD Option shouldn't have payload - #{payload} - given" unless payload.nil?
30
+ self.new
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,24 @@
1
+ #Author: Piotr Wojcieszonek
2
+ #e-mail: piotrk@wojcieszonek.pl
3
+ # Copyright 21.03.2016 by Piotr Wojcieszonek
4
+
5
+ require 'lib/dhcp/options/option'
6
+ require 'lib/dhcp/options/type/netmask'
7
+
8
+ module Lib
9
+ module DHCP
10
+ class Option1 < Option
11
+ # Subnet Mask length is 4 octets
12
+
13
+ include Type::Netmask
14
+
15
+ alias_method :subnet_mask, :payload
16
+ alias_method :mask, :payload
17
+ alias_method :netmask, :payload
18
+ alias_method :subnet_mask, :payload
19
+ alias_method :mask=, :payload=
20
+ alias_method :netmask=, :payload=
21
+
22
+ end
23
+ end
24
+ 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/ip_array'
8
+
9
+ module Lib
10
+ module DHCP
11
+ class Option10 < Option
12
+ # Impress Server Option, The minimum length for the router option is 4 octets, and the length MUST always be
13
+ # a multiple of 4 Multiple IP ADDRESS
14
+ include Type::IPArray
15
+
16
+ alias_method :impress_server, :payload
17
+ alias_method :impress_server=, :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 Option100 < Option
13
+ #TODO Option100
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 Option101 < Option
13
+ #TODO Option101
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 Option102 < Option
13
+ #TODO Option102
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 Option103 < Option
13
+ #TODO Option103
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 Option104 < Option
13
+ #TODO Option104
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 Option105 < Option
13
+ #TODO Option105
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 Option106 < Option
13
+ #TODO Option106
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 Option107 < Option
13
+ #TODO Option107
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 Option108 < Option
13
+ #TODO Option108
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 Option109 < Option
13
+ #TODO Option109
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/ip_array'
8
+
9
+ module Lib
10
+ module DHCP
11
+ class Option11 < Option
12
+ # Resource Location Server Option, The minimum length for the router option is 4 octets, and the length MUST always be
13
+ # a multiple of 4 Multiple IP ADDRESS
14
+ include Type::IPArray
15
+
16
+ alias_method :resource_location_server, :payload
17
+ alias_method :resource_location_server=, :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 Option110 < Option
13
+ #TODO Option110
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 Option111 < Option
13
+ #TODO Option111
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 Option112 < Option
13
+ #TODO Option112
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 Option113 < Option
13
+ #TODO Option113
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 Option114 < Option
13
+ #TODO Option114
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 Option115 < Option
13
+ #TODO Option115
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 Option116 < Option
13
+ #TODO Option116
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 Option117 < Option
13
+ #TODO Option117
14
+ include Lib::DHCP::Option::Type::Raw
15
+ end
16
+ end
17
+ end