Skip to content

Releases: ronin-rb/ronin-support

1.1.0

22 Jul 18:09
v1.1.0
Compare
Choose a tag to compare
  • Added Ronin::Support::Binary::CTypes::OS::Android.
  • Added Ronin::Support::Binary::CTypes::OS::AppleIOS.
  • Added the ca: keyword argument to Ronin::Support::Crypto::Cert.generate.
  • Added the subject_alt_names: keyword argument to Ronin::Support::Crypto::Cert.generate.
  • Added Ronin::Support::Crypto::Cert::Name#email_address.
  • Added the email_address: keyword to Ronin::Support::Crypto::Cert::Name.build.
  • Added Ronin::Support::Crypto::Key::EC#curve.
  • Added Ronin::Support::Crypto::Key::EC#size.
  • Added Ronin::Support::Crypto.Key.
  • Added support for parsing PEM encoded DH keys in Ronin::Support::Crypto::Key#load.
  • Added Ronin::Support::Encoding::Base36.
  • Added Ronin::Support::Encoding::Base62.
  • Added the content_type: keyword argument to Ronin::Support::Network::HTTP#request.
  • Added the accept: keyword argument to Ronin::Support::Network::HTTP#request.
  • Added the json: keyword argument to Ronin::Support::Network::HTTP#request.
  • Added Ronin::Support::Network::HTTP.post_cookies.
  • Added Ronin::Support::Network::HTTP#post_cookies.
  • Added Ronin::Support::Network::HTTP::Mixin#http_post_cookies.
  • Added Ronin::Support::Network::IP#ipv4.
  • Added Ronin::Support::Network::IPRange#first.
  • Added Ronin::Support::Network::IPRange#last.
  • Added Ronin::Support::Network::IPRange#include?.
  • Added Ronin::Support::Network::IPRange#==.
  • Added Ronin::Support::Network::IPRange#===.
  • Added Ronin::Support::Network::IPRange#size.
  • Added Ronin::Support::Network::IPRange::CIDR#first.
  • Added Ronin::Support::Network::IPRange::CIDR#last.
  • Added Ronin::Support::Network::IPRange::CIDR#include?.
  • Added Ronin::Support::Network::IPRange::CIDR#==.
  • Added Ronin::Support::Network::IPRange::CIDR#===.
  • Added Ronin::Support::Network::IPRange::CIDR#prefix_address.
  • Added Ronin::Support::Network::IPRange::CIDR#size.
  • Added Ronin::Support::Network::IPRange::Glob#first.
  • Added Ronin::Support::Network::IPRange::Glob#last.
  • Added Ronin::Support::Network::IPRange::Glob#include?.
  • Added Ronin::Support::Network::IPRange::Glob#==.
  • Added Ronin::Support::Network::IPRange::Glob#===.
  • Added Ronin::Support::Network::IPRange::Glob#size.
  • Added Ronin::Support::Network::IPRange::Range#===.
  • Added Ronin::Support::Network::IPRange::Range#size.
  • Added Ronin::Support::Network::SSL.socket.
  • Added Ronin::Support::Network::SSL.open?.
  • Added Ronin::Support::Network::SSL.connect.
  • Added Ronin::Support::Network::SSL.connect_and_send.
  • Added Ronin::Support::Network::SSL.get_cert.
  • Added Ronin::Support::Network::SSL.banner.
  • Added Ronin::Support::Network::SSL.send.
  • Added Ronin::Support::Network::SSL.server.
  • Added Ronin::Support::Network::SSL.server_session.
  • Added Ronin::Support::Network::SSL.server_socket.
  • Added Ronin::Support::Network::SSL.server_loop.
  • Added Ronin::Support::Network::SSL.accept.
  • Added Ronin::Support::Network::SSL::Mixin#ssl_server.
  • Added Ronin::Support::Network::SSL::Mixin#ssl_server_session.
  • Added the min_version: and max_version: keyword arguments to all methods in Ronin::Support::Network::SSL, Ronin::Support::Network::SSL::Mixin, Ronin::Support::Network::TLS, Ronin::Support::Network::TLS::Mixin, Ronin::Support::Network::HTTP, and Ronin::Support::Network::HTTP::Mixin.
    • Default the SSL min_version: to 1.
  • Added Ronin::Support::Network::TLS.socket.
  • Added Ronin::Support::Network::TLS.open?.
  • Added Ronin::Support::Network::TLS.connect.
  • Added Ronin::Support::Network::TLS.connect_and_send.
  • Added Ronin::Support::Network::TLS.get_cert.
  • Added Ronin::Support::Network::TLS.banner.
  • Added Ronin::Support::Network::TLS.send.
  • Added Ronin::Support::Network::TLS.server.
  • Added Ronin::Support::Network::TLS.server_session.
  • Added Ronin::Support::Network::TLS.server_socket.
  • Added Ronin::Support::Network::TLS.server_loop.
  • Added Ronin::Support::Network::TLS.accept.
  • Added Ronin::Support::Network::TLS::Mixin#tls_server.
  • Added Ronin::Support::Network::TLS::Mixin#tls_server_session.
  • Added the hostname: keyword argument to all methods in Ronin::Support::Network::SSL::Mixin and Ronin::Support::Network::TLS::Mixin methods.
  • Added Ronin::Support::Network::Wildcard.
  • No longer automatically require lesser used network protocols in ronin/support/network/mixin:
    • ronin/support/network/ftp/mixin
    • ronin/support/network/smtp/mixin
    • ronin/support/network/esmtp/mixin
    • ronin/support/network/pop3/mixin
    • ronin/support/network/imap/mixin
  • Improve the validation of IP ranges in Ronin::Support::Network::IPRange#initialize.
  • Improve the validation of IP CIDR ranges in Ronin::Support::Network::IPRange::CIDR#initialize.
  • Improve the validation of IP glob ranges in Ronin::Support::Network::IPRange::Glob#initialize.
  • No longer use deprecated Net::HTTP methods in Ronin::Support::Network::HTTP#initialize.
  • Add support for specify a SSL version of 1.3 in all Ronin::Support::Network::SSL, Ronin::Support::Network::SSL::Mixin, Ronin::Support::Network::TLS, Ronin::Support::Network::TLS::Mixin, Ronin::Support::Network::HTTP, and Ronin::Support::Network::HTTP::Mixin methods.

1.0.7

14 Jul 03:13
v1.0.7
Compare
Choose a tag to compare
  • Improved the performance of Ronin::Support::Encoding::JS.unescape and String#js_unescape by 2x.
  • Correctly parse Unicode surrogate character pairs in JavaScript strings (ex: "\uD83D\uDE80") in Ronin::Support::Encoding::JS.unescape, String#js_unescape, Ronin::Support::Encoding::JS.unquote, and String#js_unquote.

1.0.6

20 Jun 05:21
v1.0.6
Compare
Choose a tag to compare
  • Fixed error messages in Ronin::Support::Encoding::Base64.encode and Ronin::Support::Encoding::Base64.decode.
  • Fixed Ronin::Support::Network::IPRange::Glob#each to support * in IPv6 glob ranges.
  • Ronin::Support::Network::TCP.connect, Ronin::Support::Network::UDP.connect, and Ronin::Support::Network::HTTP.connect, when given a block, now returns the block's return value.
  • Ronin::Support::Network::TCP.connect and Ronin::Support::Network::UDP.connect properly closes the socket when passed a block that raises an exception.

1.0.5

28 Dec 07:10
v1.0.5
Compare
Choose a tag to compare
  • Fixed a bug in Ronin::Support::Binary::Stream::Methods#read_string on Ruby 3.3.0.

1.0.4

28 Dec 07:09
v1.0.4
Compare
Choose a tag to compare
  • Fixed a bug in Array#pack where complex types (ex: [[:uint32, 4], 10])
    were not being packed correctly.
  • Fixed a bug in String#unpack where complex types (ex: [[:uint32, 4], 10])
    were not being unpacked correctly.
  • Fixed a bug in Ronin::Support::Binary::CTypes::ObjectType#initialize when
    the object's type has an infinite size, such as an unbounded Array type.
  • Allow using non-RSA keys in all SSL/TLS methods.

1.0.3

19 Sep 22:18
v1.0.3
Compare
Choose a tag to compare
  • Ronin::Support::Crypto::Cert::Name#entries now returns UTF-8 encoded
    Strings.
  • Ronin::Support::Crypto::Cert.Name now passes through
    Ronin::Support::Crypto::Cert::Name objects instead of copying them.
  • Fixed a bug in Ronin::Support::Crypto::Cert.generate when it is given a
    OpenSSL::PKey::EC signing key.
  • Fixed a bug in Ronin::Support::Network::SSL::Mixin#ssl_connect where the
    OpenSSL::SSL::SSLSocket#hostname attribute was not being set to the
    host being connected to, which prevented connecting to TLS servers that use
    SNI.
  • Fixed Ronin::Support::Network::IP#set to return self.
  • Fixed Ronin::Support::Network::IP#inspect to call the lazy-initialized
    Ronin::Support::Network::IP#address method instead of the @address
    instance variable directly.

1.0.2

10 Jun 00:13
v1.0.2
Compare
Choose a tag to compare
  • Fixed a bug in Ronin::Support::Encoding::Base32.decode,
    Ronin::Support::Encoding::Hex.unescape,
    Ronin::Support::Encoding::C.unescape,
    Ronin::Support::Encoding::JS.unescape,
    Ronin::Support::Encoding::PowerShell.unescape,
    Ronin::Support::Encoding::Ruby.unescape,
    Ronin::Support::Encoding::XML.unescape,
    Ronin::Support::Path#join, String#encode_bytes, and String#encode_chars
    where ASCII-bit Strings were always being returned instead of UTF-8 Strings.
  • Fixed a bug where Ronin::Support::Network::IP#address was being improperly
    cached.
  • Added missing require for File.tar, File.untar, File.zip, and
    File.unzip core-ext methods.
  • Added missing require for Integer#pack and Float#pack core-ext methods.
  • No longer include Ronin::Support::Mixin into Kernel which caused Mixin
    methods to be included into every Class and object.
  • Added more example code to documentation.
  • Documentation fixes.

1.0.1

10 Jun 00:12
v1.0.1
Compare
Choose a tag to compare
  • Ronin::Support::Network::HTTP.connect_uri can now infer when to enable
    SSL/TLS from the given URI.
  • Ronin::Support::Network::HTTP.connect_uri can now use the user and
    password information from the given URI.
  • All Ronin::Support::Network::HTTP class methods which accept URI objects
    can now accept URLs with International Domain Names (IDN).
  • Changed Kernel#try to not silently ignore SyntaxError exceptions.
  • Documentation improvements.

1.0.0

10 Jun 00:10
v1.0.0
Compare
Choose a tag to compare
  • Added File.aes_encrypt.
  • Added File.aes_decrypt.
  • Added File.aes128_encrypt.
  • Added File.aes128_decrypt.
  • Added File.aes256_encrypt.
  • Added File.aes256_decrypt.
  • Added File.rsa_encrypt.
  • Added File.rsa_decrypt.
  • Added File.gzip.
  • Added File.gunzip.
  • Added File.tar.
  • Added File.untar.
  • Added File.zip.
  • Added File.unzip.
  • Added Integer#c_escape.
  • Added Integer#c_encode.
  • Added Integer#powershell_encode.
  • Added Integer#powershell_escape.
  • Added Integer#shell_encode.
  • Added Integer#shell_escape.
  • Added Integer#uri_form_escape.
  • Added Integer#uri_form_encode.
  • Added Integer#to_hex.
  • Added Integer#to_int8.
  • Added Integer#to_int16.
  • Added Integer#to_int32.
  • Added Integer#to_int64.
  • Added Integer#to_uint8.
  • Added Integer#to_uint16.
  • Added Integer#to_uint32.
  • Added Integer#to_uint64.
  • Added String#base16_encode.
  • Added String#base16_decode.
  • Added String#base32_encode.
  • Added String#base32_decode.
  • Added String#c_escape.
  • Added String#c_unescape.
  • Added String#c_encode.
  • Added String#c_string.
  • Added String#c_unquote.
  • Added String#hex_string.
  • Added String#hex_unquote.
  • Added String#http_encode.
  • Added String#js_encode.
  • Added String#js_string.
  • Added String#js_unquote.
  • Added String#powershell_escape.
  • Added String#powershell_unescape.
  • Added String#powershell_encode.
  • Added String#powershell_string.
  • Added String#powershell_unquote.
  • Added String#punycode_encode.
  • Added String#punycode_decode.
  • Added String#quoted_printable_escape.
  • Added String#quoted_printable_unescape.
  • Added String#ruby_escape.
  • Added String#ruby_unescape.
  • Added String#ruby_encode.
  • Added String#ruby_string.
  • Added String#ruby_unquote.
  • Added String#shell_escape.
  • Added String#shell_unescape.
  • Added String#shell_encode.
  • Added String#shell_string.
  • Added String#shell_unquote.
  • Added String#sql_unescape.
  • Added String#uri_form_escape.
  • Added String#uri_form_encode.
  • Added String#uu_encode.
  • Added String#uu_decode.
  • Added String#xml_encode.
  • Added String#aes_encrypt.
  • Added String#aes_decrypt.
  • Added String#aes128_encrypt.
  • Added String#aes128_decrypt.
  • Added String#aes256_encrypt.
  • Added String#aes256_decrypt.
  • Added String#rsa_encrypt.
  • Added String#rsa_decrypt.
  • Added String#gzip.
  • Added String#gunzip.
  • Added String#entropy.
  • Added String#homoglyph.
  • Added String#each_homoglyph.
  • Added String#homoglyphs.
  • Added String#typo.
  • Added String#each_typo.
  • Added String#typos.
  • Added Ronin::Support::Archive.
  • Added Ronin::Support::Archive::Tar.
  • Added Ronin::Support::Archive::Zip.
  • Added Ronin::Support::Archive::Mixin.
  • Added Ronin::Support::Binary::CTypes.
  • Added Ronin::Support::Binary::Array.
  • Added Ronin::Support::Binary::Memory.
  • Added Ronin::Support::Binary::Buffer.
  • Added Ronin::Support::Binary::CString.
  • Added Ronin::Support::Binary::Stack.
  • Added Ronin::Support::Binary::Stream.
  • Added Ronin::Support::Binary::Union.
  • Added Ronin::Support::Binary::Unhexdump::Parser#unpack.
  • Added Ronin::Support::Binary::Unhexdump::Parser#unhexdump.
  • Added Ronin::Support::CLI::ANSI.
  • Added Ronin::Support::CLI::Printing.
  • Added Ronin::Support::Compression.
  • Added Ronin::Support::Compression::Gzip.
  • Added Ronin::Support::Compression::Gzip::Reader.
  • Added Ronin::Support::Compression::Gzip::Writer.
  • Added Ronin::Support::Compression::Mixin.
  • Added Ronin::Support::Crypto.
  • Added Ronin::Support::Crypto::HMAC.
  • Added Ronin::Support::Crypto::Key.
  • Added Ronin::Support::Crypto::Key::DH.
  • Added Ronin::Support::Crypto::Key::DSA.
  • Added Ronin::Support::Crypto::Key::EC.
  • Added Ronin::Support::Crypto::Key::RSA.
  • Added Ronin::Support::Crypto::Mixin.
  • Added Ronin::Support::Encoding.
  • Added Ronin::Support::Encoding::Base16.
  • Added Ronin::Support::Encoding::Base32.
  • Added Ronin::Support::Encoding::Base64.
  • Added Ronin::Support::Encoding::C.
  • Added Ronin::Support::Encoding::Hex.
  • Added Ronin::Support::Encoding::HTML.
  • Added Ronin::Support::Encoding::HTTP.
  • Added Ronin::Support::Encoding::JS.
  • Added Ronin::Support::Encoding::PowerShell.
  • Added Ronin::Support::Encoding::Punycode.
  • Added Ronin::Support::Encoding::QuotedPrintable.
  • Added Ronin::Support::Encoding::Ruby.
  • Added Ronin::Support::Encoding::Shell.
  • Added Ronin::Support::Encoding::SQL.
  • Added Ronin::Support::Encoding::URI.
  • Added Ronin::Support::Encoding::UUEncoding.
  • Added Ronin::Support::Encoding::XML.
  • Added Ronin::Support::Home.
  • Added Ronin::Support::Mixin.
  • Added Ronin::Support::Network::ASN.
  • Added Ronin::Support::Network::ASN::List.
  • Added Ronin::Support::Network::DNS::IDN.
  • Added Ronin::Support::Network::DNS::Resolver.
  • Added Ronin::Support::Network::Domain.
  • Added Ronin::Support::Network::EmailAddress.
  • Added Ronin::Support::Network::Host.
  • Refactored Ronin::Support::Network::HTTP into a class.
  • Added Ronin::Support::Network::HTTP.connect.
  • Added Ronin::Support::Network::HTTP.connect_uri.
  • Added Ronin::Support::Network::HTTP#ssl?.
  • Added Ronin::Support::Network::HTTP#user_agent.
  • Added Ronin::Support::Network::HTTP#user_agent=.
  • Added Ronin::Support::Network::HTTP#cookie=.
  • Added Ronin::Support::Network::HTTP#request.
  • Added Ronin::Support::Network::HTTP#response_status.
  • Added Ronin::Support::Network::HTTP#ok?.
  • Added Ronin::Support::Network::HTTP#response_headers.
  • Added Ronin::Support::Network::HTTP#server_header.
  • Added Ronin::Support::Network::HTTP#powered_by_header.
  • Added Ronin::Support::Network::HTTP#response_body.
  • Added Ronin::Support::Network::HTTP#copy.
  • Added Ronin::Support::Network::HTTP#delete.
  • Added Ronin::Support::Network::HTTP#get.
  • Added Ronin::Support::Network::HTTP#get_headers.
  • Added Ronin::Support::Network::HTTP#get_cookies.
  • Added Ronin::Support::Network::HTTP#get_body.
  • Added Ronin::Support::Network::HTTP#head.
  • Added Ronin::Support::Network::HTTP#lock.
  • Added Ronin::Support::Network::HTTP#mkcol.
  • Added Ronin::Support::Network::HTTP#move.
  • Added Ronin::Support::Network::HTTP#options.
  • Added Ronin::Support::Network::HTTP#allowed_methods.
  • Added Ronin::Support::Network::HTTP#patch.
  • Added Ronin::Support::Network::HTTP#post.
  • Added Ronin::Support::Network::HTTP#post_headers.
  • Added Ronin::Support::Network::HTTP#post_body.
  • Added Ronin::Support::Network::HTTP#propfind.
  • Added Ronin::Support::Network::HTTP#proppatch.
  • Added Ronin::Support::Network::HTTP#put.
  • Added Ronin::Support::Network::HTTP#trace.
  • Added Ronin::Support::Network::HTTP#unlock.
  • Added Ronin::Support::Network::HTTP#close.
  • Added Ronin::Support::Network::HTTP.response_status.
  • Added Ronin::Support::Network::HTTP.ok?.
  • Added Ronin::Support::Network::HTTP.response_headers.
  • Added Ronin::Support::Network::HTTP.server_header.
  • Added Ronin::Support::Network::HTTP.powered_by_header.
  • Added Ronin::Support::Network::HTTP.response_body.
  • Added Ronin::Support::Network::HTTP.copy.
  • Added Ronin::Support::Network::HTTP.delete.
  • Added Ronin::Support::Network::HTTP.get.
  • Added Ronin::Support::Network::HTTP.get_headers.
  • Added Ronin::Support::Network::HTTP.get_cookies.
  • Added Ronin::Support::Network::HTTP.get_body.
  • Added Ronin::Support::Network::HTTP.head.
  • Added Ronin::Support::Network::HTTP.lock.
  • Added Ronin::Support::Network::HTTP.mkcol.
  • Added Ronin::Support::Network::HTTP.move.
  • Added Ronin::Support::Network::HTTP.options.
  • Added Ronin::Support::Network::HTTP.allowed_methods.
  • Added Ronin::Support::Network::HTTP.patch.
  • Added Ronin::Support::Network::HTTP.post.
  • Added Ronin::Support::Network::HTTP.post_headers.
  • Added Ronin::Support::Network::HTTP.post_body.
  • Added Ronin::Support::Network::HTTP.propfind.
  • Added Ronin::Support::Network::HTTP.proppatch.
  • Added Ronin::Support::Network::HTTP.put.
  • Added Ronin::Support::Network::HTTP.trace.
  • Added Ronin::Support::Network::HTTP.unlock.
  • Added Ronin::Support::Network::HTTP::Cookie.
  • Added Ronin::Support::Network::HTTP::Mixin.
  • Added Ronin::Support::Network::HTTP::Mixin#http_connect.
  • Added Ronin::Support::Network::HTTP::Mixin#http_connect_uri.
  • Added Ronin::Support::Network::HTTP::Mixin#http_response_status.
  • Added Ronin::Support::Network::HTTP::Mixin#http_response_headers.
  • Added Ronin::Support::Network::HTTP::Mixin#http_server_header.
  • Added Ronin::Support::Network::HTTP::Mixin#http_powered_by_header.
  • Added Ronin::Support::Network::HTTP::Mixin#http_response_body.
  • Added Ronin::Support::Network::HTTP::Mixin#http_patch.
  • Added Ronin::Support::Network::IP.
  • Added Ronin::Support::Network::IP::Mixin.
  • Added Ronin::Support::Network::IP::Mixin#public_address.
  • Added Ronin::Support::Network::IP::Mixin#public_ip.
  • Added Ronin::Support::Network::IP::Mixin#local_addresses.
  • Added Ronin::Support::Network::IP::Mixin#local_address.
  • Added Ronin::Support::Network::IP::Mixin#local_ips.
  • Added Ronin::Support::Network::IP::Mixin#local_ip.
  • Added Ronin::Support::Network::IPRange.
  • Added Ronin::Support::Network::IPRange::CIDR.
  • Added Ronin::Support::Network::IPRange::Glob.
  • Added Ronin::Support::Network::IPRange::Range.
  • Added Ronin::Support::Network::Mixin.
  • Added Ronin::Support::Network::PublicSuffix.
  • Added Ronin::Support::Network::PublicSuffix::List.
  • Added Ronin::Support::Network::SSL.context.
  • Added Ronin::Support::Network::SSL::Proxy#version.
  • Added Ronin::Support::Network::TCP.
    ...
Read more

0.5.2

02 Mar 01:25
v0.5.2
Compare
Choose a tag to compare
v0.5.2

Tagging v0.5.2