summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZero_Chaos <zerochaos@gentoo.org>2018-08-21 02:30:33 +0000
committerZero_Chaos <zerochaos@gentoo.org>2018-08-21 02:32:07 +0000
commitfdf580a1422bb5ebcbe7a8218eaea67341901d77 (patch)
tree9e5bffcc6c716262998b6b3c50e6f02280912d92 /net-wireless/aircrack-ng
parentdev-python/flask: bump to 1.0.2 (diff)
downloadgentoo-fdf580a1422bb5ebcbe7a8218eaea67341901d77.tar.gz
gentoo-fdf580a1422bb5ebcbe7a8218eaea67341901d77.tar.bz2
gentoo-fdf580a1422bb5ebcbe7a8218eaea67341901d77.zip
net-wireless/aircrack-ng: minor airmon-ng fixes
Package-Manager: Portage-2.3.47, Repoman-2.3.10
Diffstat (limited to 'net-wireless/aircrack-ng')
-rw-r--r--net-wireless/aircrack-ng/aircrack-ng-1.3-r3.ebuild (renamed from net-wireless/aircrack-ng/aircrack-ng-1.3-r2.ebuild)0
-rw-r--r--net-wireless/aircrack-ng/files/aircrack-ng-1.3-8812au.patch157
2 files changed, 142 insertions, 15 deletions
diff --git a/net-wireless/aircrack-ng/aircrack-ng-1.3-r2.ebuild b/net-wireless/aircrack-ng/aircrack-ng-1.3-r3.ebuild
index e5103942e69c..e5103942e69c 100644
--- a/net-wireless/aircrack-ng/aircrack-ng-1.3-r2.ebuild
+++ b/net-wireless/aircrack-ng/aircrack-ng-1.3-r3.ebuild
diff --git a/net-wireless/aircrack-ng/files/aircrack-ng-1.3-8812au.patch b/net-wireless/aircrack-ng/files/aircrack-ng-1.3-8812au.patch
index 6ce0fbc51eba..e5343023aaec 100644
--- a/net-wireless/aircrack-ng/files/aircrack-ng-1.3-8812au.patch
+++ b/net-wireless/aircrack-ng/files/aircrack-ng-1.3-8812au.patch
@@ -1,14 +1,28 @@
-commit 3cc9de5e7cbe6565c7e1fe12ebbcf2c6f7413c8d
-Author: Rick Farina (Zero_Chaos) <zerochaos@gentoo.org>
-Date: Tue Aug 7 01:27:05 2018 +0000
-
- airmon-ng support 8812au
-
diff --git a/scripts/airmon-ng.linux b/scripts/airmon-ng.linux
-index 14e4bdcd..d7328f4b 100755
+index 7f488391..4d0a5e0c 100755
--- a/scripts/airmon-ng.linux
+++ b/scripts/airmon-ng.linux
-@@ -354,21 +354,21 @@ ifaceIsUp() {
+@@ -106,7 +106,18 @@ else
+ fi
+
+ if [ -d /sys/bus/pci ] || [ -d /sys/bus/pci_express ] || [ -d /proc/bus/pci ]; then
+- if [ ! -x "$(command -v lspci 2>&1)" ]; then
++ PCI_DEVICES=0
++ if [ -d /sys/bus/pci/devices ] && [ "$(ls -1 /sys/bus/pci/devices 2>/dev/null | wc -l)" != '0' ]; then
++ PCI_DEVICES=1
++ elif [ -r /proc/bus/pci/devices ] && [ -n "$(cat /proc/bus/pci/devices 2>/dev/null)" ]; then
++ PCI_DEVICES=1
++ elif [ -d /sys/bus/pci_express/devices ] && [ -n "$(ls -1 /sys/bus/pci_express/devices 2>/dev/null | wc -l)" != '0' ]; then
++ PCI_DEVICES=1
++ fi
++
++ if [ ${PCI_DEVICES} -eq 0 ]; then
++ LSPCI=0
++ elif [ ! -x "$(command -v lspci 2>&1)" ]; then
+ printf "Please install lspci from your distro's package manager.\n"
+ exit 1
+ else
+@@ -347,21 +358,21 @@ ifaceIsUp() {
# fi
#}
@@ -45,7 +59,7 @@ index 14e4bdcd..d7328f4b 100755
yesorno() {
read input
-@@ -426,7 +426,7 @@ startMac80211Iface() {
+@@ -419,7 +430,7 @@ startMac80211Iface() {
done
fi
#we didn't bail means we need a monitor interface
@@ -54,11 +68,11 @@ index 14e4bdcd..d7328f4b 100755
printf "Interface ${1}mon is too long for linux so it will be renamed to the old style (wlan#) name.\n"
findFreeInterface monitor
else
-@@ -438,10 +438,16 @@ startMac80211Iface() {
+@@ -431,10 +442,16 @@ startMac80211Iface() {
fi
#we didn't bail means our target interface is available
setLink ${1} down
-+ if [ "${DRIVER}" = "8812au" ] || [ "${DRIVER}" = "8814au" ] || [ "${DRIVER}" = "rtl8812au" ]; then
++ if [ "${DRIVER}" = "8812au" ] || [ "${DRIVER}" = "8814au" ]; then
+ #grumble grumble, seriously crap vendor driver
+ startDeprecatedIface ${1}
+ setChannelMac80211 ${1}
@@ -72,7 +86,55 @@ index 14e4bdcd..d7328f4b 100755
setChannelMac80211 ${1}mon
else
printf "\nNewly created monitor mode interface ${1}mon is *NOT* in monitor mode.\n"
-@@ -569,12 +575,12 @@ setChannelMac80211() {
+@@ -456,15 +473,12 @@ startMac80211Iface() {
+ printf "\nPlease run \"airmon-ng check kill\" and/or kill your network manager."
+ fi
+ else
+- iw ${1} del
++ isRPiWireless && iw ${1} del
+ printf "\t\t(mac80211 station mode vif disabled for [${PHYDEV}]${1})\n"
+ fi
+ }
+
+-NEXMON_FIRMWARE_DIR=/opt
+-NEXMON_DRIVER_DIR=/opt
+-
+-hasRPiWireless() {
++isRPiWireless() {
+ local HW_REV=$(grep Revision /proc/cpuinfo | awk '{print $3}')
+ [ -z "${HW_REV}" ] && return 0
+ # http://www.raspberrypi-spy.co.uk/2012/09/checking-your-raspberry-pi-board-version/
+@@ -475,29 +489,6 @@ hasRPiWireless() {
+ return 0
+ }
+
+-isNexutilPresent() {
+- type nexutil >/dev/null 2>/dev/null
+- if [ $? -eq 0 ]; then
+- return 1
+- fi
+- return 0
+-}
+-
+-startNexmonIface() {
+- [ -z $1 ] && return
+-
+- if [ -n "$(iwconfig $1 | grep 'Mode:Monitor')" ] && [ -n "$(nexutil -m | grep 'monitor: 2')" ]; then
+- printf "\n\tInterface $1 is already in monitor mode\n"
+- else
+- ifconfig $1 up 2>/dev/null
+- iwconfig $1 mode monitor 2>/dev/null
+- [ "$1" = "wlan0" ] && nexutil -m2
+- [ "$1" = "wlan0" ] || nexutil -m2 -I $1
+- iwconfig $1 channel ${CH}
+- printf "\n\t\t(monitor mode enabled for [${PHYDEV}]${1})\n"
+- fi
+-}
+-
+ startwlIface() {
+ if [ -f "/proc/brcm_monitor0" ]; then
+ if [ -r "/proc/brcm_monitor0" ]; then
+@@ -587,12 +578,12 @@ setChannelMac80211() {
fi
}
@@ -91,11 +153,11 @@ index 14e4bdcd..d7328f4b 100755
stopMac80211Iface() {
if [ -f /sys/class/net/${1}/type ]; then
-@@ -587,6 +593,11 @@ stopMac80211Iface() {
+@@ -605,6 +596,11 @@ stopMac80211Iface() {
printf "please report it.\n"
exit 1
else
-+ if [ "${DRIVER}" = "8812au" ] || [ "${DRIVER}" = "8814au" ] || [ "${DRIVER}" = "rtl8812au" ]; then
++ if [ "${DRIVER}" = "8812au" ] || [ "${DRIVER}" = "8814au" ]; then
+ #grumble grumble, seriously crap vendor driver
+ stopDeprecatedIface ${1}
+ return
@@ -103,7 +165,48 @@ index 14e4bdcd..d7328f4b 100755
if [ "${ELITE}" = "0" ]; then
local need_sta=1
if [ -d /sys/class/ieee80211/${PHYDEV}/device/net ]; then
-@@ -1316,8 +1327,10 @@ if [ "$DEBUG" = "1" ]; then
+@@ -665,18 +661,6 @@ stopMac80211Iface() {
+ fi
+ }
+
+-stopNexmonIface() {
+- [ -z $1 ] && return
+- ifconfig $1 down
+- # Running nexutil is not necessary, it gets reset when putting interface down
+- [ "$1" = "wlan0" ] && nexutil -m0
+- [ "$1" = "wlan0" ] || nexutil -m0 -I $1
+- ifconfig $1 down
+- ifconfig $1 up 2> /dev/null
+- iwconfig $1 mode managed 2> /dev/null
+- printf "\n\t\t(monitor mode disabled for [${PHYDEV}]${1})\n"
+-}
+-
+ stopwlIface() {
+ if [ -f "/proc/brcm_monitor0" ]; then
+ if [ -r "/proc/brcm_monitor0" ]; then
+@@ -751,6 +735,12 @@ getDriver() {
+ if [ "$DRIVER" = "rtl8187" ] && [ "$STACK" = "ieee80211" ]; then
+ DRIVER="r8187"
+ fi
++ if [ "$DRIVER" = "rtl88xxau" ]; then
++ DRIVER="88XXau"
++ fi
++ if [ "$DRIVER" = "rtl8812au" ]; then
++ DRIVER="8812au"
++ fi
+
+ #Here we will catch the broken lying drivers not caught above
+ #currently this only functions for pci devices and not usb since lsusb has no -k option
+@@ -795,6 +785,8 @@ getFrom() {
+ FROM="V"
+ elif [ "$DRIVER" = "rt5390sta" ]; then
+ FROM="V"
++ elif [ "${DRIVER}" = "8812au" ] || [ "${DRIVER}" = "8814au" ]; then
++ FROM="V"
+ fi
+ elif modinfo -F filename $DRIVER 2>&1 | grep -q 'updates/drivers'
+ then
+@@ -1346,8 +1338,10 @@ if [ "$DEBUG" = "1" ]; then
fi
fi
if [ "$VERBOSE" = "1" ]; then
@@ -116,3 +219,27 @@ index 14e4bdcd..d7328f4b 100755
uname -a
checkvm
+@@ -1493,23 +1487,6 @@ for iface in $(printf "${iface_list}"); do
+ if [ "$1" = "stop" ] && [ "$2" = "$iface" ]; then
+ stopwlIface $iface
+ fi
+- elif [ "${CHIPSET}" = 'Broadcom 43430' ] || [ "${CHIPSET}" = 'Broadcom 43455' ]; then
+- hasRPiWireless
+- if [ $? -eq 0 ]; then
+- printf "\n\tNot a Raspberry Pi 3, 3B+ or Zero Wireless, cannot put in monitor mode.\n"
+- else
+- isNexutilPresent
+- if [ $? -eq 0 ]; then
+- printf "\n\tMissing nexutil, cannot switch to monitor mode.\n"
+- else
+- if [ "$1" = "start" ] && [ "$2" = "$iface" ]; then
+- startNexmonIface $iface
+- fi
+- if [ "$1" = "stop" ] && [ "$2" = "$iface" ]; then
+- stopNexmonIface $iface
+- fi
+- fi
+- fi
+ elif [ "$MAC80211" = "1" ]; then
+ if [ "$1" = "start" ] && [ "$2" = "$iface" ]; then
+ startMac80211Iface $iface