[packages] aircrack-ng: implement --ignore-negative-one option to cope with cfg80211 monitor mode channel issues
git-svn-id: svn://svn.openwrt.org/openwrt/packages@26910 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
c36a561674
commit
cee6e1c9ce
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
# Copyright (C) 2006-2011 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=aircrack-ng
|
||||
PKG_VERSION:=1.1
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://download.aircrack-ng.org/ \
|
||||
|
@ -0,0 +1,52 @@
|
||||
--- a/src/aireplay-ng.c
|
||||
+++ b/src/aireplay-ng.c
|
||||
@@ -200,7 +200,9 @@ char usage[] =
|
||||
"\n"
|
||||
" Miscellaneous options:\n"
|
||||
"\n"
|
||||
-" -R : disable /dev/rtc usage\n"
|
||||
+" -R : disable /dev/rtc usage\n"
|
||||
+" --ignore-negative-one : if the interface's channel can't be determined,\n"
|
||||
+" ignore the mismatch, needed for unpatched cfg80211\n"
|
||||
"\n"
|
||||
" Attack modes (numbers can still be used):\n"
|
||||
"\n"
|
||||
@@ -268,6 +270,7 @@ struct options
|
||||
int bittest;
|
||||
|
||||
int nodetect;
|
||||
+ int ignore_negative_one;
|
||||
int rtc;
|
||||
}
|
||||
opt;
|
||||
@@ -715,6 +718,13 @@ int attack_check(uchar* bssid, char* ess
|
||||
|
||||
iface_chan = wi_get_channel(wi);
|
||||
|
||||
+ if(iface_chan == -1 && !opt.ignore_negative_one)
|
||||
+ {
|
||||
+ PCT; printf("Couldn't determine current channel for %s, you should either force the operation with --ignore-negative-one or apply a kernel patch\n",
|
||||
+ wi_get_ifname(wi));
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
if(bssid != NULL)
|
||||
{
|
||||
ap_chan = wait_for_beacon(bssid, capa, essid);
|
||||
@@ -723,7 +733,7 @@ int attack_check(uchar* bssid, char* ess
|
||||
PCT; printf("No such BSSID available.\n");
|
||||
return -1;
|
||||
}
|
||||
- if(ap_chan != iface_chan)
|
||||
+ if((ap_chan != iface_chan) && (iface_chan != -1 || !opt.ignore_negative_one))
|
||||
{
|
||||
PCT; printf("%s is on channel %d, but the AP uses channel %d\n", wi_get_ifname(wi), iface_chan, ap_chan);
|
||||
return -1;
|
||||
@@ -5765,6 +5775,7 @@ int main( int argc, char *argv[] )
|
||||
{"help", 0, 0, 'H'},
|
||||
{"fast", 0, 0, 'F'},
|
||||
{"bittest", 0, 0, 'B'},
|
||||
+ {"ignore-negative-one", 0, &opt.ignore_negative_one, 1},
|
||||
{0, 0, 0, 0 }
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user