ronin-support 0.5.2 → 1.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (505) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +5 -6
  3. data/.gitignore +7 -6
  4. data/.mailmap +1 -0
  5. data/.ruby-version +1 -1
  6. data/.yardopts +0 -1
  7. data/ChangeLog.md +518 -148
  8. data/Gemfile +17 -16
  9. data/README.md +107 -52
  10. data/Rakefile +28 -8
  11. data/data/text/homoglyphs/ascii.txt +8 -0
  12. data/data/text/homoglyphs/cyrillic.txt +33 -0
  13. data/data/text/homoglyphs/full_width.txt +81 -0
  14. data/data/text/homoglyphs/greek.txt +21 -0
  15. data/data/text/homoglyphs/latin_numbers.txt +14 -0
  16. data/data/text/homoglyphs/punctuation.txt +7 -0
  17. data/data/text/patterns/network/public_suffix.rb.erb +44 -0
  18. data/examples/ssl_proxy.rb +38 -0
  19. data/examples/tcp_proxy.rb +41 -0
  20. data/gemspec.yml +16 -15
  21. data/lib/ronin/support/archive/core_ext/file.rb +118 -0
  22. data/lib/ronin/{formatting/sql.rb → support/archive/core_ext.rb} +3 -4
  23. data/lib/ronin/support/archive/mixin.rb +213 -0
  24. data/lib/ronin/support/archive/tar/reader.rb +135 -0
  25. data/lib/ronin/support/archive/tar/writer.rb +197 -0
  26. data/lib/ronin/support/archive/tar.rb +155 -0
  27. data/lib/ronin/support/archive/zip/reader/entry.rb +134 -0
  28. data/lib/ronin/support/archive/zip/reader/statistics.rb +76 -0
  29. data/lib/ronin/support/archive/zip/reader.rb +273 -0
  30. data/lib/ronin/support/archive/zip/writer.rb +175 -0
  31. data/lib/ronin/support/archive/zip.rb +105 -0
  32. data/lib/ronin/support/archive.rb +211 -0
  33. data/lib/ronin/support/binary/array.rb +255 -0
  34. data/lib/ronin/support/binary/bit_flip.rb +147 -0
  35. data/lib/ronin/support/binary/buffer.rb +2027 -0
  36. data/lib/ronin/support/binary/byte_slice.rb +324 -0
  37. data/lib/ronin/{formatting/extensions/binary → support/binary/core_ext}/array.rb +25 -11
  38. data/lib/ronin/support/binary/core_ext/float.rb +80 -0
  39. data/lib/ronin/support/binary/core_ext/integer.rb +305 -0
  40. data/lib/ronin/support/binary/core_ext/io.rb +38 -0
  41. data/lib/ronin/support/binary/core_ext/string.rb +162 -0
  42. data/lib/ronin/{formatting/extensions/text.rb → support/binary/core_ext.rb} +6 -6
  43. data/lib/ronin/support/binary/cstring.rb +259 -0
  44. data/lib/ronin/support/binary/ctypes/aggregate_type.rb +98 -0
  45. data/lib/ronin/support/binary/ctypes/arch/arm/big_endian.rb +77 -0
  46. data/lib/ronin/support/binary/ctypes/arch/arm.rb +75 -0
  47. data/lib/ronin/support/binary/ctypes/arch/arm64/big_endian.rb +77 -0
  48. data/lib/ronin/support/binary/ctypes/arch/arm64.rb +75 -0
  49. data/lib/ronin/support/binary/ctypes/arch/mips/little_endian.rb +77 -0
  50. data/lib/ronin/support/binary/ctypes/arch/mips.rb +75 -0
  51. data/lib/ronin/support/binary/ctypes/arch/mips64/little_endian.rb +77 -0
  52. data/lib/ronin/support/binary/ctypes/arch/mips64.rb +75 -0
  53. data/lib/ronin/support/binary/ctypes/arch/ppc.rb +75 -0
  54. data/lib/ronin/support/binary/ctypes/arch/ppc64.rb +75 -0
  55. data/lib/ronin/support/binary/ctypes/arch/x86.rb +75 -0
  56. data/lib/ronin/support/binary/ctypes/arch/x86_64.rb +75 -0
  57. data/lib/ronin/support/binary/ctypes/arch.rb +30 -0
  58. data/lib/ronin/support/binary/ctypes/array_object_type.rb +164 -0
  59. data/lib/ronin/support/binary/ctypes/array_type.rb +232 -0
  60. data/lib/ronin/support/binary/ctypes/big_endian.rb +195 -0
  61. data/lib/ronin/support/binary/ctypes/char_type.rb +59 -0
  62. data/lib/ronin/support/binary/ctypes/char_types.rb +39 -0
  63. data/lib/ronin/support/binary/ctypes/enum_type.rb +181 -0
  64. data/lib/ronin/support/binary/ctypes/float32_type.rb +50 -0
  65. data/lib/ronin/support/binary/ctypes/float64_type.rb +50 -0
  66. data/lib/ronin/support/binary/ctypes/float_type.rb +62 -0
  67. data/lib/ronin/support/binary/ctypes/int16_type.rb +50 -0
  68. data/lib/ronin/support/binary/ctypes/int32_type.rb +50 -0
  69. data/lib/ronin/support/binary/ctypes/int64_type.rb +50 -0
  70. data/lib/ronin/support/{support.rb → binary/ctypes/int8_type.rb} +20 -21
  71. data/lib/ronin/support/binary/ctypes/int_type.rb +62 -0
  72. data/lib/ronin/support/binary/ctypes/little_endian.rb +195 -0
  73. data/lib/ronin/support/binary/ctypes/mixin.rb +135 -0
  74. data/lib/ronin/support/binary/ctypes/native.rb +205 -0
  75. data/lib/ronin/support/binary/ctypes/network.rb +29 -0
  76. data/lib/ronin/support/binary/ctypes/object_type.rb +55 -0
  77. data/lib/ronin/support/binary/ctypes/os/bsd.rb +65 -0
  78. data/lib/ronin/support/binary/ctypes/os/freebsd.rb +215 -0
  79. data/lib/ronin/support/binary/ctypes/os/linux.rb +193 -0
  80. data/lib/ronin/support/binary/ctypes/os/macos.rb +151 -0
  81. data/lib/ronin/support/binary/ctypes/os/netbsd.rb +147 -0
  82. data/lib/ronin/support/binary/ctypes/os/openbsd.rb +168 -0
  83. data/lib/ronin/support/binary/ctypes/os/unix.rb +78 -0
  84. data/lib/ronin/support/binary/ctypes/os/windows.rb +125 -0
  85. data/lib/ronin/support/binary/ctypes/os.rb +125 -0
  86. data/lib/ronin/support/binary/ctypes/scalar_type.rb +200 -0
  87. data/lib/ronin/support/binary/ctypes/string_type.rb +143 -0
  88. data/lib/ronin/support/binary/ctypes/struct_object_type.rb +173 -0
  89. data/lib/ronin/support/binary/ctypes/struct_type.rb +359 -0
  90. data/lib/ronin/support/binary/ctypes/type.rb +193 -0
  91. data/lib/ronin/support/binary/ctypes/type_resolver.rb +206 -0
  92. data/lib/ronin/support/binary/ctypes/uint16_type.rb +50 -0
  93. data/lib/ronin/support/binary/ctypes/uint32_type.rb +50 -0
  94. data/lib/ronin/support/binary/ctypes/uint64_type.rb +50 -0
  95. data/lib/ronin/support/binary/ctypes/uint8_type.rb +41 -0
  96. data/lib/ronin/support/binary/ctypes/uint_type.rb +59 -0
  97. data/lib/ronin/support/binary/ctypes/unbounded_array_type.rb +258 -0
  98. data/lib/ronin/support/binary/ctypes/union_object_type.rb +173 -0
  99. data/lib/ronin/support/binary/ctypes/union_type.rb +261 -0
  100. data/lib/ronin/support/binary/ctypes.rb +462 -0
  101. data/lib/ronin/support/binary/hexdump/core_ext/file.rb +118 -0
  102. data/lib/ronin/support/binary/hexdump/core_ext/string.rb +115 -0
  103. data/lib/ronin/support/binary/hexdump/core_ext.rb +20 -0
  104. data/lib/ronin/support/binary/hexdump/parser.rb +492 -0
  105. data/lib/ronin/support/binary/hexdump.rb +20 -0
  106. data/lib/ronin/support/binary/memory.rb +268 -0
  107. data/lib/ronin/support/binary/packet.rb +33 -0
  108. data/lib/ronin/support/binary/stack.rb +256 -0
  109. data/lib/ronin/support/binary/stream/methods.rb +1755 -0
  110. data/lib/ronin/support/binary/stream.rb +151 -0
  111. data/lib/ronin/support/binary/struct/member.rb +86 -0
  112. data/lib/ronin/support/binary/struct.rb +830 -0
  113. data/lib/ronin/support/binary/template.rb +284 -0
  114. data/lib/ronin/support/binary/union.rb +162 -0
  115. data/lib/ronin/{formatting/extensions → support}/binary.rb +10 -10
  116. data/lib/ronin/support/cli/ansi.rb +330 -0
  117. data/lib/ronin/support/cli/io_shell/core_ext/io.rb +67 -0
  118. data/lib/ronin/{extensions/meta.rb → support/cli/io_shell/core_ext.rb} +3 -4
  119. data/lib/ronin/support/cli/io_shell.rb +161 -0
  120. data/lib/ronin/support/cli/printing.rb +216 -0
  121. data/lib/ronin/support/cli.rb +20 -0
  122. data/lib/ronin/support/compression/core_ext/file.rb +70 -0
  123. data/lib/ronin/support/compression/core_ext/string.rb +101 -0
  124. data/lib/ronin/{fuzzing/extensions.rb → support/compression/core_ext.rb} +3 -4
  125. data/lib/ronin/support/compression/gzip/reader.rb +70 -0
  126. data/lib/ronin/support/compression/gzip/writer.rb +74 -0
  127. data/lib/ronin/support/compression/gzip.rb +105 -0
  128. data/lib/ronin/support/compression/mixin.rb +180 -0
  129. data/lib/ronin/{network/extensions/esmtp/net.rb → support/compression/zlib.rb} +6 -7
  130. data/lib/ronin/support/compression.rb +174 -0
  131. data/lib/ronin/{extensions → support/core_ext}/enumerable.rb +2 -3
  132. data/lib/ronin/{extensions → support/core_ext}/file.rb +2 -31
  133. data/lib/ronin/support/core_ext/integer.rb +37 -0
  134. data/lib/ronin/support/core_ext/ipaddr.rb +65 -0
  135. data/lib/ronin/{extensions → support/core_ext}/kernel.rb +7 -6
  136. data/lib/ronin/{extensions → support/core_ext}/resolv.rb +2 -25
  137. data/lib/ronin/{extensions → support/core_ext}/string.rb +114 -54
  138. data/lib/ronin/support/core_ext.rb +34 -0
  139. data/lib/ronin/support/crypto/cert.rb +522 -0
  140. data/lib/ronin/support/crypto/cert_chain.rb +204 -0
  141. data/lib/ronin/support/crypto/cipher/aes.rb +71 -0
  142. data/lib/ronin/support/crypto/cipher/aes128.rb +54 -0
  143. data/lib/ronin/support/crypto/cipher/aes256.rb +54 -0
  144. data/lib/ronin/support/crypto/cipher.rb +194 -0
  145. data/lib/ronin/support/crypto/core_ext/file.rb +660 -0
  146. data/lib/ronin/support/crypto/core_ext/string.rb +548 -0
  147. data/lib/ronin/{binary.rb → support/crypto/core_ext.rb} +4 -5
  148. data/lib/ronin/{network/mixins/mixin.rb → support/crypto/hmac.rb} +18 -28
  149. data/lib/ronin/support/crypto/key/dh.rb +122 -0
  150. data/lib/ronin/support/crypto/key/dsa.rb +103 -0
  151. data/lib/ronin/support/crypto/key/ec.rb +99 -0
  152. data/lib/ronin/support/crypto/key/methods.rb +163 -0
  153. data/lib/ronin/support/crypto/key/rsa.rb +169 -0
  154. data/lib/ronin/support/crypto/key.rb +105 -0
  155. data/lib/ronin/support/crypto/mixin.rb +620 -0
  156. data/lib/ronin/{network/extensions/http/net.rb → support/crypto/openssl.rb} +6 -7
  157. data/lib/ronin/support/crypto.rb +779 -0
  158. data/lib/ronin/support/encoding/base16/core_ext/string.rb +63 -0
  159. data/lib/ronin/{formatting/binary.rb → support/encoding/base16/core_ext.rb} +3 -4
  160. data/lib/ronin/support/encoding/base16.rb +82 -0
  161. data/lib/ronin/support/encoding/base32/core_ext/string.rb +63 -0
  162. data/lib/ronin/support/encoding/base32/core_ext.rb +19 -0
  163. data/lib/ronin/support/encoding/base32.rb +164 -0
  164. data/lib/ronin/support/encoding/base64/core_ext/string.rb +76 -0
  165. data/lib/ronin/support/encoding/base64/core_ext.rb +19 -0
  166. data/lib/ronin/support/encoding/base64.rb +78 -0
  167. data/lib/ronin/support/encoding/c/core_ext/integer.rb +82 -0
  168. data/lib/ronin/support/encoding/c/core_ext/string.rb +125 -0
  169. data/lib/ronin/support/encoding/c/core_ext.rb +20 -0
  170. data/lib/ronin/support/encoding/c.rb +277 -0
  171. data/lib/ronin/support/encoding/core_ext/string.rb +107 -0
  172. data/lib/ronin/support/encoding/core_ext.rb +33 -0
  173. data/lib/ronin/support/encoding/hex/core_ext/integer.rb +82 -0
  174. data/lib/ronin/support/encoding/hex/core_ext/string.rb +133 -0
  175. data/lib/ronin/support/encoding/hex/core_ext.rb +22 -0
  176. data/lib/ronin/support/encoding/hex.rb +248 -0
  177. data/lib/ronin/support/encoding/html/core_ext/integer.rb +106 -0
  178. data/lib/ronin/support/encoding/html/core_ext/string.rb +130 -0
  179. data/lib/ronin/support/encoding/html/core_ext.rb +20 -0
  180. data/lib/ronin/support/encoding/html.rb +233 -0
  181. data/lib/ronin/support/encoding/http/core_ext/integer.rb +95 -0
  182. data/lib/ronin/support/encoding/http/core_ext/string.rb +129 -0
  183. data/lib/ronin/support/encoding/http/core_ext.rb +20 -0
  184. data/lib/ronin/support/encoding/http.rb +241 -0
  185. data/lib/ronin/support/encoding/js/core_ext/integer.rb +67 -0
  186. data/lib/ronin/support/encoding/js/core_ext/string.rb +125 -0
  187. data/lib/ronin/support/encoding/js/core_ext.rb +20 -0
  188. data/lib/ronin/support/encoding/js.rb +279 -0
  189. data/lib/ronin/support/encoding/powershell/core_ext/integer.rb +87 -0
  190. data/lib/ronin/support/encoding/powershell/core_ext/string.rb +145 -0
  191. data/lib/ronin/support/encoding/powershell/core_ext.rb +20 -0
  192. data/lib/ronin/support/encoding/powershell.rb +297 -0
  193. data/lib/ronin/{formatting/extensions/http/integer.rb → support/encoding/punycode/core_ext/string.rb} +23 -29
  194. data/lib/ronin/support/encoding/punycode/core_ext.rb +19 -0
  195. data/lib/ronin/support/encoding/punycode.rb +76 -0
  196. data/lib/ronin/support/encoding/quoted_printable/core_ext/string.rb +75 -0
  197. data/lib/ronin/support/encoding/quoted_printable/core_ext.rb +19 -0
  198. data/lib/ronin/support/encoding/quoted_printable.rb +102 -0
  199. data/lib/ronin/support/encoding/ruby/core_ext/string.rb +129 -0
  200. data/lib/ronin/support/encoding/ruby/core_ext.rb +19 -0
  201. data/lib/ronin/support/encoding/ruby.rb +235 -0
  202. data/lib/ronin/support/encoding/shell/core_ext/integer.rb +89 -0
  203. data/lib/ronin/support/encoding/shell/core_ext/string.rb +134 -0
  204. data/lib/ronin/support/encoding/shell/core_ext.rb +20 -0
  205. data/lib/ronin/support/encoding/shell.rb +293 -0
  206. data/lib/ronin/{network/extensions → support/encoding}/smtp.rb +4 -4
  207. data/lib/ronin/support/encoding/sql/core_ext/string.rb +114 -0
  208. data/lib/ronin/{formatting/html.rb → support/encoding/sql/core_ext.rb} +3 -4
  209. data/lib/ronin/support/encoding/sql.rb +124 -0
  210. data/lib/ronin/support/encoding/uri/core_ext/integer.rb +149 -0
  211. data/lib/ronin/support/encoding/uri/core_ext/string.rb +195 -0
  212. data/lib/ronin/support/encoding/uri/core_ext.rb +20 -0
  213. data/lib/ronin/support/encoding/uri.rb +424 -0
  214. data/lib/ronin/support/encoding/uuencoding/core_ext/string.rb +73 -0
  215. data/lib/ronin/support/encoding/uuencoding/core_ext.rb +19 -0
  216. data/lib/ronin/support/encoding/uuencoding.rb +70 -0
  217. data/lib/ronin/support/encoding/xml/core_ext/integer.rb +100 -0
  218. data/lib/ronin/support/encoding/xml/core_ext/string.rb +124 -0
  219. data/lib/ronin/support/encoding/xml/core_ext.rb +20 -0
  220. data/lib/ronin/support/encoding/xml.rb +328 -0
  221. data/lib/ronin/support/encoding.rb +46 -0
  222. data/lib/ronin/support/home.rb +88 -0
  223. data/lib/ronin/{network/network.rb → support/mixin.rb} +17 -20
  224. data/lib/ronin/support/network/asn/dns_record.rb +112 -0
  225. data/lib/ronin/support/network/asn/list.rb +269 -0
  226. data/lib/ronin/support/network/asn/record.rb +164 -0
  227. data/lib/ronin/support/network/asn/record_set.rb +226 -0
  228. data/lib/ronin/support/network/asn.rb +88 -0
  229. data/lib/ronin/{binary/hexdump.rb → support/network/core_ext.rb} +3 -4
  230. data/lib/ronin/support/network/dns/idn.rb +38 -0
  231. data/lib/ronin/support/network/dns/mixin.rb +941 -0
  232. data/lib/ronin/support/network/dns/resolver.rb +707 -0
  233. data/lib/ronin/support/network/dns.rb +1109 -0
  234. data/lib/ronin/support/network/domain.rb +70 -0
  235. data/lib/ronin/support/network/email_address.rb +574 -0
  236. data/lib/ronin/support/network/esmtp/mixin.rb +115 -0
  237. data/lib/ronin/support/network/exceptions.rb +43 -0
  238. data/lib/ronin/support/network/ftp/mixin.rb +106 -0
  239. data/lib/ronin/support/network/host.rb +1473 -0
  240. data/lib/ronin/support/network/http/cookie.rb +245 -0
  241. data/lib/ronin/support/network/http/core_ext/uri/http.rb +63 -0
  242. data/lib/ronin/support/network/http/core_ext.rb +19 -0
  243. data/lib/ronin/support/network/http/mixin.rb +890 -0
  244. data/lib/ronin/support/network/http/request.rb +215 -0
  245. data/lib/ronin/support/network/http/set_cookie.rb +210 -0
  246. data/lib/ronin/support/network/http/user_agents.rb +115 -0
  247. data/lib/ronin/support/network/http.rb +2582 -0
  248. data/lib/ronin/support/network/imap/mixin.rb +133 -0
  249. data/lib/ronin/support/network/ip/mixin.rb +114 -0
  250. data/lib/ronin/support/network/ip.rb +540 -0
  251. data/lib/ronin/support/network/ip_range/cidr.rb +252 -0
  252. data/lib/ronin/support/network/ip_range/glob.rb +309 -0
  253. data/lib/ronin/support/network/ip_range/range.rb +249 -0
  254. data/lib/ronin/support/network/ip_range.rb +284 -0
  255. data/lib/ronin/support/network/mixin.rb +58 -0
  256. data/lib/ronin/support/network/packet.rb +27 -0
  257. data/lib/ronin/support/network/pop3/mixin.rb +113 -0
  258. data/lib/ronin/support/network/proxy.rb +602 -0
  259. data/lib/ronin/support/network/public_suffix/list.rb +339 -0
  260. data/lib/ronin/support/network/public_suffix/suffix.rb +118 -0
  261. data/lib/ronin/support/network/public_suffix/suffix_set.rb +150 -0
  262. data/lib/ronin/support/network/public_suffix.rb +41 -0
  263. data/lib/ronin/support/network/smtp/email.rb +190 -0
  264. data/lib/ronin/support/network/smtp/mixin.rb +290 -0
  265. data/lib/ronin/support/network/smtp.rb +19 -0
  266. data/lib/ronin/support/network/ssl/local_cert.rb +114 -0
  267. data/lib/ronin/support/network/ssl/local_key.rb +84 -0
  268. data/lib/ronin/support/network/ssl/mixin.rb +740 -0
  269. data/lib/ronin/{network/extensions/imap/net.rb → support/network/ssl/openssl.rb} +6 -7
  270. data/lib/ronin/support/network/ssl/proxy.rb +296 -0
  271. data/lib/ronin/support/network/ssl.rb +173 -0
  272. data/lib/ronin/support/network/tcp/mixin.rb +400 -0
  273. data/lib/ronin/support/network/tcp/proxy.rb +435 -0
  274. data/lib/ronin/support/network/tcp.rb +443 -0
  275. data/lib/ronin/support/network/telnet/mixin.rb +150 -0
  276. data/lib/ronin/support/network/telnet.rb +90 -0
  277. data/lib/ronin/support/network/tld/list.rb +266 -0
  278. data/lib/ronin/support/network/tld.rb +41 -0
  279. data/lib/ronin/support/network/tls/mixin.rb +670 -0
  280. data/lib/ronin/support/network/tls/proxy.rb +135 -0
  281. data/lib/ronin/{network/mixins/dns.rb → support/network/tls.rb} +23 -25
  282. data/lib/ronin/support/network/udp/mixin.rb +389 -0
  283. data/lib/ronin/support/network/udp/proxy.rb +192 -0
  284. data/lib/ronin/support/network/udp.rb +435 -0
  285. data/lib/ronin/support/network/unix/mixin.rb +273 -0
  286. data/lib/ronin/support/network.rb +37 -0
  287. data/lib/ronin/support/path.rb +136 -0
  288. data/lib/ronin/{network/extensions/dns/net.rb → support/text/core_ext/regexp.rb} +5 -6
  289. data/lib/ronin/support/text/core_ext/string.rb +46 -0
  290. data/lib/ronin/{formatting.rb → support/text/core_ext.rb} +7 -9
  291. data/lib/ronin/support/text/entropy/core_ext/string.rb +45 -0
  292. data/lib/ronin/{formatting/http.rb → support/text/entropy/core_ext.rb} +3 -4
  293. data/lib/ronin/support/text/entropy.rb +66 -0
  294. data/lib/ronin/support/text/erb/mixin.rb +44 -0
  295. data/lib/ronin/support/text/erb.rb +19 -0
  296. data/lib/ronin/support/text/homoglyph/core_ext/string.rb +108 -0
  297. data/lib/ronin/{formatting/digest.rb → support/text/homoglyph/core_ext.rb} +3 -4
  298. data/lib/ronin/{network/http/exceptions/unknown_request.rb → support/text/homoglyph/exceptions.rb} +7 -6
  299. data/lib/ronin/support/text/homoglyph/table.rb +228 -0
  300. data/lib/ronin/support/text/homoglyph.rb +142 -0
  301. data/lib/ronin/support/text/mixin.rb +31 -0
  302. data/lib/ronin/support/text/patterns/credentials.rb +75 -0
  303. data/lib/ronin/support/text/patterns/crypto.rb +67 -0
  304. data/lib/ronin/support/text/patterns/file_system.rb +93 -0
  305. data/lib/ronin/support/text/patterns/language.rb +37 -0
  306. data/lib/ronin/support/text/patterns/network/public_suffix.rb +44 -0
  307. data/lib/ronin/support/text/patterns/network.rb +140 -0
  308. data/lib/ronin/support/text/patterns/numeric.rb +52 -0
  309. data/lib/ronin/support/text/patterns/pii.rb +105 -0
  310. data/lib/ronin/support/text/patterns/source_code.rb +148 -0
  311. data/lib/ronin/{extensions.rb → support/text/patterns.rb} +10 -13
  312. data/lib/ronin/support/text/random/mixin.rb +437 -0
  313. data/lib/ronin/support/text/random.rb +419 -0
  314. data/lib/ronin/support/text/typo/core_ext/string.rb +123 -0
  315. data/lib/ronin/support/text/typo/core_ext.rb +19 -0
  316. data/lib/ronin/support/text/typo/exceptions.rb +28 -0
  317. data/lib/ronin/support/text/typo/generator.rb +161 -0
  318. data/lib/ronin/support/text/typo.rb +260 -0
  319. data/lib/ronin/{formatting → support}/text.rb +10 -4
  320. data/lib/ronin/support/version.rb +3 -4
  321. data/lib/ronin/support.rb +17 -12
  322. data/ronin-support.gemspec +2 -1
  323. metadata +342 -291
  324. data/lib/ronin/binary/hexdump/parser.rb +0 -403
  325. data/lib/ronin/binary/struct.rb +0 -567
  326. data/lib/ronin/binary/template.rb +0 -454
  327. data/lib/ronin/extensions/ip_addr.rb +0 -216
  328. data/lib/ronin/extensions/meta/object.rb +0 -24
  329. data/lib/ronin/extensions/regexp.rb +0 -157
  330. data/lib/ronin/formatting/extensions/binary/base64.rb +0 -106
  331. data/lib/ronin/formatting/extensions/binary/file.rb +0 -77
  332. data/lib/ronin/formatting/extensions/binary/float.rb +0 -65
  333. data/lib/ronin/formatting/extensions/binary/integer.rb +0 -180
  334. data/lib/ronin/formatting/extensions/binary/string.rb +0 -345
  335. data/lib/ronin/formatting/extensions/digest/file.rb +0 -129
  336. data/lib/ronin/formatting/extensions/digest/string.rb +0 -86
  337. data/lib/ronin/formatting/extensions/digest.rb +0 -21
  338. data/lib/ronin/formatting/extensions/html/integer.rb +0 -142
  339. data/lib/ronin/formatting/extensions/html/string.rb +0 -194
  340. data/lib/ronin/formatting/extensions/html.rb +0 -21
  341. data/lib/ronin/formatting/extensions/http/string.rb +0 -110
  342. data/lib/ronin/formatting/extensions/http.rb +0 -21
  343. data/lib/ronin/formatting/extensions/sql/string.rb +0 -130
  344. data/lib/ronin/formatting/extensions/sql.rb +0 -20
  345. data/lib/ronin/formatting/extensions/text/array.rb +0 -137
  346. data/lib/ronin/formatting/extensions/text/string.rb +0 -297
  347. data/lib/ronin/formatting/extensions.rb +0 -24
  348. data/lib/ronin/fuzzing/extensions/string.rb +0 -209
  349. data/lib/ronin/fuzzing/fuzzer.rb +0 -110
  350. data/lib/ronin/fuzzing/fuzzing.rb +0 -360
  351. data/lib/ronin/fuzzing/mutator.rb +0 -161
  352. data/lib/ronin/fuzzing/repeater.rb +0 -81
  353. data/lib/ronin/fuzzing/template.rb +0 -133
  354. data/lib/ronin/fuzzing.rb +0 -21
  355. data/lib/ronin/mixin.rb +0 -89
  356. data/lib/ronin/network/dns.rb +0 -201
  357. data/lib/ronin/network/esmtp.rb +0 -113
  358. data/lib/ronin/network/extensions/dns.rb +0 -20
  359. data/lib/ronin/network/extensions/esmtp.rb +0 -20
  360. data/lib/ronin/network/extensions/http/uri/http.rb +0 -228
  361. data/lib/ronin/network/extensions/http.rb +0 -21
  362. data/lib/ronin/network/extensions/imap.rb +0 -20
  363. data/lib/ronin/network/extensions/pop3/net.rb +0 -24
  364. data/lib/ronin/network/extensions/pop3.rb +0 -20
  365. data/lib/ronin/network/extensions/smtp/net.rb +0 -24
  366. data/lib/ronin/network/extensions/ssl/net.rb +0 -24
  367. data/lib/ronin/network/extensions/ssl.rb +0 -20
  368. data/lib/ronin/network/extensions/tcp/net.rb +0 -24
  369. data/lib/ronin/network/extensions/tcp.rb +0 -20
  370. data/lib/ronin/network/extensions/telnet/net.rb +0 -24
  371. data/lib/ronin/network/extensions/telnet.rb +0 -20
  372. data/lib/ronin/network/extensions/udp/net.rb +0 -24
  373. data/lib/ronin/network/extensions/udp.rb +0 -20
  374. data/lib/ronin/network/extensions.rb +0 -29
  375. data/lib/ronin/network/ftp.rb +0 -149
  376. data/lib/ronin/network/http/exceptions.rb +0 -20
  377. data/lib/ronin/network/http/http.rb +0 -1122
  378. data/lib/ronin/network/http/proxy.rb +0 -330
  379. data/lib/ronin/network/http.rb +0 -22
  380. data/lib/ronin/network/imap.rb +0 -158
  381. data/lib/ronin/network/mixins/esmtp.rb +0 -164
  382. data/lib/ronin/network/mixins/ftp.rb +0 -155
  383. data/lib/ronin/network/mixins/http.rb +0 -227
  384. data/lib/ronin/network/mixins/imap.rb +0 -156
  385. data/lib/ronin/network/mixins/pop3.rb +0 -149
  386. data/lib/ronin/network/mixins/smtp.rb +0 -159
  387. data/lib/ronin/network/mixins/ssl.rb +0 -148
  388. data/lib/ronin/network/mixins/tcp.rb +0 -368
  389. data/lib/ronin/network/mixins/telnet.rb +0 -208
  390. data/lib/ronin/network/mixins/udp.rb +0 -381
  391. data/lib/ronin/network/mixins/unix.rb +0 -279
  392. data/lib/ronin/network/mixins.rb +0 -29
  393. data/lib/ronin/network/pop3.rb +0 -124
  394. data/lib/ronin/network/proxy.rb +0 -578
  395. data/lib/ronin/network/smtp/email.rb +0 -174
  396. data/lib/ronin/network/smtp/smtp.rb +0 -230
  397. data/lib/ronin/network/smtp.rb +0 -22
  398. data/lib/ronin/network/ssl.rb +0 -186
  399. data/lib/ronin/network/tcp/proxy.rb +0 -417
  400. data/lib/ronin/network/tcp/tcp.rb +0 -452
  401. data/lib/ronin/network/tcp.rb +0 -21
  402. data/lib/ronin/network/telnet.rb +0 -266
  403. data/lib/ronin/network/udp/proxy.rb +0 -191
  404. data/lib/ronin/network/udp/udp.rb +0 -452
  405. data/lib/ronin/network/udp.rb +0 -21
  406. data/lib/ronin/network/unix.rb +0 -286
  407. data/lib/ronin/network.rb +0 -31
  408. data/lib/ronin/path.rb +0 -133
  409. data/lib/ronin/spec/ui/output.rb +0 -22
  410. data/lib/ronin/support/inflector.rb +0 -92
  411. data/lib/ronin/templates/erb.rb +0 -78
  412. data/lib/ronin/templates/template.rb +0 -169
  413. data/lib/ronin/templates.rb +0 -21
  414. data/lib/ronin/ui/output/helpers.rb +0 -296
  415. data/lib/ronin/ui/output/output.rb +0 -142
  416. data/lib/ronin/ui/output/terminal/color.rb +0 -124
  417. data/lib/ronin/ui/output/terminal/raw.rb +0 -103
  418. data/lib/ronin/ui/output/terminal.rb +0 -21
  419. data/lib/ronin/ui/output.rb +0 -21
  420. data/lib/ronin/ui/shell.rb +0 -286
  421. data/lib/ronin/wordlist.rb +0 -287
  422. data/spec/binary/hexdump/helpers/hexdumps/ascii.bin +0 -0
  423. data/spec/binary/hexdump/helpers/hexdumps/hexdump_decimal_shorts.txt +0 -17
  424. data/spec/binary/hexdump/helpers/hexdumps/hexdump_hex_bytes.txt +0 -17
  425. data/spec/binary/hexdump/helpers/hexdumps/hexdump_hex_shorts.txt +0 -17
  426. data/spec/binary/hexdump/helpers/hexdumps/hexdump_octal_bytes.txt +0 -17
  427. data/spec/binary/hexdump/helpers/hexdumps/hexdump_octal_shorts.txt +0 -17
  428. data/spec/binary/hexdump/helpers/hexdumps/hexdump_repeated.txt +0 -6
  429. data/spec/binary/hexdump/helpers/hexdumps/od_decimal_bytes.txt +0 -17
  430. data/spec/binary/hexdump/helpers/hexdumps/od_decimal_ints.txt +0 -17
  431. data/spec/binary/hexdump/helpers/hexdumps/od_decimal_quads.txt +0 -17
  432. data/spec/binary/hexdump/helpers/hexdumps/od_decimal_shorts.txt +0 -17
  433. data/spec/binary/hexdump/helpers/hexdumps/od_doubles.txt +0 -17
  434. data/spec/binary/hexdump/helpers/hexdumps/od_floats.txt +0 -17
  435. data/spec/binary/hexdump/helpers/hexdumps/od_hex_bytes.txt +0 -17
  436. data/spec/binary/hexdump/helpers/hexdumps/od_hex_ints.txt +0 -17
  437. data/spec/binary/hexdump/helpers/hexdumps/od_hex_quads.txt +0 -17
  438. data/spec/binary/hexdump/helpers/hexdumps/od_hex_shorts.txt +0 -17
  439. data/spec/binary/hexdump/helpers/hexdumps/od_named_chars.txt +0 -17
  440. data/spec/binary/hexdump/helpers/hexdumps/od_octal_bytes.txt +0 -17
  441. data/spec/binary/hexdump/helpers/hexdumps/od_octal_ints.txt +0 -17
  442. data/spec/binary/hexdump/helpers/hexdumps/od_octal_quads.txt +0 -17
  443. data/spec/binary/hexdump/helpers/hexdumps/od_octal_shorts.txt +0 -17
  444. data/spec/binary/hexdump/helpers/hexdumps/od_repeated.txt +0 -6
  445. data/spec/binary/hexdump/helpers/hexdumps/repeated.bin +0 -1
  446. data/spec/binary/hexdump/helpers/hexdumps.rb +0 -13
  447. data/spec/binary/hexdump/parser_spec.rb +0 -302
  448. data/spec/binary/struct_spec.rb +0 -496
  449. data/spec/binary/template_spec.rb +0 -416
  450. data/spec/extensions/enumerable_spec.rb +0 -24
  451. data/spec/extensions/file_spec.rb +0 -61
  452. data/spec/extensions/ip_addr_spec.rb +0 -203
  453. data/spec/extensions/kernel_spec.rb +0 -30
  454. data/spec/extensions/regexp_spec.rb +0 -482
  455. data/spec/extensions/resolv_spec.rb +0 -18
  456. data/spec/extensions/string_spec.rb +0 -180
  457. data/spec/formatting/binary/array_spec.rb +0 -26
  458. data/spec/formatting/binary/base64_spec.rb +0 -50
  459. data/spec/formatting/binary/float_spec.rb +0 -36
  460. data/spec/formatting/binary/integer_spec.rb +0 -166
  461. data/spec/formatting/binary/string_spec.rb +0 -199
  462. data/spec/formatting/digest/string_spec.rb +0 -82
  463. data/spec/formatting/html/integer_spec.rb +0 -66
  464. data/spec/formatting/html/string_spec.rb +0 -103
  465. data/spec/formatting/http/integer_spec.rb +0 -42
  466. data/spec/formatting/http/string_spec.rb +0 -76
  467. data/spec/formatting/sql/string_spec.rb +0 -77
  468. data/spec/formatting/text/array_spec.rb +0 -105
  469. data/spec/formatting/text/string_spec.rb +0 -162
  470. data/spec/fuzzing/extensions/string_spec.rb +0 -87
  471. data/spec/fuzzing/fuzzer_spec.rb +0 -109
  472. data/spec/fuzzing/fuzzing_spec.rb +0 -24
  473. data/spec/fuzzing/mutator_spec.rb +0 -112
  474. data/spec/fuzzing/repeater_spec.rb +0 -57
  475. data/spec/fuzzing/template_spec.rb +0 -54
  476. data/spec/mixin_spec.rb +0 -51
  477. data/spec/network/dns_spec.rb +0 -203
  478. data/spec/network/ftp_spec.rb +0 -81
  479. data/spec/network/http/http_spec.rb +0 -559
  480. data/spec/network/http/proxy_spec.rb +0 -148
  481. data/spec/network/network_spec.rb +0 -8
  482. data/spec/network/proxy_spec.rb +0 -121
  483. data/spec/network/shared/unix_server.rb +0 -31
  484. data/spec/network/smtp/email_spec.rb +0 -100
  485. data/spec/network/ssl_spec.rb +0 -70
  486. data/spec/network/tcp/proxy_spec.rb +0 -118
  487. data/spec/network/tcp/tcp_spec.rb +0 -316
  488. data/spec/network/telnet_spec.rb +0 -67
  489. data/spec/network/udp/udp_spec.rb +0 -298
  490. data/spec/network/unix_spec.rb +0 -182
  491. data/spec/path_spec.rb +0 -111
  492. data/spec/spec_helper.rb +0 -8
  493. data/spec/support/inflector_spec.rb +0 -22
  494. data/spec/support_spec.rb +0 -8
  495. data/spec/templates/classes/example_erb.rb +0 -11
  496. data/spec/templates/classes/example_template.rb +0 -35
  497. data/spec/templates/erb_spec.rb +0 -21
  498. data/spec/templates/helpers/data/includes/_relative.erb +0 -1
  499. data/spec/templates/helpers/data/templates/example.erb +0 -1
  500. data/spec/templates/helpers/data.rb +0 -9
  501. data/spec/templates/template_spec.rb +0 -54
  502. data/spec/ui/classes/test_shell.rb +0 -22
  503. data/spec/ui/output_spec.rb +0 -32
  504. data/spec/ui/shell_spec.rb +0 -83
  505. data/spec/wordlist_spec.rb +0 -151
data/ChangeLog.md CHANGED
@@ -1,133 +1,503 @@
1
+ ### 1.0.0 / 2023-XX-XX
2
+
3
+ * Added {File.aes_encrypt}.
4
+ * Added {File.aes_decrypt}.
5
+ * Added {File.aes128_encrypt}.
6
+ * Added {File.aes128_decrypt}.
7
+ * Added {File.aes256_encrypt}.
8
+ * Added {File.aes256_decrypt}.
9
+ * Added {File.rsa_encrypt}.
10
+ * Added {File.rsa_decrypt}.
11
+ * Added {File.gzip}.
12
+ * Added {File.gunzip}.
13
+ * Added {File.tar}.
14
+ * Added {File.untar}.
15
+ * Added {File.zip}.
16
+ * Added {File.unzip}.
17
+ * Added {Integer#c_escape}.
18
+ * Added {Integer#c_encode}.
19
+ * Added {Integer#powershell_encode}.
20
+ * Added {Integer#powershell_escape}.
21
+ * Added {Integer#shell_encode}.
22
+ * Added {Integer#shell_escape}.
23
+ * Added {Integer#uri_form_escape}.
24
+ * Added {Integer#uri_form_encode}.
25
+ * Added {Integer#to_hex}.
26
+ * Added {Integer#to_int8}.
27
+ * Added {Integer#to_int16}.
28
+ * Added {Integer#to_int32}.
29
+ * Added {Integer#to_int64}.
30
+ * Added {Integer#to_uint8}.
31
+ * Added {Integer#to_uint16}.
32
+ * Added {Integer#to_uint32}.
33
+ * Added {Integer#to_uint64}.
34
+ * Added {String#base16_encode}.
35
+ * Added {String#base16_decode}.
36
+ * Added {String#base32_encode}.
37
+ * Added {String#base32_decode}.
38
+ * Added {String#c_escape}.
39
+ * Added {String#c_unescape}.
40
+ * Added {String#c_encode}.
41
+ * Added {String#c_string}.
42
+ * Added {String#c_unquote}.
43
+ * Added {String#hex_string}.
44
+ * Added {String#hex_unquote}.
45
+ * Added {String#http_encode}.
46
+ * Added {String#js_encode}.
47
+ * Added {String#js_string}.
48
+ * Added {String#js_unquote}.
49
+ * Added {String#powershell_escape}.
50
+ * Added {String#powershell_unescape}.
51
+ * Added {String#powershell_encode}.
52
+ * Added {String#powershell_string}.
53
+ * Added {String#powershell_unquote}.
54
+ * Added {String#punycode_encode}.
55
+ * Added {String#punycode_decode}.
56
+ * Added {String#quoted_printable_escape}.
57
+ * Added {String#quoted_printable_unescape}.
58
+ * Added {String#ruby_escape}.
59
+ * Added {String#ruby_unescape}.
60
+ * Added {String#ruby_encode}.
61
+ * Added {String#ruby_string}.
62
+ * Added {String#ruby_unquote}.
63
+ * Added {String#shell_escape}.
64
+ * Added {String#shell_unescape}.
65
+ * Added {String#shell_encode}.
66
+ * Added {String#shell_string}.
67
+ * Added {String#shell_unquote}.
68
+ * Added {String#sql_unescape}.
69
+ * Added {String#uri_form_escape}.
70
+ * Added {String#uri_form_encode}.
71
+ * Added {String#uu_encode}.
72
+ * Added {String#uu_decode}.
73
+ * Added {String#xml_encode}.
74
+ * Added {String#aes_encrypt}.
75
+ * Added {String#aes_decrypt}.
76
+ * Added {String#aes128_encrypt}.
77
+ * Added {String#aes128_decrypt}.
78
+ * Added {String#aes256_encrypt}.
79
+ * Added {String#aes256_decrypt}.
80
+ * Added {String#rsa_encrypt}.
81
+ * Added {String#rsa_decrypt}.
82
+ * Added {String#gzip}.
83
+ * Added {String#gunzip}.
84
+ * Added {String#entropy}.
85
+ * Added {String#homoglyph}.
86
+ * Added {String#each_homoglyph}.
87
+ * Added {String#homoglyphs}.
88
+ * Added {String#typo}.
89
+ * Added {String#each_typo}.
90
+ * Added {String#typos}.
91
+ * Added {Ronin::Support::Archive}.
92
+ * Added {Ronin::Support::Archive::Tar}.
93
+ * Added {Ronin::Support::Archive::Zip}.
94
+ * Added {Ronin::Support::Archive::Mixin}.
95
+ * Added {Ronin::Support::Binary::CTypes}.
96
+ * Added {Ronin::Support::Binary::Array}.
97
+ * Added {Ronin::Support::Binary::Memory}.
98
+ * Added {Ronin::Support::Binary::Buffer}.
99
+ * Added {Ronin::Support::Binary::CString}.
100
+ * Added {Ronin::Support::Binary::Stack}.
101
+ * Added {Ronin::Support::Binary::Stream}.
102
+ * Added {Ronin::Support::Binary::Union}.
103
+ * Added {Ronin::Support::Binary::Hexdump::Parser#unpack}.
104
+ * Added {Ronin::Support::Binary::Hexdump::Parser#unhexdump}.
105
+ * Added {Ronin::Support::CLI::ANSI}.
106
+ * Added {Ronin::Support::CLI::Printing}.
107
+ * Added {Ronin::Support::Compression}.
108
+ * Added {Ronin::Support::Compression::Gzip}.
109
+ * Added {Ronin::Support::Compression::Gzip::Reader}.
110
+ * Added {Ronin::Support::Compression::Gzip::Writer}.
111
+ * Added {Ronin::Support::Compression::Mixin}.
112
+ * Added {Ronin::Support::Crypto}.
113
+ * Added {Ronin::Support::Crypto::HMAC}.
114
+ * Added {Ronin::Support::Crypto::Key}.
115
+ * Added {Ronin::Support::Crypto::Key::DH}.
116
+ * Added {Ronin::Support::Crypto::Key::DSA}.
117
+ * Added {Ronin::Support::Crypto::Key::EC}.
118
+ * Added {Ronin::Support::Crypto::Key::RSA}.
119
+ * Added {Ronin::Support::Crypto::Mixin}.
120
+ * Added {Ronin::Support::Encoding}.
121
+ * Added {Ronin::Support::Encoding::Base16}.
122
+ * Added {Ronin::Support::Encoding::Base32}.
123
+ * Added {Ronin::Support::Encoding::Base64}.
124
+ * Added {Ronin::Support::Encoding::C}.
125
+ * Added {Ronin::Support::Encoding::Hex}.
126
+ * Added {Ronin::Support::Encoding::HTML}.
127
+ * Added {Ronin::Support::Encoding::HTTP}.
128
+ * Added {Ronin::Support::Encoding::JS}.
129
+ * Added {Ronin::Support::Encoding::PowerShell}.
130
+ * Added {Ronin::Support::Encoding::Punycode}.
131
+ * Added {Ronin::Support::Encoding::QuotedPrintable}.
132
+ * Added {Ronin::Support::Encoding::Ruby}.
133
+ * Added {Ronin::Support::Encoding::Shell}.
134
+ * Added {Ronin::Support::Encoding::SQL}.
135
+ * Added {Ronin::Support::Encoding::URI}.
136
+ * Added {Ronin::Support::Encoding::UUEncoding}.
137
+ * Added {Ronin::Support::Encoding::XML}.
138
+ * Added {Ronin::Support::Home}.
139
+ * Added {Ronin::Support::Mixin}.
140
+ * Added {Ronin::Support::Network::ASN}.
141
+ * Added {Ronin::Support::Network::ASN::List}.
142
+ * Added {Ronin::Support::Network::DNS::IDN}.
143
+ * Added {Ronin::Support::Network::DNS::Resolver}.
144
+ * Added {Ronin::Support::Network::Domain}.
145
+ * Added {Ronin::Support::Network::EmailAddress}.
146
+ * Added {Ronin::Support::Network::Host}.
147
+ * Refactored {Ronin::Support::Network::HTTP} into a class.
148
+ * Added {Ronin::Support::Network::HTTP.connect}.
149
+ * Added {Ronin::Support::Network::HTTP.connect_uri}.
150
+ * Added {Ronin::Support::Network::HTTP#ssl?}.
151
+ * Added {Ronin::Support::Network::HTTP#user_agent}.
152
+ * Added {Ronin::Support::Network::HTTP#user_agent=}.
153
+ * Added {Ronin::Support::Network::HTTP#cookie=}.
154
+ * Added {Ronin::Support::Network::HTTP#request}.
155
+ * Added {Ronin::Support::Network::HTTP#response_status}.
156
+ * Added {Ronin::Support::Network::HTTP#ok?}.
157
+ * Added {Ronin::Support::Network::HTTP#response_headers}.
158
+ * Added {Ronin::Support::Network::HTTP#server_header}.
159
+ * Added {Ronin::Support::Network::HTTP#powered_by_header}.
160
+ * Added {Ronin::Support::Network::HTTP#response_body}.
161
+ * Added {Ronin::Support::Network::HTTP#copy}.
162
+ * Added {Ronin::Support::Network::HTTP#delete}.
163
+ * Added {Ronin::Support::Network::HTTP#get}.
164
+ * Added {Ronin::Support::Network::HTTP#get_headers}.
165
+ * Added {Ronin::Support::Network::HTTP#get_cookies}.
166
+ * Added {Ronin::Support::Network::HTTP#get_body}.
167
+ * Added {Ronin::Support::Network::HTTP#head}.
168
+ * Added {Ronin::Support::Network::HTTP#lock}.
169
+ * Added {Ronin::Support::Network::HTTP#mkcol}.
170
+ * Added {Ronin::Support::Network::HTTP#move}.
171
+ * Added {Ronin::Support::Network::HTTP#options}.
172
+ * Added {Ronin::Support::Network::HTTP#allowed_methods}.
173
+ * Added {Ronin::Support::Network::HTTP#patch}.
174
+ * Added {Ronin::Support::Network::HTTP#post}.
175
+ * Added {Ronin::Support::Network::HTTP#post_headers}.
176
+ * Added {Ronin::Support::Network::HTTP#post_body}.
177
+ * Added {Ronin::Support::Network::HTTP#propfind}.
178
+ * Added {Ronin::Support::Network::HTTP#proppatch}.
179
+ * Added {Ronin::Support::Network::HTTP#put}.
180
+ * Added {Ronin::Support::Network::HTTP#trace}.
181
+ * Added {Ronin::Support::Network::HTTP#unlock}.
182
+ * Added {Ronin::Support::Network::HTTP#close}.
183
+ * Added {Ronin::Support::Network::HTTP.response_status}.
184
+ * Added {Ronin::Support::Network::HTTP.ok?}.
185
+ * Added {Ronin::Support::Network::HTTP.response_headers}.
186
+ * Added {Ronin::Support::Network::HTTP.server_header}.
187
+ * Added {Ronin::Support::Network::HTTP.powered_by_header}.
188
+ * Added {Ronin::Support::Network::HTTP.response_body}.
189
+ * Added {Ronin::Support::Network::HTTP.copy}.
190
+ * Added {Ronin::Support::Network::HTTP.delete}.
191
+ * Added {Ronin::Support::Network::HTTP.get}.
192
+ * Added {Ronin::Support::Network::HTTP.get_headers}.
193
+ * Added {Ronin::Support::Network::HTTP.get_cookies}.
194
+ * Added {Ronin::Support::Network::HTTP.get_body}.
195
+ * Added {Ronin::Support::Network::HTTP.head}.
196
+ * Added {Ronin::Support::Network::HTTP.lock}.
197
+ * Added {Ronin::Support::Network::HTTP.mkcol}.
198
+ * Added {Ronin::Support::Network::HTTP.move}.
199
+ * Added {Ronin::Support::Network::HTTP.options}.
200
+ * Added {Ronin::Support::Network::HTTP.allowed_methods}.
201
+ * Added {Ronin::Support::Network::HTTP.patch}.
202
+ * Added {Ronin::Support::Network::HTTP.post}.
203
+ * Added {Ronin::Support::Network::HTTP.post_headers}.
204
+ * Added {Ronin::Support::Network::HTTP.post_body}.
205
+ * Added {Ronin::Support::Network::HTTP.propfind}.
206
+ * Added {Ronin::Support::Network::HTTP.proppatch}.
207
+ * Added {Ronin::Support::Network::HTTP.put}.
208
+ * Added {Ronin::Support::Network::HTTP.trace}.
209
+ * Added {Ronin::Support::Network::HTTP.unlock}.
210
+ * Added {Ronin::Support::Network::HTTP::Cookie}.
211
+ * Added {Ronin::Support::Network::HTTP::Mixin}.
212
+ * Added {Ronin::Support::Network::HTTP::Mixin#http_connect}.
213
+ * Added {Ronin::Support::Network::HTTP::Mixin#http_connect_uri}.
214
+ * Added {Ronin::Support::Network::HTTP::Mixin#http_response_status}.
215
+ * Added {Ronin::Support::Network::HTTP::Mixin#http_response_headers}.
216
+ * Added {Ronin::Support::Network::HTTP::Mixin#http_server_header}.
217
+ * Added {Ronin::Support::Network::HTTP::Mixin#http_powered_by_header}.
218
+ * Added {Ronin::Support::Network::HTTP::Mixin#http_response_body}.
219
+ * Added {Ronin::Support::Network::HTTP::Mixin#http_patch}.
220
+ * Added {Ronin::Support::Network::IP}.
221
+ * Added {Ronin::Support::Network::IP::Mixin}.
222
+ * Added {Ronin::Support::Network::IP::Mixin#public_address}.
223
+ * Added {Ronin::Support::Network::IP::Mixin#public_ip}.
224
+ * Added {Ronin::Support::Network::IP::Mixin#local_addresses}.
225
+ * Added {Ronin::Support::Network::IP::Mixin#local_address}.
226
+ * Added {Ronin::Support::Network::IP::Mixin#local_ips}.
227
+ * Added {Ronin::Support::Network::IP::Mixin#local_ip}.
228
+ * Added {Ronin::Support::Network::IPRange}.
229
+ * Added {Ronin::Support::Network::IPRange::CIDR}.
230
+ * Added {Ronin::Support::Network::IPRange::Glob}.
231
+ * Added {Ronin::Support::Network::IPRange::Range}.
232
+ * Added {Ronin::Support::Network::Mixin}.
233
+ * Added {Ronin::Support::Network::PublicSuffix}.
234
+ * Added {Ronin::Support::Network::PublicSuffix::List}.
235
+ * Added {Ronin::Support::Network::SSL.context}.
236
+ * Added {Ronin::Support::Network::SSL::Proxy#version}.
237
+ * Added {Ronin::Support::Network::TCP}.
238
+ * Added {Ronin::Support::Network::TLD}.
239
+ * Added {Ronin::Support::Network::TLD::List}.
240
+ * Added {Ronin::Support::Network::TLS}.
241
+ * Added {Ronin::Support::Network::TLS::Proxy}.
242
+ * Added {Ronin::Support::Network::UDP}.
243
+ * Added {Ronin::Support::Text}.
244
+ * Added {Ronin::Support::Text::Entropy}.
245
+ * Added {Ronin::Support::Text::Homoglyph}.
246
+ * Added {Ronin::Support::Text::Homoglyph::Table}.
247
+ * Added {Ronin::Support::Text::Patterns::SSH_PRIVATE_KEY}.
248
+ * Added {Ronin::Support::Text::Patterns::DSA_PRIVATE_KEY}.
249
+ * Added {Ronin::Support::Text::Patterns::EC_PRIVATE_KEY}.
250
+ * Added {Ronin::Support::Text::Patterns::RSA_PRIVATE_KEY}.
251
+ * Added {Ronin::Support::Text::Patterns::PRIVATE_KEY}.
252
+ * Added {Ronin::Support::Text::Patterns::AWS_ACCESS_KEY_ID}.
253
+ * Added {Ronin::Support::Text::Patterns::AWS_SECRET_ACCESS_KEY}.
254
+ * Added {Ronin::Support::Text::Patterns::API_KEY}.
255
+ * Added {Ronin::Support::Text::Patterns::MD5}.
256
+ * Added {Ronin::Support::Text::Patterns::SHA1}.
257
+ * Added {Ronin::Support::Text::Patterns::SHA256}.
258
+ * Added {Ronin::Support::Text::Patterns::SHA512}.
259
+ * Added {Ronin::Support::Text::Patterns::HASH}.
260
+ * Added {Ronin::Support::Text::Patterns::PUBLIC_KEY}.
261
+ * Added {Ronin::Support::Text::Patterns::SSH_PUBLIC_KEY}.
262
+ * Added {Ronin::Support::Text::Patterns::DIR_NAME}.
263
+ * Added {Ronin::Support::Text::Patterns::MAC_ADDR}.
264
+ * Added {Ronin::Support::Text::Patterns::IPV4_ADDR}.
265
+ * Added {Ronin::Support::Text::Patterns::IPV6_ADDR}.
266
+ * Added {Ronin::Support::Text::Patterns::IP_ADDR}.
267
+ * Added {Ronin::Support::Text::Patterns::PUBLIC_SUFFIX}.
268
+ * Added {Ronin::Support::Text::Patterns::DOMAIN}.
269
+ * Added {Ronin::Support::Text::Patterns::URI}.
270
+ * Added {Ronin::Support::Text::Patterns::URL}.
271
+ * Added {Ronin::Support::Text::Patterns::NUMBER}.
272
+ * Added {Ronin::Support::Text::Patterns::HEX_NUMBER}.
273
+ * Added {Ronin::Support::Text::Patterns::VERSION_NUMBER}.
274
+ * Added {Ronin::Support::Text::Patterns::EMAIL_ADDRESS}.
275
+ * Added {Ronin::Support::Text::Patterns::OBFUSCATED_EMAIL_AT}.
276
+ * Added {Ronin::Support::Text::Patterns::OBFUSCATED_EMAIL_DOT}.
277
+ * Added {Ronin::Support::Text::Patterns::OBFUSCATED_EMAIL_ADDRESS}.
278
+ * Added {Ronin::Support::Text::Patterns::SSN}.
279
+ * Added {Ronin::Support::Text::Patterns::AMEX_CC}.
280
+ * Added {Ronin::Support::Text::Patterns::DISCOVER_CC}.
281
+ * Added {Ronin::Support::Text::Patterns::MASTERCARD_CC}.
282
+ * Added {Ronin::Support::Text::Patterns::VISA_CC}.
283
+ * Added {Ronin::Support::Text::Patterns::VISA_MASTERCARD_CC}.
284
+ * Added {Ronin::Support::Text::Patterns::CC}.
285
+ * Added {Ronin::Support::Text::Patterns::VARIABLE_NAME}.
286
+ * Added {Ronin::Support::Text::Patterns::VARIABLE_ASSIGNMENT}.
287
+ * Added {Ronin::Support::Text::Patterns::FUNCTION_NAME}.
288
+ * Added {Ronin::Support::Text::Patterns::DOUBLE_QUOTED_STRING}.
289
+ * Added {Ronin::Support::Text::Patterns::SINGLE_QUOTED_STRING}.
290
+ * Added {Ronin::Support::Text::Patterns::STRING}.
291
+ * Added {Ronin::Support::Text::Patterns::BASE64}.
292
+ * Added {Ronin::Support::Text::Patterns::C_STYLE_COMMENT}.
293
+ * Added {Ronin::Support::Text::Patterns::C_COMMENT}.
294
+ * Added {Ronin::Support::Text::Patterns::CPP_COMMENT}.
295
+ * Added {Ronin::Support::Text::Patterns::JAVA_COMMENT}.
296
+ * Added {Ronin::Support::Text::Patterns::JAVASCRIPT_COMMENT}.
297
+ * Added {Ronin::Support::Text::Patterns::SHELL_STYLE_COMMENT}.
298
+ * Added {Ronin::Support::Text::Patterns::SHELL_COMMENT}.
299
+ * Added {Ronin::Support::Text::Patterns::BASH_COMMENT}.
300
+ * Added {Ronin::Support::Text::Patterns::RUBY_COMMENT}.
301
+ * Added {Ronin::Support::Text::Patterns::PYTHON_COMMENT}.
302
+ * Added {Ronin::Support::Text::Patterns::COMMENT}.
303
+ * Added {Ronin::Support::Text::Random}.
304
+ * Added {Ronin::Support::Text::Random::Mixin}.
305
+ * Added {Ronin::Support::Text::Typo}.
306
+ * Added {Ronin::Support::Text::Typo::Generator}.
307
+ * Renamed `ronin/support/formatting` to `ronin/support/encoding`.
308
+ * Moved all `Ronin::` constants into the {Ronin::Support} namespace.
309
+ * Moved `ronin/support/formatting/digest` core-ext methods into
310
+ `ronin/support/crypto`.
311
+ * Merged `ronin/support/network/network` into `ronin/support/network`.
312
+ * Removed the `data_paths` gem dependency.
313
+ * Removed the `parameters` gem dependency.
314
+ * Removed the `yard-parameters` gem dependency.
315
+ * Removed `ronin/support/inflector`.
316
+ * Removed `Integer#bytes`.
317
+ * Removed `Array#bytes` and `Array#chars` in favor of
318
+ {Ronin::Support::Binary::CString}.
319
+ * Removed the `probability:` keyword argument from {String#random_case}.
320
+ * Removed `udp_single_server` in favor of
321
+ {Ronin::Support::Network::UDP::Mixin#udp_recv udp_recv}.
322
+ * Removed `tcp_single_server` in favor of
323
+ {Ronin::Support::Network::TCP::Mixin#tcp_accept tcp_accept}.
324
+ * Removed `String#format_uri`.
325
+ * Removed `String#format_uri_form`.
326
+ * Removed `Integer#format_js`.
327
+ * Removed `String#format_js`.
328
+ * Removed `Integer#format_http`.
329
+ * Removed `String#format_http.
330
+ * Removed `Integer#format_xml`.
331
+ * Removed `String#format_xml.
332
+ * Removed `Integer#format_html`.
333
+ * Removed `String#format_html.
334
+ * Removed `Integer#format_c`.
335
+ * Removed `String#format_c.
336
+ * Removed `Ronin::Support::Network::IP.each` and
337
+ `Ronin::Support::Network::IP#each` in favor of
338
+ {Ronin::Support::Network::IPRange}.
339
+ * Removed `Resolv.resolver` in favor of {Ronin::Support::Network::DNS.resolver}.
340
+ * Removed `Ronin::Support::Network::Telnet.default_prompt`.
341
+ * Removed `Ronin::Support::Network::Telnet.default_port`.
342
+ * Removed `Ronin::Support::Network::SMTP.default_port`.
343
+ * Removed `Ronin::Support::Network::POP3.default_port`.
344
+ * Removed `Ronin::Support::Network::IMAP.default_port`.
345
+ * Removed `Ronin::Support::Network::FTP.default_port`.
346
+ * Removed `Ronin::Support::Network::HTTP::Proxy` value object.
347
+ * Removed verbose, normal, quiet, and silent printing modes from
348
+ {Ronin::Support::CLI::Printing}.
349
+ * Removed `Ronin::Support::CLI::Printing.format`.
350
+ * Removed `Ronin::Support::CLI::Printing#print_exception`.
351
+ * Removed `ronin/spec/cli/printing`.
352
+ * Removed `Ronin::UI::Output` in favor of {Ronin::Support::CLI::Printing}.
353
+ * Removed `Ronin::Wordlist` in favor of the [wordlist] gem.
354
+ * Removed `Ronin::UI::REPL` in favor of `Ronin::Core::CLI::Shell` in the
355
+ [ronin-core] gem.
356
+ * Removed `Ronin::UI::Shell` in favor of `Ronin::Core::CLI::Shell` in the
357
+ [ronin-core] gem.
358
+ * Removed `Ronin::Network::Mixins` in favor of separate `Mixin` modules for each
359
+ {Ronin::Support::Network} module.
360
+ * Removed `Net` core-exts.
361
+ * Removed `Ronin::Support::Binary::Template.translate`.
362
+ * Removed `Ronin::Templates` in favor of {Ronin::Support::Text::ERB}.
363
+ * Removed `ssl_server` and `ssl_server_session` in favor of
364
+ {Ronin::Support::Network::SSL::Mixin#ssl_server_socket ssl_server_socket}.
365
+ * Removed `String#depack` in favor of overriding {String#unpack}.
366
+ * Also override {String#unpack1} to match the functionality of {String#unpack}.
367
+
368
+ [wordlist]: https://github.com/postmodern/wordlist.rb#readme
369
+ [ronin-core]: https://github.com/ronin-rb/ronin-core#readme
370
+
1
371
  ### 0.5.2 / 2021-02-28
2
372
 
3
- * Ruby 3.0 support:
373
+ * Support Ruby 3.0:
4
374
  * Temporarily added the [net-telnet] gem as a dependency, since Ruby 3.0 moved
5
375
  `net/telnet` out of the stdlib.
6
- * {Ronin::Fuzzing::SHORT_LENGTHS} and {Ronin::Fuzzing::LONG_LENGTHS} are now
376
+ * `Ronin::Fuzzing::SHORT_LENGTHS` and `Ronin::Fuzzing::LONG_LENGTHS` are now
7
377
  `Set` objects, instead of `SortedSet`, which Ruby 3.0 moved out of stdlib.
8
378
  * Use `URI::DEFAULT_PARSER.escape` / `.unescape` in {String#uri_encode},
9
379
  {String#uri_decode}, and {Integer#uri_encode} now that `URI.encode`,
10
380
  `URI.decode`, `URI.escape`, `URI.unescape` have all been removed in
11
381
  Ruby 3.0.
12
- * Deprecated {Ronin::Network::Telnet}.
13
- * Allow {Ronin::Path#initialize} to accept a separator argument.
14
- * No longer bind new sockets to `0.0.0.0` by default in {Ronin::Network::TCP}
15
- and {Ronin::Network::UDP}. `0.0.0.0` is the IPv4 Any address, which makes the
382
+ * Deprecated `Ronin::Network::Telnet`.
383
+ * Allow `Ronin::Path#initialize` to accept a separator argument.
384
+ * No longer bind new sockets to `0.0.0.0` by default in `Ronin::Network::TCP`
385
+ and `Ronin::Network::UDP`. `0.0.0.0` is the IPv4 Any address, which makes the
16
386
  socket IPv4 and thus incompatible with IPv6 hosts.
17
- * Fixed a bug in {Ronin::Network::UDP#udp_open?} where it would always timeout
387
+ * Fixed a bug in `Ronin::Network::UDP#udp_open?` where it would always timeout
18
388
  and return `nil`, even when the UDP port was open.
19
389
  * Filter out `nil` or empty `:query` options passed to
20
- {Ronin::Network::HTTP.request}.
390
+ `Ronin::Network::HTTP.request`.
21
391
  * No longer append the query String to the path in
22
- {Ronin::Network::HTTP.expand_url}.
23
- * Support escaping `"\`"` tick-marks in {String#sql_escape}.
24
- * Allow setting the request body or form-data in {Ronin::Network::HTTP.request},
392
+ `Ronin::Network::HTTP.expand_url`.
393
+ * Support escaping `"\`"` tick-marks in `String#sql_escape`.
394
+ * Allow setting the request body or form-data in `Ronin::Network::HTTP.request`,
25
395
  even for request types that typically do not use a body or form-data.
26
396
 
27
397
  [net-telnet]: https://github.com/ruby/net-telnet
28
398
 
29
399
  ### 0.5.1 / 2012-06-29
30
400
 
31
- * Added {Ronin::Binary::Template#inspect}.
32
- * Added the `:passive` option to {Ronin::Network::FTP#ftp_connect}.
401
+ * Added `Ronin::Binary::Template#inspect`.
402
+ * Added the `:passive` option to `Ronin::Network::FTP#ftp_connect`.
33
403
  * Forgot to require `ronin/formatting/extensions/binary/array`.
34
404
  * Fixed a bug where {Array#pack} would not accept tuples (ex: `[:uint8, 2]`).
35
- * Fixed a bug in {String#sql_decode} where `"\\'\\'"` would incorrectly be
405
+ * Fixed a bug in `String#sql_decode` where `"\\'\\'"` would incorrectly be
36
406
  converted to `'"'`.
37
407
  * Ensure that {Integer#pack} only accepts one argument.
38
408
  * Have {String#hex_unescape} to decode every two characters.
39
- * Enable passive-mode by default in {Ronin::Network::FTP#ftp_connect}.
409
+ * Enable passive-mode by default in `Ronin::Network::FTP#ftp_connect`.
40
410
 
41
411
  ### 0.5.0 / 2012-06-16
42
412
 
43
413
  * Require uri-query_params ~> 0.6.
44
414
  * Added {Float#pack}.
45
- * Added {Regexp::WORD}.
46
- * Added {Regexp::PHONE_NUMBER}.
47
- * Added {Ronin::Binary::Template}.
48
- * Added {Ronin::Binary::Struct}.
49
- * Added {Ronin::Binary::Hexdump::Parser}.
50
- * Added {Ronin::Fuzzing::Template}.
51
- * Added {Ronin::Fuzzing::Repeater}.
52
- * Added {Ronin::Fuzzing::Fuzzer}.
53
- * Added {Ronin::Fuzzing::Mutator}.
54
- * Added {Ronin::Wordlist.create}.
55
- * Added {Ronin::Wordlist#path} and {Ronin::Wordlist#words}.
56
- * Added {Ronin::Wordlist#save}.
57
- * Added {Ronin::Network::Proxy}, {Ronin::Network::TCP::Proxy} and
58
- {Ronin::Network::UDP::Proxy}.
59
- * Added {Ronin::Network::TCP#tcp_open?}.
60
- * Added {Ronin::Network::TCP#tcp_server_loop}.
61
- * Added {Ronin::Network::UDP#udp_open?}.
62
- * Added {Ronin::Network::UDP#udp_server_loop}.
63
- * Added {Ronin::Network::Mixins::TCP#tcp_open?}.
64
- * Added {Ronin::Network::Mixins::UDP#udp_open?}.
65
- * Added {Ronin::Network::Mixins::UDP#udp_server_loop}.
66
- * Added {Ronin::Network::Mixins::UDP#udp_recv}.
67
- * Added {Ronin::Network::FTP}.
68
- * Added {Ronin::Network::UNIX}.
69
- * Added {Ronin::Network::Mixins::FTP}.
70
- * Added {Ronin::Network::Mixins::UNIX}.
71
- * Aliased {String#escape} to {String#dump}.
415
+ * Added `Regexp::WORD`.
416
+ * Added `Regexp::PHONE_NUMBER`.
417
+ * Added `Ronin::Binary::Template`.
418
+ * Added `Ronin::Binary::Struct`.
419
+ * Added `Ronin::Binary::Hexdump::Parser`.
420
+ * Added `Ronin::Fuzzing::Template`.
421
+ * Added `Ronin::Fuzzing::Repeater`.
422
+ * Added `Ronin::Fuzzing::Fuzzer`.
423
+ * Added `Ronin::Fuzzing::Mutator`.
424
+ * Added `Ronin::Wordlist.create`.
425
+ * Added `Ronin::Wordlist#path` and `Ronin::Wordlist#words`.
426
+ * Added `Ronin::Wordlist#save`.
427
+ * Added `Ronin::Network::Proxy`, `Ronin::Network::TCP::Proxy` and
428
+ `Ronin::Network::UDP::Proxy`.
429
+ * Added `Ronin::Network::TCP#tcp_open?`.
430
+ * Added `Ronin::Network::TCP#tcp_server_loop`.
431
+ * Added `Ronin::Network::UDP#udp_open?`.
432
+ * Added `Ronin::Network::UDP#udp_server_loop`.
433
+ * Added `Ronin::Network::Mixins::TCP#tcp_open?`.
434
+ * Added `Ronin::Network::Mixins::UDP#udp_open?`.
435
+ * Added `Ronin::Network::Mixins::UDP#udp_server_loop`.
436
+ * Added `Ronin::Network::Mixins::UDP#udp_recv`.
437
+ * Added `Ronin::Network::FTP`.
438
+ * Added `Ronin::Network::UNIX`.
439
+ * Added `Ronin::Network::Mixins::FTP`.
440
+ * Added `Ronin::Network::Mixins::UNIX`.
441
+ * Aliased {String#escape} to `String#dump`.
72
442
  * Renamed {String#hex_unescape} to {String#unescape}.
73
443
  * Aliased {String#hex_unescape} to {String#unescape}.
74
- * Renamed {Ronin::Network::TCP#tcp_single_server} to
75
- {Ronin::Network::TCP#tcp_accept}.
76
- * Renamed {Ronin::Network::UDP#udp_single_server} to
77
- {Ronin::Network::UDP#udp_recv}.
78
- * Deprecated {Ronin::Network::TCP#tcp_single_server}.
79
- * Deprecated {Ronin::Network::UDP#udp_single_server}.
80
- * Backported Ruby 1.9 only {Base64} methods.
81
- * Allow {Integer#pack} to accept a type from {Ronin::Binary::Template::TYPES}.
82
- * Allow {Array#pack} to accept types from {Ronin::Binary::Template::TYPES}.
83
- * Allow {String#unpack} to accept types from {Ronin::Binary::Template::TYPES}.
444
+ * Renamed `Ronin::Network::TCP#tcp_single_server` to
445
+ `Ronin::Network::TCP#tcp_accept`.
446
+ * Renamed `Ronin::Network::UDP#udp_single_server` to
447
+ `Ronin::Network::UDP#udp_recv`.
448
+ * Deprecated `Ronin::Network::TCP#tcp_single_server`.
449
+ * Deprecated `Ronin::Network::UDP#udp_single_server`.
450
+ * Backported Ruby 1.9 only `Base64` methods.
451
+ * Allow {Integer#pack} to accept a type from `Ronin::Binary::Template::TYPES`.
452
+ * Allow {Array#pack} to accept types from `Ronin::Binary::Template::TYPES`.
453
+ * Allow {String#unpack} to accept types from `Ronin::Binary::Template::TYPES`.
84
454
  * Support nmap-style `i,j-k` globbed IP address ranges in {IPAddr.each}.
85
- * Moved {String#unhexdump} logic into {Ronin::Binary::Hexdump::Parser}.
455
+ * Moved {String#unhexdump} logic into `Ronin::Binary::Hexdump::Parser`.
86
456
  * Added the `:named_chars` option.
87
457
  * Improved the parsing of `od` hexdumps.
88
458
  * Support unhexdumping specific endianness.
89
459
  * Support unhexdumping floats / doubles.
90
- * Allow {String#mutate} to accept Symbols that map to {Ronin::Fuzzing}
460
+ * Allow `String#mutate` to accept Symbols that map to `Ronin::Fuzzing`
91
461
  generator methods.
92
- * {Ronin::Fuzzing.[]} now raises a `NoMethodError` for unknown fuzzing methods.
93
- * Use `module_function` in {Ronin::Fuzzing}, so the generator methods can be
462
+ * `Ronin::Fuzzing.[]` now raises a `NoMethodError` for unknown fuzzing methods.
463
+ * Use `module_function` in `Ronin::Fuzzing`, so the generator methods can be
94
464
  included into other Classes/Modules.
95
465
  * Use `$stdout` instead of calling `Kernel.puts` or `STDOUT`.
96
466
  Prevents infinite recursion if another library overrides `Kernel.puts`.
97
- * Allow {Ronin::Network::DNS} methods to yield resolved addresses.
98
- * Inject {Ronin::Network::DNS} into {Net} for backwards compatibility.
99
- * Allow {Ronin::Network::TCP#tcp_server} to accept a `backlog` argument.
467
+ * Allow `Ronin::Network::DNS` methods to yield resolved addresses.
468
+ * Inject `Ronin::Network::DNS` into `Net` for backwards compatibility.
469
+ * Allow `Ronin::Network::TCP#tcp_server` to accept a `backlog` argument.
100
470
  * Default the server host to `0.0.0.0` in
101
- {Ronin::Network::TCP#tcp_accept}.
471
+ `Ronin::Network::TCP#tcp_accept`.
102
472
  * No longer honor the `VERBOSE` environment variable for enabling verbose output
103
- in {Ronin::UI::Output}. Use `ruby -w` or `ruby -d` instead.
473
+ in `Ronin::UI::Output`. Use `ruby -w` or `ruby -d` instead.
104
474
  * No longer support loading `extlib` in `ronin/support/inflector`.
105
475
 
106
476
  ### 0.4.0 / 2012-02-12
107
477
 
108
478
  * Require uri-query_params ~> 0.6.
109
479
  * Require parameters ~> 0.4.
110
- * Added {Regexp::DELIM}.
111
- * Added {Regexp::IDENTIFIER}.
112
- * Added {Regexp::OCTET}.
113
- * Added {Regexp::FILE_EXT}.
114
- * Added {Regexp::FILE_NAME}.
115
- * Added {Regexp::FILE}.
116
- * Added {Regexp::DIRECTORY}.
117
- * Added {Regexp::RELATIVE_UNIX_PATH}.
118
- * Added {Regexp::ABSOLUTE_UNIX_PATH}.
119
- * Added {Regexp::UNIX_PATH}.
120
- * Added {Regexp::RELATIVE_WINDOWS_PATH}.
121
- * Added {Regexp::ABSOLUTE_WINDOWS_PATH}.
122
- * Added {Regexp::WINDOWS_PATH}.
123
- * Added {Regexp::RELATIVE_PATH}.
124
- * Added {Regexp::ABSOLUTE_PATH}.
125
- * Added {Regexp::PATH}.
126
- * Added {String#repeating}.
127
- * Added {String#sql_inject}.
128
- * Added {String#mutate}.
129
- * Added {Ronin::Fuzzing}.
130
- * Added {Ronin::Fuzzing.[]}.
480
+ * Added `Regexp::DELIM`.
481
+ * Added `Regexp::IDENTIFIER`.
482
+ * Added `Regexp::OCTET`.
483
+ * Added `Regexp::FILE_EXT`.
484
+ * Added `Regexp::FILE_NAME`.
485
+ * Added `Regexp::FILE`.
486
+ * Added `Regexp::DIRECTORY`.
487
+ * Added `Regexp::RELATIVE_UNIX_PATH`.
488
+ * Added `Regexp::ABSOLUTE_UNIX_PATH`.
489
+ * Added `Regexp::UNIX_PATH`.
490
+ * Added `Regexp::RELATIVE_WINDOWS_PATH`.
491
+ * Added `Regexp::ABSOLUTE_WINDOWS_PATH`.
492
+ * Added `Regexp::WINDOWS_PATH`.
493
+ * Added `Regexp::RELATIVE_PATH`.
494
+ * Added `Regexp::ABSOLUTE_PATH`.
495
+ * Added `Regexp::PATH`.
496
+ * Added `String#repeating`.
497
+ * Added `String#sql_inject`.
498
+ * Added `String#mutate`.
499
+ * Added `Ronin::Fuzzing`.
500
+ * Added `Ronin::Fuzzing.[]`.
131
501
  * Added `Ronin::Fuzzing.bad_strings`.
132
502
  * Added `Ronin::Fuzzing.format_strings`.
133
503
  * Added `Ronin::Fuzzing.bad_paths`.
@@ -145,16 +515,16 @@
145
515
  * Added `Ronin::Fuzzing.sint16`.
146
516
  * Added `Ronin::Fuzzing.sint32`.
147
517
  * Added `Ronin::Fuzzing.sint64`.
148
- * Added {Ronin::Wordlist}.
149
- * Added {Ronin::Network::DNS}.
150
- * Added {Ronin::Network::Mixins::Mixin}.
151
- * Added {Ronin::Network::Mixins::DNS}.
152
- * Added {Ronin::Network::Mixins::SSL}.
153
- * Added missing {Ronin::Network::UDP#udp_send} and
154
- {Ronin::Network::Mixins::UDP#udp_send} methods.
155
- * Added {Ronin::UI::Output::Helpers#print_exception}.
156
- * Made {Regexp::HOST_NAME} case-insensitive.
157
- * Refactored {Regexp::IPv4} to not match invalid IPv4 addresses.
518
+ * Added `Ronin::Wordlist`.
519
+ * Added `Ronin::Network::DNS`.
520
+ * Added `Ronin::Network::Mixins::Mixin`.
521
+ * Added `Ronin::Network::Mixins::DNS`.
522
+ * Added `Ronin::Network::Mixins::SSL`.
523
+ * Added missing `Ronin::Network::UDP#udp_send` and
524
+ `Ronin::Network::Mixins::UDP#udp_send` methods.
525
+ * Added `Ronin::UI::Output::Helpers#print_exception`.
526
+ * Made `Regexp::HOST_NAME` case-insensitive.
527
+ * Refactored `Regexp::IPv4` to not match invalid IPv4 addresses.
158
528
  * Require `ronin/formatting/html` in `ronin/formatting`.
159
529
  * Allow {String#base64_encode} and {String#base64_decode} to accept a formatting
160
530
  argument.
@@ -163,82 +533,82 @@
163
533
  * `:url` / `:urlsafe`
164
534
  * Fixed a bug in {String#js_unescape}, where `%uXX` chars were not being
165
535
  unescaped (thanks isis!).
166
- * Have {String#fuzz} only accept `Regexp` and `String` objects.
167
- * Moved {String#fuzz} and {String.generate} into `ronin/fuzzing`.
168
- * Moved `Net.*` methods into the {Ronin::Network} modules.
169
- * Fixed bugs in {Ronin::Network::UDP#udp_connect} and
170
- {Ronin::Network::UDP#udp_server}.
171
- * Fixed a bug in {Ronin::Network::HTTP.expand_url}, where the URI query-string
536
+ * Have `String#fuzz` only accept `Regexp` and `String` objects.
537
+ * Moved `String#fuzz` and `String.generate` into `ronin/fuzzing`.
538
+ * Moved `Net.*` methods into the `Ronin::Network` modules.
539
+ * Fixed bugs in `Ronin::Network::UDP#udp_connect` and
540
+ `Ronin::Network::UDP#udp_server`.
541
+ * Fixed a bug in `Ronin::Network::HTTP.expand_url`, where the URI query-string
172
542
  was not being escaped.
173
- * Allow {Ronin::Network::HTTP.request} to accept `:query` and `:query_params`
543
+ * Allow `Ronin::Network::HTTP.request` to accept `:query` and `:query_params`
174
544
  options.
175
545
  * Fixed a bug in `Ronin::Network::Mixins::HTTP#http_session`, where
176
546
  normalized options were not being yielded.
177
- * {Ronin::Network::HTTP#http_get_headers} and
178
- {Ronin::Network::HTTP#http_post_headers} now return a Hash of Capitalized
547
+ * `Ronin::Network::HTTP#http_get_headers` and
548
+ `Ronin::Network::HTTP#http_post_headers` now return a Hash of Capitalized
179
549
  Header names and String values.
180
- * Allow {Ronin::Templates::Erb} to use `<%- -%>` syntax.
181
- * Alias `<<` to `write` in {Ronin::UI::Output::Helpers}.
182
- * Fixed bugs in {Ronin::UI::Shell}.
183
- * Warning messages are printed by {Ronin::UI::Output::Helpers}, unless output
550
+ * Allow `Ronin::Templates::Erb` to use `<%- -%>` syntax.
551
+ * Alias `<<` to `write` in `Ronin::UI::Output::Helpers`.
552
+ * Fixed bugs in `Ronin::UI::Shell`.
553
+ * Warning messages are printed by `Ronin::UI::Output::Helpers`, unless output
184
554
  is silenced.
185
- * {Ronin::UI::Output::Helpers} and {Ronin::Network} modules are included into
186
- {Ronin::Support}.
555
+ * `Ronin::UI::Output::Helpers` and `Ronin::Network` modules are included into
556
+ `Ronin::Support`.
187
557
 
188
558
  ### 0.3.0 / 2011-10-16
189
559
 
190
560
  * Require combinatorics ~> 0.4.
191
561
  * Added {Enumerable#map_hash}.
192
- * Added {String.generate}.
193
- * Added {String#fuzz}.
562
+ * Added `String.generate`.
563
+ * Added `String#fuzz`.
194
564
  * Added {File.each_line}.
195
565
  * Added {File.each_row}.
196
- * Added {Resolv.resolver}.
197
- * Added {URI::HTTP#request}.
566
+ * Added `Resolv.resolver`.
567
+ * Added `URI::HTTP#request`.
198
568
  * Added {URI::HTTP#status}.
199
569
  * Added {URI::HTTP#ok?}.
200
- * Added {URI::HTTP#server}.
201
- * Added {URI::HTTP#powered_by}.
202
- * Added {URI::HTTP#copy}.
203
- * Added {URI::HTTP#delete}.
204
- * Added {URI::HTTP#get}.
205
- * Added {URI::HTTP#get_headers}.
206
- * Added {URI::HTTP#get_body}.
207
- * Added {URI::HTTP#head}.
208
- * Added {URI::HTTP#lock}.
209
- * Added {URI::HTTP#mkcol}.
210
- * Added {URI::HTTP#move}.
211
- * Added {URI::HTTP#options}.
212
- * Added {URI::HTTP#post}.
213
- * Added {URI::HTTP#post_headers}.
214
- * Added {URI::HTTP#post_body}.
215
- * Added {URI::HTTP#prop_find}.
216
- * Added {URI::HTTP#prop_match}.
217
- * Added {URI::HTTP#trace}.
218
- * Added {URI::HTTP#unlock}.
219
- * Added {Regexp::MAC}.
220
- * Added {Regexp::IPv6}, {Regexp::IPv4} and {Regexp::IP}.
221
- * Added {Regexp::HOST_NAME}.
222
- * Added {Regexp::USER_NAME}.
223
- * Added {Regexp::EMAIL_ADDR}.
224
- * Moved {Ronin::UI::Output}, {Ronin::UI::Shell} and {Ronin::Network::Mixins}
570
+ * Added `URI::HTTP#server`.
571
+ * Added `URI::HTTP#powered_by`.
572
+ * Added `URI::HTTP#copy`.
573
+ * Added `URI::HTTP#delete`.
574
+ * Added `URI::HTTP#get`.
575
+ * Added `URI::HTTP#get_headers`.
576
+ * Added `URI::HTTP#get_body`.
577
+ * Added `URI::HTTP#head`.
578
+ * Added `URI::HTTP#lock`.
579
+ * Added `URI::HTTP#mkcol`.
580
+ * Added `URI::HTTP#move`.
581
+ * Added `URI::HTTP#options`.
582
+ * Added `URI::HTTP#post`.
583
+ * Added `URI::HTTP#post_headers`.
584
+ * Added `URI::HTTP#post_body`.
585
+ * Added `URI::HTTP#prop_find`.
586
+ * Added `URI::HTTP#prop_match`.
587
+ * Added `URI::HTTP#trace`.
588
+ * Added `URI::HTTP#unlock`.
589
+ * Added `Regexp::MAC`.
590
+ * Added `Regexp::IPv6`, `Regexp::IPv4` and `Regexp::IP`.
591
+ * Added `Regexp::HOST_NAME`.
592
+ * Added `Regexp::USER_NAME`.
593
+ * Added `Regexp::EMAIL_ADDR`.
594
+ * Moved `Ronin::UI::Output`, `Ronin::UI::Shell` and `Ronin::Network::Mixins`
225
595
  from ronin into ronin-support.
226
- * Refactored {Ronin::UI::Shell} into a Class where commands are defined as
596
+ * Refactored `Ronin::UI::Shell` into a Class where commands are defined as
227
597
  protected methods.
228
598
 
229
599
  ### 0.2.0 / 2011-07-04
230
600
 
231
601
  * Require data_paths ~> 0.3.
232
- * Added {Ronin::Mixin}.
233
- * Added {Ronin::Network::SMTP::Email#headers}.
602
+ * Added `Ronin::Mixin`.
603
+ * Added `Ronin::Network::SMTP::Email#headers`.
234
604
  * Added {Integer#html_escape}.
235
605
  * Added {Integer#js_escape}.
236
- * Added {Integer#format_js}.
606
+ * Added `Integer#format_js`.
237
607
  * Added {String#html_escape}.
238
608
  * Added {String#html_unescape}.
239
609
  * Added {String#js_escape}.
240
610
  * Added {String#js_unescape}.
241
- * Added {String#format_js}.
611
+ * Added `String#format_js`.
242
612
  * Added `Net.smtp_send_message`.
243
613
  * Added `Net.http_status`.
244
614
  * Added `Net.http_get_headers`.
@@ -246,22 +616,22 @@
246
616
  * Added YARD `@api` tags to define the public, semi-public and private APIs.
247
617
  * Renamed `Kernel#attempt` to {Kernel#try}.
248
618
  * Allow `:method` to be used with `Net.http_ok?`.
249
- * Fixed a bug in {Ronin::Network::HTTP.expand_url} where `:host` and `:port`
619
+ * Fixed a bug in `Ronin::Network::HTTP.expand_url` where `:host` and `:port`
250
620
  options were being overridden.
251
- * Improved the performance of {Integer#bytes}.
252
- * Only redefine {String#dump} for Ruby 1.8.x.
621
+ * Improved the performance of `Integer#bytes`.
622
+ * Only redefine `String#dump` for Ruby 1.8.x.
253
623
  * Ruby >= 1.9.1 correctly hex-escapes special characters.
254
- * Fixed a bug in {String#format_chars}, where it was not using `each_char`
624
+ * Fixed a bug in `String#format_chars`, where it was not using `each_char`
255
625
  for unicode characters.
256
- * Deprecated {String#common_postfix}, in favor of {String#common_suffix}.
257
- {String#common_postfix} will be removed in ronin-support 1.0.0.
626
+ * Deprecated `String#common_postfix`, in favor of {String#common_suffix}.
627
+ `String#common_postfix` will be removed in ronin-support 1.0.0.
258
628
  * `Net.http_get_body` no longer accepts a block.
259
629
  * `Net.http_post_body` no longer accepts a block.
260
630
 
261
631
  ### 0.1.0 / 2011-03-20
262
632
 
263
633
  * Initial release:
264
- * Split out of [ronin](http://github.com/ronin-ruby/ronin) 0.3.0.
634
+ * Split out of [ronin](http://github.com/ronin-rb/ronin) 0.3.0.
265
635
  * Upgraded to the LGPL-3 license.
266
636
  * Require Ruby >= 1.8.7.
267
637
  * Require chars ~> 0.2.