From 6e928f32a736d59b5a4a3ded771cb07b1a2e4766 Mon Sep 17 00:00:00 2001 From: "Rick Farina (Zero_Chaos)" Date: Fri, 11 Sep 2020 23:02:38 -0400 Subject: [PATCH] eselect-metasploit: add versatility to insanity --- ....ebuild => eselect-metasploit-0.18.ebuild} | 0 .../eselect-metasploit/files/msfloader-0.17 | 18 ------- .../eselect-metasploit/files/msfloader-0.18 | 47 +++++++++++++++++++ 3 files changed, 47 insertions(+), 18 deletions(-) rename app-eselect/eselect-metasploit/{eselect-metasploit-0.17-r1.ebuild => eselect-metasploit-0.18.ebuild} (100%) delete mode 100644 app-eselect/eselect-metasploit/files/msfloader-0.17 create mode 100644 app-eselect/eselect-metasploit/files/msfloader-0.18 diff --git a/app-eselect/eselect-metasploit/eselect-metasploit-0.17-r1.ebuild b/app-eselect/eselect-metasploit/eselect-metasploit-0.18.ebuild similarity index 100% rename from app-eselect/eselect-metasploit/eselect-metasploit-0.17-r1.ebuild rename to app-eselect/eselect-metasploit/eselect-metasploit-0.18.ebuild diff --git a/app-eselect/eselect-metasploit/files/msfloader-0.17 b/app-eselect/eselect-metasploit/files/msfloader-0.17 deleted file mode 100644 index 3eac8856e..000000000 --- a/app-eselect/eselect-metasploit/files/msfloader-0.17 +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -#todo: -#add in optional auto starting/stopping of postgres - -#read the desired version of ruby from the eselected version of msf -header="$(head -n1 /usr/lib/metasploit/msfconsole)" -ruby="${header:2}" - -#ensure Gemfile.lock is up to date -if ! BUNDLE_GEMFILE=/usr/lib/metasploit/Gemfile ${ruby} -S bundle check > /dev/null 2>&1; then - echo "Something went wrong, please open a bug for metasploit on https://github.com/pentoo/pentoo-overlay/issues" - exit 1 -fi - -#ready to go -BUNDLE_GEMFILE=/usr/lib/metasploit/Gemfile ${ruby} -S bundle exec /usr/lib/metasploit/$(basename $0) "$@" -#profit diff --git a/app-eselect/eselect-metasploit/files/msfloader-0.18 b/app-eselect/eselect-metasploit/files/msfloader-0.18 new file mode 100644 index 000000000..8a8c2daa4 --- /dev/null +++ b/app-eselect/eselect-metasploit/files/msfloader-0.18 @@ -0,0 +1,47 @@ +#!/bin/sh + +#todo: +#add in optional auto starting/stopping of postgres + +#read the desired version of ruby from the eselected version of msf +header="$(head -n1 /usr/lib/metasploit/msfconsole)" +ruby="${header:2}" + +if [ -f "/usr/lib/metasploit/Gemfile.lock" ]; then + GEMFILE=/usr/lib/metasploit/Gemfile +else + GEMFILE="~/.msf4/Gemfile" + + #normally msf makes this dir, however, this script runs first + if [ ! -d ~/.msf4 ]; then + mkdir ~/.msf4 + fi + + #we cannot control if msf* exits normally so always start with cleanup + if [ -f ~/.msf4/Gemfile ]; then + rm ~/.msf4/Gemfile + fi + if ls -A ~/.msf4/*.gemspec > /dev/zero 2>&1; then + rm ~/.msf4/*.gemspec + fi + + #fetch the latest Gemfile and gemspecsfrom the selected version of msf + cp /usr/lib/metasploit/Gemfile ~/.msf4/ + if ls -A /usr/lib/metasploit/*.gemspec > /dev/zero 2>&1; then + cp /usr/lib/metasploit/*.gemspec ~/.msf4/ + fi +fi + +#ensure Gemfile.lock is up to date +if ! BUNDLE_GEMFILE="${GEMFILE}" ${ruby} -S bundle check > /dev/null 2>&1; then + if [ -f "~/.msf4/Gemfile.lock" ]; then + rm "~/.msf4/Gemfile.lock" + else + echo "Something went wrong, please open a bug for metasploit on https://github.com/pentoo/pentoo-overlay/issues" + exit 1 + fi +fi + +#ready to go +BUNDLE_GEMFILE="${GEMFILE}" ${ruby} -S bundle exec /usr/lib/metasploit/$(basename $0) "$@" +#profit