ronin-support 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (321) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -0
  3. data/.rubocop.yml +1 -2
  4. data/ChangeLog.md +23 -0
  5. data/README.md +3 -1
  6. data/gemspec.yml +4 -3
  7. data/lib/ronin/support/archive/core_ext/file.rb +1 -1
  8. data/lib/ronin/support/archive/core_ext.rb +1 -1
  9. data/lib/ronin/support/archive/mixin.rb +1 -1
  10. data/lib/ronin/support/archive/tar/reader.rb +1 -1
  11. data/lib/ronin/support/archive/tar/writer.rb +1 -1
  12. data/lib/ronin/support/archive/tar.rb +1 -1
  13. data/lib/ronin/support/archive/zip/reader/entry.rb +1 -1
  14. data/lib/ronin/support/archive/zip/reader/statistics.rb +1 -1
  15. data/lib/ronin/support/archive/zip/reader.rb +1 -1
  16. data/lib/ronin/support/archive/zip/writer.rb +1 -1
  17. data/lib/ronin/support/archive/zip.rb +1 -1
  18. data/lib/ronin/support/archive.rb +1 -1
  19. data/lib/ronin/support/binary/array.rb +1 -1
  20. data/lib/ronin/support/binary/bit_flip/core_ext/integer.rb +1 -1
  21. data/lib/ronin/support/binary/bit_flip/core_ext/string.rb +1 -1
  22. data/lib/ronin/support/binary/bit_flip/core_ext.rb +1 -1
  23. data/lib/ronin/support/binary/bit_flip.rb +1 -1
  24. data/lib/ronin/support/binary/buffer.rb +1 -1
  25. data/lib/ronin/support/binary/byte_slice.rb +2 -2
  26. data/lib/ronin/support/binary/core_ext/array.rb +1 -1
  27. data/lib/ronin/support/binary/core_ext/float.rb +1 -1
  28. data/lib/ronin/support/binary/core_ext/integer.rb +1 -1
  29. data/lib/ronin/support/binary/core_ext/io.rb +1 -1
  30. data/lib/ronin/support/binary/core_ext/string.rb +1 -1
  31. data/lib/ronin/support/binary/core_ext.rb +1 -1
  32. data/lib/ronin/support/binary/cstring.rb +1 -1
  33. data/lib/ronin/support/binary/ctypes/aggregate_type.rb +1 -1
  34. data/lib/ronin/support/binary/ctypes/arch/arm/big_endian.rb +1 -1
  35. data/lib/ronin/support/binary/ctypes/arch/arm.rb +1 -1
  36. data/lib/ronin/support/binary/ctypes/arch/arm64/big_endian.rb +1 -1
  37. data/lib/ronin/support/binary/ctypes/arch/arm64.rb +1 -1
  38. data/lib/ronin/support/binary/ctypes/arch/mips/little_endian.rb +1 -1
  39. data/lib/ronin/support/binary/ctypes/arch/mips.rb +1 -1
  40. data/lib/ronin/support/binary/ctypes/arch/mips64/little_endian.rb +1 -1
  41. data/lib/ronin/support/binary/ctypes/arch/mips64.rb +1 -1
  42. data/lib/ronin/support/binary/ctypes/arch/ppc.rb +1 -1
  43. data/lib/ronin/support/binary/ctypes/arch/ppc64.rb +1 -1
  44. data/lib/ronin/support/binary/ctypes/arch/x86.rb +1 -1
  45. data/lib/ronin/support/binary/ctypes/arch/x86_64.rb +1 -1
  46. data/lib/ronin/support/binary/ctypes/arch.rb +1 -1
  47. data/lib/ronin/support/binary/ctypes/array_object_type.rb +1 -1
  48. data/lib/ronin/support/binary/ctypes/array_type.rb +1 -1
  49. data/lib/ronin/support/binary/ctypes/big_endian.rb +1 -1
  50. data/lib/ronin/support/binary/ctypes/char_type.rb +1 -1
  51. data/lib/ronin/support/binary/ctypes/char_types.rb +1 -1
  52. data/lib/ronin/support/binary/ctypes/enum_type.rb +1 -1
  53. data/lib/ronin/support/binary/ctypes/float32_type.rb +1 -1
  54. data/lib/ronin/support/binary/ctypes/float64_type.rb +1 -1
  55. data/lib/ronin/support/binary/ctypes/float_type.rb +1 -1
  56. data/lib/ronin/support/binary/ctypes/int16_type.rb +1 -1
  57. data/lib/ronin/support/binary/ctypes/int32_type.rb +1 -1
  58. data/lib/ronin/support/binary/ctypes/int64_type.rb +1 -1
  59. data/lib/ronin/support/binary/ctypes/int8_type.rb +1 -1
  60. data/lib/ronin/support/binary/ctypes/int_type.rb +1 -1
  61. data/lib/ronin/support/binary/ctypes/little_endian.rb +1 -1
  62. data/lib/ronin/support/binary/ctypes/mixin.rb +1 -1
  63. data/lib/ronin/support/binary/ctypes/native.rb +1 -1
  64. data/lib/ronin/support/binary/ctypes/network.rb +1 -1
  65. data/lib/ronin/support/binary/ctypes/object_type.rb +1 -1
  66. data/lib/ronin/support/binary/ctypes/os/android.rb +1 -1
  67. data/lib/ronin/support/binary/ctypes/os/apple_ios.rb +1 -1
  68. data/lib/ronin/support/binary/ctypes/os/bsd.rb +1 -1
  69. data/lib/ronin/support/binary/ctypes/os/freebsd.rb +1 -1
  70. data/lib/ronin/support/binary/ctypes/os/linux.rb +1 -1
  71. data/lib/ronin/support/binary/ctypes/os/macos.rb +1 -1
  72. data/lib/ronin/support/binary/ctypes/os/netbsd.rb +1 -1
  73. data/lib/ronin/support/binary/ctypes/os/openbsd.rb +1 -1
  74. data/lib/ronin/support/binary/ctypes/os/unix.rb +1 -1
  75. data/lib/ronin/support/binary/ctypes/os/windows.rb +1 -1
  76. data/lib/ronin/support/binary/ctypes/os.rb +1 -1
  77. data/lib/ronin/support/binary/ctypes/scalar_type.rb +1 -1
  78. data/lib/ronin/support/binary/ctypes/string_type.rb +1 -1
  79. data/lib/ronin/support/binary/ctypes/struct_object_type.rb +1 -1
  80. data/lib/ronin/support/binary/ctypes/struct_type.rb +1 -1
  81. data/lib/ronin/support/binary/ctypes/type.rb +1 -1
  82. data/lib/ronin/support/binary/ctypes/type_resolver.rb +1 -1
  83. data/lib/ronin/support/binary/ctypes/uint16_type.rb +1 -1
  84. data/lib/ronin/support/binary/ctypes/uint32_type.rb +1 -1
  85. data/lib/ronin/support/binary/ctypes/uint64_type.rb +1 -1
  86. data/lib/ronin/support/binary/ctypes/uint8_type.rb +1 -1
  87. data/lib/ronin/support/binary/ctypes/uint_type.rb +1 -1
  88. data/lib/ronin/support/binary/ctypes/unbounded_array_type.rb +1 -1
  89. data/lib/ronin/support/binary/ctypes/union_object_type.rb +1 -1
  90. data/lib/ronin/support/binary/ctypes/union_type.rb +1 -1
  91. data/lib/ronin/support/binary/ctypes.rb +1 -1
  92. data/lib/ronin/support/binary/memory.rb +1 -1
  93. data/lib/ronin/support/binary/packet.rb +1 -1
  94. data/lib/ronin/support/binary/stack.rb +1 -1
  95. data/lib/ronin/support/binary/stream/methods.rb +1 -1
  96. data/lib/ronin/support/binary/stream.rb +1 -1
  97. data/lib/ronin/support/binary/struct/member.rb +1 -1
  98. data/lib/ronin/support/binary/struct.rb +1 -1
  99. data/lib/ronin/support/binary/template.rb +1 -1
  100. data/lib/ronin/support/binary/unhexdump/core_ext/file.rb +1 -1
  101. data/lib/ronin/support/binary/unhexdump/core_ext/string.rb +1 -1
  102. data/lib/ronin/support/binary/unhexdump/core_ext.rb +1 -1
  103. data/lib/ronin/support/binary/unhexdump/parser.rb +1 -1
  104. data/lib/ronin/support/binary/unhexdump.rb +1 -1
  105. data/lib/ronin/support/binary/union.rb +1 -1
  106. data/lib/ronin/support/binary.rb +1 -1
  107. data/lib/ronin/support/cli/ansi.rb +1 -1
  108. data/lib/ronin/support/cli/io_shell/core_ext/io.rb +1 -1
  109. data/lib/ronin/support/cli/io_shell/core_ext.rb +1 -1
  110. data/lib/ronin/support/cli/io_shell.rb +1 -1
  111. data/lib/ronin/support/cli/printing.rb +1 -1
  112. data/lib/ronin/support/cli.rb +1 -1
  113. data/lib/ronin/support/compression/core_ext/file.rb +1 -1
  114. data/lib/ronin/support/compression/core_ext/string.rb +1 -1
  115. data/lib/ronin/support/compression/core_ext.rb +1 -1
  116. data/lib/ronin/support/compression/gzip/reader.rb +1 -1
  117. data/lib/ronin/support/compression/gzip/writer.rb +1 -1
  118. data/lib/ronin/support/compression/gzip.rb +1 -1
  119. data/lib/ronin/support/compression/mixin.rb +1 -1
  120. data/lib/ronin/support/compression/zlib.rb +1 -1
  121. data/lib/ronin/support/compression.rb +1 -1
  122. data/lib/ronin/support/core_ext/enumerable.rb +1 -1
  123. data/lib/ronin/support/core_ext/file.rb +1 -1
  124. data/lib/ronin/support/core_ext/integer.rb +1 -1
  125. data/lib/ronin/support/core_ext/ipaddr.rb +1 -1
  126. data/lib/ronin/support/core_ext/kernel.rb +1 -1
  127. data/lib/ronin/support/core_ext/string.rb +1 -1
  128. data/lib/ronin/support/core_ext.rb +1 -1
  129. data/lib/ronin/support/crypto/cert.rb +1 -1
  130. data/lib/ronin/support/crypto/cert_chain.rb +1 -1
  131. data/lib/ronin/support/crypto/cipher/aes.rb +1 -1
  132. data/lib/ronin/support/crypto/cipher/aes128.rb +1 -1
  133. data/lib/ronin/support/crypto/cipher/aes256.rb +1 -1
  134. data/lib/ronin/support/crypto/cipher.rb +2 -2
  135. data/lib/ronin/support/crypto/core_ext/file.rb +15 -9
  136. data/lib/ronin/support/crypto/core_ext/string.rb +17 -9
  137. data/lib/ronin/support/crypto/core_ext.rb +1 -1
  138. data/lib/ronin/support/crypto/hmac.rb +1 -1
  139. data/lib/ronin/support/crypto/key/dh.rb +1 -1
  140. data/lib/ronin/support/crypto/key/dsa.rb +1 -1
  141. data/lib/ronin/support/crypto/key/ec.rb +1 -1
  142. data/lib/ronin/support/crypto/key/methods.rb +1 -1
  143. data/lib/ronin/support/crypto/key/rsa.rb +1 -1
  144. data/lib/ronin/support/crypto/key.rb +1 -1
  145. data/lib/ronin/support/crypto/mixin.rb +40 -10
  146. data/lib/ronin/support/crypto/openssl.rb +1 -1
  147. data/lib/ronin/support/crypto.rb +10 -10
  148. data/lib/ronin/support/encoding/base16/core_ext/string.rb +1 -1
  149. data/lib/ronin/support/encoding/base16/core_ext.rb +1 -1
  150. data/lib/ronin/support/encoding/base16.rb +1 -1
  151. data/lib/ronin/support/encoding/base32/core_ext/string.rb +7 -7
  152. data/lib/ronin/support/encoding/base32/core_ext.rb +1 -1
  153. data/lib/ronin/support/encoding/base32.rb +4 -4
  154. data/lib/ronin/support/encoding/base36/core_ext/integer.rb +4 -4
  155. data/lib/ronin/support/encoding/base36/core_ext/string.rb +4 -4
  156. data/lib/ronin/support/encoding/base36/core_ext.rb +1 -1
  157. data/lib/ronin/support/encoding/base36.rb +4 -4
  158. data/lib/ronin/support/encoding/base62/core_ext/integer.rb +4 -4
  159. data/lib/ronin/support/encoding/base62/core_ext/string.rb +4 -4
  160. data/lib/ronin/support/encoding/base62/core_ext.rb +1 -1
  161. data/lib/ronin/support/encoding/base62.rb +4 -4
  162. data/lib/ronin/support/encoding/base64/core_ext/string.rb +7 -7
  163. data/lib/ronin/support/encoding/base64/core_ext.rb +1 -1
  164. data/lib/ronin/support/encoding/base64.rb +4 -4
  165. data/lib/ronin/support/encoding/c/core_ext/integer.rb +1 -1
  166. data/lib/ronin/support/encoding/c/core_ext/string.rb +1 -1
  167. data/lib/ronin/support/encoding/c/core_ext.rb +1 -1
  168. data/lib/ronin/support/encoding/c.rb +33 -34
  169. data/lib/ronin/support/encoding/core_ext/string.rb +1 -1
  170. data/lib/ronin/support/encoding/core_ext.rb +1 -1
  171. data/lib/ronin/support/encoding/hex/core_ext/integer.rb +1 -1
  172. data/lib/ronin/support/encoding/hex/core_ext/string.rb +1 -1
  173. data/lib/ronin/support/encoding/hex/core_ext.rb +1 -1
  174. data/lib/ronin/support/encoding/hex.rb +21 -22
  175. data/lib/ronin/support/encoding/html/core_ext/integer.rb +1 -1
  176. data/lib/ronin/support/encoding/html/core_ext/string.rb +1 -1
  177. data/lib/ronin/support/encoding/html/core_ext.rb +1 -1
  178. data/lib/ronin/support/encoding/html.rb +1 -1
  179. data/lib/ronin/support/encoding/http/core_ext/integer.rb +1 -1
  180. data/lib/ronin/support/encoding/http/core_ext/string.rb +1 -1
  181. data/lib/ronin/support/encoding/http/core_ext.rb +1 -1
  182. data/lib/ronin/support/encoding/http.rb +1 -1
  183. data/lib/ronin/support/encoding/js/core_ext/integer.rb +1 -1
  184. data/lib/ronin/support/encoding/js/core_ext/string.rb +1 -1
  185. data/lib/ronin/support/encoding/js/core_ext.rb +1 -1
  186. data/lib/ronin/support/encoding/js.rb +39 -39
  187. data/lib/ronin/support/encoding/powershell/core_ext/integer.rb +3 -1
  188. data/lib/ronin/support/encoding/powershell/core_ext/string.rb +7 -11
  189. data/lib/ronin/support/encoding/powershell/core_ext.rb +1 -1
  190. data/lib/ronin/support/encoding/powershell.rb +26 -20
  191. data/lib/ronin/support/encoding/punycode/core_ext/string.rb +7 -7
  192. data/lib/ronin/support/encoding/punycode/core_ext.rb +1 -1
  193. data/lib/ronin/support/encoding/punycode.rb +10 -10
  194. data/lib/ronin/support/encoding/quoted_printable/core_ext/string.rb +5 -7
  195. data/lib/ronin/support/encoding/quoted_printable/core_ext.rb +1 -1
  196. data/lib/ronin/support/encoding/quoted_printable.rb +10 -10
  197. data/lib/ronin/support/encoding/ruby/core_ext/string.rb +2 -2
  198. data/lib/ronin/support/encoding/ruby/core_ext.rb +1 -1
  199. data/lib/ronin/support/encoding/ruby.rb +13 -10
  200. data/lib/ronin/support/encoding/shell/core_ext/integer.rb +4 -4
  201. data/lib/ronin/support/encoding/shell/core_ext/string.rb +1 -1
  202. data/lib/ronin/support/encoding/shell/core_ext.rb +1 -1
  203. data/lib/ronin/support/encoding/shell.rb +33 -28
  204. data/lib/ronin/support/encoding/smtp.rb +1 -1
  205. data/lib/ronin/support/encoding/sql/core_ext/string.rb +1 -1
  206. data/lib/ronin/support/encoding/sql/core_ext.rb +1 -1
  207. data/lib/ronin/support/encoding/sql.rb +1 -1
  208. data/lib/ronin/support/encoding/uri/core_ext/integer.rb +1 -1
  209. data/lib/ronin/support/encoding/uri/core_ext/string.rb +1 -1
  210. data/lib/ronin/support/encoding/uri/core_ext.rb +1 -1
  211. data/lib/ronin/support/encoding/uri.rb +1 -1
  212. data/lib/ronin/support/encoding/uuencoding/core_ext/string.rb +5 -7
  213. data/lib/ronin/support/encoding/uuencoding/core_ext.rb +1 -1
  214. data/lib/ronin/support/encoding/uuencoding.rb +10 -10
  215. data/lib/ronin/support/encoding/xml/core_ext/integer.rb +1 -1
  216. data/lib/ronin/support/encoding/xml/core_ext/string.rb +1 -1
  217. data/lib/ronin/support/encoding/xml/core_ext.rb +1 -1
  218. data/lib/ronin/support/encoding/xml.rb +1 -1
  219. data/lib/ronin/support/encoding.rb +1 -1
  220. data/lib/ronin/support/home.rb +1 -1
  221. data/lib/ronin/support/mixin.rb +1 -1
  222. data/lib/ronin/support/network/asn/dns_record.rb +1 -1
  223. data/lib/ronin/support/network/asn/list.rb +1 -1
  224. data/lib/ronin/support/network/asn/record.rb +1 -1
  225. data/lib/ronin/support/network/asn/record_set.rb +1 -1
  226. data/lib/ronin/support/network/asn.rb +1 -1
  227. data/lib/ronin/support/network/core_ext.rb +1 -1
  228. data/lib/ronin/support/network/dns/idn.rb +1 -1
  229. data/lib/ronin/support/network/dns/mixin.rb +1 -1
  230. data/lib/ronin/support/network/dns/resolver.rb +4 -2
  231. data/lib/ronin/support/network/dns.rb +1 -1
  232. data/lib/ronin/support/network/domain.rb +1 -1
  233. data/lib/ronin/support/network/email_address.rb +1 -1
  234. data/lib/ronin/support/network/esmtp/mixin.rb +1 -1
  235. data/lib/ronin/support/network/exceptions.rb +1 -1
  236. data/lib/ronin/support/network/ftp/mixin.rb +1 -1
  237. data/lib/ronin/support/network/host.rb +2 -2
  238. data/lib/ronin/support/network/http/cookie.rb +1 -1
  239. data/lib/ronin/support/network/http/core_ext/uri/http.rb +3 -3
  240. data/lib/ronin/support/network/http/core_ext.rb +1 -1
  241. data/lib/ronin/support/network/http/mixin.rb +1 -1
  242. data/lib/ronin/support/network/http/request.rb +1 -1
  243. data/lib/ronin/support/network/http/set_cookie.rb +1 -1
  244. data/lib/ronin/support/network/http/user_agents.rb +1 -1
  245. data/lib/ronin/support/network/http.rb +1 -1
  246. data/lib/ronin/support/network/imap/mixin.rb +1 -1
  247. data/lib/ronin/support/network/ip/mixin.rb +1 -1
  248. data/lib/ronin/support/network/ip.rb +1 -1
  249. data/lib/ronin/support/network/ip_range/cidr.rb +1 -1
  250. data/lib/ronin/support/network/ip_range/glob.rb +1 -1
  251. data/lib/ronin/support/network/ip_range/range.rb +1 -1
  252. data/lib/ronin/support/network/ip_range.rb +1 -1
  253. data/lib/ronin/support/network/mixin.rb +1 -1
  254. data/lib/ronin/support/network/packet.rb +1 -1
  255. data/lib/ronin/support/network/pop3/mixin.rb +1 -1
  256. data/lib/ronin/support/network/proxy.rb +1 -1
  257. data/lib/ronin/support/network/public_suffix/list.rb +1 -1
  258. data/lib/ronin/support/network/public_suffix/suffix.rb +1 -1
  259. data/lib/ronin/support/network/public_suffix/suffix_set.rb +1 -1
  260. data/lib/ronin/support/network/public_suffix.rb +1 -1
  261. data/lib/ronin/support/network/smtp/email.rb +1 -1
  262. data/lib/ronin/support/network/smtp/mixin.rb +1 -1
  263. data/lib/ronin/support/network/smtp.rb +1 -1
  264. data/lib/ronin/support/network/ssl/local_cert.rb +1 -1
  265. data/lib/ronin/support/network/ssl/local_key.rb +1 -1
  266. data/lib/ronin/support/network/ssl/mixin.rb +1 -1
  267. data/lib/ronin/support/network/ssl/openssl.rb +1 -1
  268. data/lib/ronin/support/network/ssl/proxy.rb +1 -1
  269. data/lib/ronin/support/network/ssl.rb +1 -1
  270. data/lib/ronin/support/network/tcp/mixin.rb +1 -1
  271. data/lib/ronin/support/network/tcp/proxy.rb +1 -1
  272. data/lib/ronin/support/network/tcp.rb +1 -1
  273. data/lib/ronin/support/network/telnet/mixin.rb +1 -1
  274. data/lib/ronin/support/network/telnet.rb +1 -1
  275. data/lib/ronin/support/network/tld/list.rb +1 -1
  276. data/lib/ronin/support/network/tld.rb +1 -1
  277. data/lib/ronin/support/network/tls/mixin.rb +1 -1
  278. data/lib/ronin/support/network/tls/proxy.rb +1 -1
  279. data/lib/ronin/support/network/tls.rb +1 -1
  280. data/lib/ronin/support/network/udp/mixin.rb +1 -1
  281. data/lib/ronin/support/network/udp/proxy.rb +1 -1
  282. data/lib/ronin/support/network/udp.rb +1 -1
  283. data/lib/ronin/support/network/unix/mixin.rb +1 -1
  284. data/lib/ronin/support/network/wildcard.rb +1 -1
  285. data/lib/ronin/support/network.rb +1 -1
  286. data/lib/ronin/support/path.rb +1 -1
  287. data/lib/ronin/support/text/core_ext/regexp.rb +1 -1
  288. data/lib/ronin/support/text/core_ext/string.rb +1 -1
  289. data/lib/ronin/support/text/core_ext.rb +1 -1
  290. data/lib/ronin/support/text/entropy/core_ext/string.rb +1 -1
  291. data/lib/ronin/support/text/entropy/core_ext.rb +1 -1
  292. data/lib/ronin/support/text/entropy.rb +1 -1
  293. data/lib/ronin/support/text/erb/mixin.rb +1 -1
  294. data/lib/ronin/support/text/erb.rb +1 -1
  295. data/lib/ronin/support/text/homoglyph/core_ext/string.rb +1 -1
  296. data/lib/ronin/support/text/homoglyph/core_ext.rb +1 -1
  297. data/lib/ronin/support/text/homoglyph/exceptions.rb +1 -1
  298. data/lib/ronin/support/text/homoglyph/table.rb +1 -1
  299. data/lib/ronin/support/text/homoglyph.rb +1 -1
  300. data/lib/ronin/support/text/mixin.rb +1 -1
  301. data/lib/ronin/support/text/patterns/credentials.rb +1 -1
  302. data/lib/ronin/support/text/patterns/crypto.rb +1 -1
  303. data/lib/ronin/support/text/patterns/file_system.rb +1 -1
  304. data/lib/ronin/support/text/patterns/language.rb +1 -1
  305. data/lib/ronin/support/text/patterns/network/public_suffix.rb +1 -1
  306. data/lib/ronin/support/text/patterns/network.rb +1 -1
  307. data/lib/ronin/support/text/patterns/numeric.rb +2 -2
  308. data/lib/ronin/support/text/patterns/pii.rb +1 -1
  309. data/lib/ronin/support/text/patterns/source_code.rb +1 -1
  310. data/lib/ronin/support/text/patterns.rb +1 -1
  311. data/lib/ronin/support/text/random/mixin.rb +1 -1
  312. data/lib/ronin/support/text/random.rb +1 -1
  313. data/lib/ronin/support/text/typo/core_ext/string.rb +1 -1
  314. data/lib/ronin/support/text/typo/core_ext.rb +1 -1
  315. data/lib/ronin/support/text/typo/exceptions.rb +1 -1
  316. data/lib/ronin/support/text/typo/generator.rb +1 -1
  317. data/lib/ronin/support/text/typo.rb +1 -1
  318. data/lib/ronin/support/text.rb +1 -1
  319. data/lib/ronin/support/version.rb +2 -2
  320. data/lib/ronin/support.rb +1 -1
  321. metadata +18 -4
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -33,7 +33,7 @@ class Integer
33
33
  # 0x41.shell_encode
34
34
  # # => "\\x41"
35
35
  # 0x0a.shell_encode
36
- # # => "\\n"
36
+ # # => "\\x0a"
37
37
  #
38
38
  # @example Encoding unicode characters:
39
39
  # 1001.shell_encode
@@ -65,9 +65,9 @@ class Integer
65
65
  # 0x41.shell_escape
66
66
  # # => "A"
67
67
  # 0x08.shell_escape
68
- # # => "\b"
68
+ # # => "\\b"
69
69
  # 0xff.shell_escape
70
- # # => "\xff"
70
+ # # => "\\xff"
71
71
  #
72
72
  # @example Escaping unicode characters:
73
73
  # 1001.shell_escape
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -50,7 +50,6 @@ module Ronin
50
50
  0x0d => "\\r", # $'\r'
51
51
  0x1B => "\\e", # $'\e'
52
52
  0x22 => "\\\"", # \"
53
- 0x23 => "\\#", # \#
54
53
  0x5c => "\\\\" # \\
55
54
  }
56
55
 
@@ -70,7 +69,7 @@ module Ronin
70
69
  # Encoding::Shell.encode_byte(0x41)
71
70
  # # => "\\x41"
72
71
  # Encoding::Shell.encode_byte(0x0a)
73
- # # => "\\n"
72
+ # # => "\\x0a"
74
73
  #
75
74
  # @example Encoding unicode characters:
76
75
  # Encoding::Shell.encode_byte(1001)
@@ -102,9 +101,9 @@ module Ronin
102
101
  # Encoding::Shell.escape(0x41)
103
102
  # # => "A"
104
103
  # Encoding::Shell.escape(0x08)
105
- # # => "\b"
104
+ # # => "\\b"
106
105
  # Encoding::Shell.escape(0xff)
107
- # # => "\xff"
106
+ # # => "\\xff"
108
107
  #
109
108
  # @example Escaping unicode characters:
110
109
  # Encoding::Shell.escape(1001)
@@ -126,17 +125,17 @@ module Ronin
126
125
 
127
126
  # Shell characters that must be back-slashed.
128
127
  BACKSLASHED_CHARS = {
129
- '0' => "\0",
130
- 'a' => "\a",
131
- 'b' => "\b",
132
- 'e' => "\e",
133
- 't' => "\t",
134
- 'n' => "\n",
135
- 'v' => "\v",
136
- 'f' => "\f",
137
- 'r' => "\r",
138
- "'" => "'",
139
- '"' => '"'
128
+ "\\0" => "\0",
129
+ "\\a" => "\a",
130
+ "\\b" => "\b",
131
+ "\\e" => "\e",
132
+ "\\t" => "\t",
133
+ "\\n" => "\n",
134
+ "\\v" => "\v",
135
+ "\\f" => "\f",
136
+ "\\r" => "\r",
137
+ "\\'" => "'",
138
+ "\\\"" => '"'
140
139
  }
141
140
 
142
141
  #
@@ -182,16 +181,16 @@ module Ronin
182
181
  # # => "hello\nworld"
183
182
  #
184
183
  def self.unescape(data)
185
- unescaped = String.new
184
+ unescaped = String.new(encoding: Encoding::UTF_8)
186
185
  scanner = StringScanner.new(data)
187
186
 
188
187
  until scanner.eos?
189
- unescaped << if (backslash_char = scanner.scan(/\\[0abetnvfr\'\"]/)) # \n
190
- BACKSLASHED_CHARS[backslash_char[1..]]
191
- elsif (hex_char = scanner.scan(/\\x[0-9a-fA-F]+/)) # \XX
192
- hex_char[2..].to_i(16).chr
193
- elsif (unicode_char = scanner.scan(/\\u[0-9a-fA-F]+/)) # \uXXXX
194
- unicode_char[2..].to_i(16).chr(Encoding::UTF_8)
188
+ unescaped << if (backslash_escape = scanner.scan(/\\[0abetnvfr\'\"]/)) # \n
189
+ BACKSLASHED_CHARS.fetch(backslash_escape)
190
+ elsif (hex_escape = scanner.scan(/\\x[0-9a-fA-F]+/)) # \XX
191
+ hex_escape[2..].to_i(16).chr
192
+ elsif (unicode_escape = scanner.scan(/\\u[0-9a-fA-F]+/)) # \uXXXX
193
+ unicode_escape[2..].to_i(16).chr(Encoding::UTF_8)
195
194
  else
196
195
  scanner.getch
197
196
  end
@@ -263,7 +262,9 @@ module Ronin
263
262
  if data =~ /[^[:print:]]/
264
263
  "$'#{escape(data)}'"
265
264
  else
266
- "\"#{escape(data)}\""
265
+ # NOTE: '$' characters do not need to be escaped in single quoted
266
+ # strings, but they *do* need to be escaped in double quoted strings.
267
+ "\"#{escape(data).gsub('$','\$')}\""
267
268
  end
268
269
  end
269
270
 
@@ -286,11 +287,15 @@ module Ronin
286
287
  # # => "hello\nworld"
287
288
  #
288
289
  def self.unquote(data)
289
- if (data[0,2] == "$'" && data[-1] == "'")
290
+ if (data.start_with?("$'") && data.end_with?("'"))
290
291
  unescape(data[2..-2])
291
- elsif (data[0] == '"' && data[-1] == '"')
292
- data[1..-2].gsub("\\\"",'"')
293
- elsif (data[0] == "'" && data[-1] == "'")
292
+ elsif (data.start_with?('"') && data.end_with?('"'))
293
+ # NOTE: double quoted strings only support escaping '"', '\', and
294
+ # '$' characters.
295
+ data[1..-2].gsub(/\\["\$]/) do |backslash_char|
296
+ backslash_char[1]
297
+ end
298
+ elsif (data.start_with?("'") && data.end_with?("'"))
294
299
  data[1..-2].gsub("\\'","'")
295
300
  else
296
301
  data
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -21,9 +21,7 @@ require 'ronin/support/encoding/uuencoding'
21
21
  class String
22
22
 
23
23
  #
24
- # [uuencodes][uuencoding] the String.
25
- #
26
- # [uuencoding]: https://en.wikipedia.org/wiki/Uuencoding
24
+ # UUEncodes the String.
27
25
  #
28
26
  # @return [String]
29
27
  # The UU encoded String.
@@ -33,6 +31,7 @@ class String
33
31
  # # => "+:&5L;&\\@=V]R;&0`\n"
34
32
  #
35
33
  # @see Ronin::Support::Encoding::UUEncoding.encode
34
+ # @see https://en.wikipedia.org/wiki/Uuencoding
36
35
  #
37
36
  # @api public
38
37
  #
@@ -46,9 +45,7 @@ class String
46
45
  alias uu_escape uu_encode
47
46
 
48
47
  #
49
- # Decodes the [uuencoded][uuencoding] String.
50
- #
51
- # [uuencoding]: https://en.wikipedia.org/wiki/Uuencoding
48
+ # Decodes the UUEncoded String.
52
49
  #
53
50
  # @return [String]
54
51
  # The decoded String.
@@ -58,6 +55,7 @@ class String
58
55
  # # => "hello world"
59
56
  #
60
57
  # @see Ronin::Support::Encoding::UUEncoding.decode
58
+ # @see https://en.wikipedia.org/wiki/Uuencoding
61
59
  #
62
60
  # @api public
63
61
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -20,9 +20,7 @@ module Ronin
20
20
  module Support
21
21
  class Encoding < ::Encoding
22
22
  #
23
- # Contains methods for encoding/decoding [UUEncoded][uuencoding] data.
24
- #
25
- # [uuencoding]: https://en.wikipedia.org/wiki/Uuencoding
23
+ # Contains methods for encoding/decoding UUEncoded data.
26
24
  #
27
25
  # ## Core-Ext Methods
28
26
  #
@@ -31,11 +29,11 @@ module Ronin
31
29
  #
32
30
  # @api public
33
31
  #
32
+ # @see https://en.wikipedia.org/wiki/Uuencoding
33
+ #
34
34
  module UUEncoding
35
35
  #
36
- # [uuencodes][uuencoding] the String.
37
- #
38
- # [uuencoding]: https://en.wikipedia.org/wiki/Uuencoding
36
+ # UUEncodes the String.
39
37
  #
40
38
  # @param [String] data
41
39
  # The data to uuencode.
@@ -47,14 +45,14 @@ module Ronin
47
45
  # Encoding::UUEncoding.encode("hello world")
48
46
  # # => "+:&5L;&\\@=V]R;&0`\n"
49
47
  #
48
+ # @see https://en.wikipedia.org/wiki/Uuencoding
49
+ #
50
50
  def self.encode(data)
51
51
  [data].pack('u')
52
52
  end
53
53
 
54
54
  #
55
- # Decodes the [uuencoded][uuencoding] String.
56
- #
57
- # [uuencoding]: https://en.wikipedia.org/wiki/Uuencoding
55
+ # Decodes the UUEncoded String.
58
56
  #
59
57
  # @param [String] data
60
58
  # The data to uudecode.
@@ -66,6 +64,8 @@ module Ronin
66
64
  # Encoding::UUEncoding.encode("+:&5L;&\\@=V]R;&0`\n")
67
65
  # # => "hello world"
68
66
  #
67
+ # @see https://en.wikipedia.org/wiki/Uuencoding
68
+ #
69
69
  def self.decode(data)
70
70
  data.unpack1('u')
71
71
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # Ronin Support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -700,7 +700,9 @@ module Ronin
700
700
  # All `TXT` string values belonging of the host name.
701
701
  #
702
702
  def get_txt_strings(name)
703
- get_txt_records(name).map(&:strings).flatten
703
+ get_txt_records(name).map do |txt|
704
+ txt.strings.join
705
+ end
704
706
  end
705
707
 
706
708
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -166,7 +166,7 @@ module Ronin
166
166
  # @return [Boolean]
167
167
  #
168
168
  # @example
169
- # host = Network::Host.new("www.詹姆斯.com')
169
+ # host = Network::Host.new("www.詹姆斯.com")
170
170
  # host.idn?
171
171
  # # => true
172
172
  #
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -55,12 +55,12 @@ module URI
55
55
  # @return [Boolean]
56
56
  # Specifies whether the response had an HTTP OK status code or not.
57
57
  #
58
- # @see Ronin::Support::Network::HTTP.ok?
59
- #
60
58
  # @example
61
59
  # URI('https://example.com/').ok?
62
60
  # # => true
63
61
  #
62
+ # @see Ronin::Support::Network::HTTP.ok?
63
+ #
64
64
  # @since 0.3.0
65
65
  #
66
66
  def ok?(**kwargs)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
3
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
4
4
  #
5
5
  # ronin-support is free software: you can redistribute it and/or modify
6
6
  # it under the terms of the GNU Lesser General Public License as published