Fixed issue with airmon-ng interface allocator.

The issue was caused by improper grep selection.
Fixed a future bug with deallocation, caused by improper sequencing.
This commit is contained in:
Matias Barcenas 2018-05-03 16:55:06 -05:00
parent 22a8feb58d
commit 53087e6907
1 changed files with 15 additions and 15 deletions

View File

@ -753,21 +753,21 @@ fluxion_deallocate_interface() { # Release interfaces
)"$CClr"
if interface_is_wireless $oldIdentifier; then
# Attempt deactivating monitor mode on the interface.
if ! interface_set_mode $oldIdentifier managed; then
return 3
fi
fi
# If interface was allocated by airmon-ng, deallocate with it.
if [[ "$oldIdentifier" == *"mon"* ]]; then
if ! airmon-ng stop $oldIdentifier &> $FLUXIONOutputDevice; then
return 4
fi
else
# Attempt deactivating monitor mode on the interface.
if ! interface_set_mode $oldIdentifier managed; then
return 3
fi
# If interface was allocated by airmon-ng, deallocate with it.
if [[ "$oldIdentifier" == *"mon"* ]]; then
if ! airmon-ng stop $oldIdentifier &> $FLUXIONOutputDevice; then
return 4
fi
else
# Attempt to restore the original interface identifier.
if ! interface_reidentify $oldIdentifier $newIdentifier; then
return 5
# Attempt to restore the original interface identifier.
if ! interface_reidentify $oldIdentifier $newIdentifier; then
return 5
fi
fi
fi
@ -896,7 +896,7 @@ fluxion_allocate_interface() { # Reserve interfaces
local -r newIdentifier=$(
airmon-ng start $identifier |
grep "monitor .* enabled" |
grep -oP "wl.*mon|mon[0-9]+"
grep -oP "wl[a-zA-Z0-9]+mon|mon[0-9]+"
)
else
# Attempt activating monitor mode on the interface.