New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Ruby 3.0.0 #14666
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@sbrun Would you happen to know when Kali plans to use Ruby 3.0.0? We would like to aim for Metasploit being fully updated before that date, so any insight would be appreciated 👍 |
@adfoster-r7 Kali follows Debian Testing and Debian plans to use Ruby 3.0.0 after the Bullseye release (the freeze started). No date is set, Debian release is done when "it's ready". I think it will be around this summer. |
This comment has been minimized.
This comment has been minimized.
updates Docker container to 2.7.2 Warnings for python2 support [abound](https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.12.0). ``` DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality. ```
The time has come, Ruby 3.0 is arriving in Arch Linux, which now hits this issue unfortunately. 🐈 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
2021-08-14 debian 11 Release, Ruby3.0 about to happen |
The final pull request for Ruby 3 support is here #15537, hoping to get that out for next week's framework release. Note that there's a bug in Ruby itself which will require at least Ruby 3.0.1 to work with framework. |
Just checking, is Ruby 3.0.1 now supported in the nightly builds? I'm getting caught on #14763 again, and FWIW I'm seeing slowdowns (and imports stopping entirely) on moderately-sized masscan XML imports (~5000 hosts) as well. A quick profile of postgres shows the excessive |
@jeffmcjunkin The insert_all API is available now as part of our Rails 6.1 upgrade, which was a separate effort to the Ruby 3.x support. We should revisit the slow |
Closing this issue as Metasploit should now support Ruby 3.0.1 |
Summary
Update Metasploit framework to support Ruby 3.0.0
Motivation
Ruby 2.x will eventually EOL and stop receiving security upgrades
Kali etc will most likely ship with Ruby 3.0.0, which Metasploit currently does not work with
Required work
1. Updating pcaprub
pcaprub does not currently install as a dependency, related pull request: pcaprub/pcaprub#58
Current work around within Gemfile:
And for the eventmachine compilation issue on mac:
2. Update rex-core to explicitly depend on webrick
Metasploit data models has an implicit dependency on webrick here
which breaks and must be updated to work:
Webrick is no longer included in Ruby 3.0.0 by default:
https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
3. Upgrade to Rails 6
Ruby 3.0.0 stops Metasploit console from starting up due to currently being on Rails 5.2
4. Update uses of
rexml
Continuation of point 1, the rex-exploitation gem uses
rexml
Fix Ruby deprecation issues
Looks like this is fixed by in sqlite3-ruby 1.4.2:
https://github.com/sparklemotion/sqlite3-ruby/blame/d94c42b0b8e5005ee28cde75a58e15ea5670d1c4/CHANGELOG.rdoc#L1-L6
However we're currently pinned to an older version: #11363
rapid7/rex-core#11
The text was updated successfully, but these errors were encountered: