You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A long long time ago in an internet far far away, Metasploit was split into many gems. The intention at the time was to facilitate a Ruby based community of projects. Over the years, this never came to pass and as it stands now, is an extra layer of complexity and effort that we the core maintainers and open source contributors have to subject ourselves to while making trivial changes.
Currently if 1 gem needs to be updated:
The developer clones rapid7/metasploit-framework
The developer clones rapid7/rex-whatever
The developer makes necessary code changes
The developer makes a PR to rapid7/rex-whatever
The developer updates their Gemfile with the incantation to load their PR'ed changes
The developer makes a PR to rapid7/metasploit-framework
Changes are reviewed and iterated on until ready to be merged
A maintainer merges the changes to rapid7/rex-whatever, cutting a release
The developer reverts the changes from step 4 and adds a commit to bump the gem
A maintainer merges the changes to rapid7/metasploit-framework
The intention of this ticket is to spike our ability to bring some of these gems into the framework tree to allow changes to be made to their source code directly, in parallel / the same repo. That would ideally eliminate steps 2, 4, 5, 8, and 9. Of course not all of these steps are the same level of effort, but that is half the number of steps. Ideally, Metasploit would load the local gem changes, and any bumps would be handled by Jenkins automatically on merge. If possible, we should continue to publish the gems as we go to make testing and distribution easier, as well as maintain the git history.
Based on the dependency graph today, rex-mime seems like a reasonable candidate to use as a test subject.
A long long time ago in an internet far far away, Metasploit was split into many gems. The intention at the time was to facilitate a Ruby based community of projects. Over the years, this never came to pass and as it stands now, is an extra layer of complexity and effort that we the core maintainers and open source contributors have to subject ourselves to while making trivial changes.
Currently if 1 gem needs to be updated:
The intention of this ticket is to spike our ability to bring some of these gems into the framework tree to allow changes to be made to their source code directly, in parallel / the same repo. That would ideally eliminate steps 2, 4, 5, 8, and 9. Of course not all of these steps are the same level of effort, but that is half the number of steps. Ideally, Metasploit would load the local gem changes, and any bumps would be handled by Jenkins automatically on merge. If possible, we should continue to publish the gems as we go to make testing and distribution easier, as well as maintain the git history.
Based on the dependency graph today, rex-mime seems like a reasonable candidate to use as a test subject.