summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJouke Witteveen <j.witteveen@gmail.com>2012-07-03 12:05:24 +0200
committerJouke Witteveen <j.witteveen@gmail.com>2012-07-03 12:05:24 +0200
commit7e2ff917a67573ed957d57d2fd077b4c219c0d86 (patch)
tree47902df1e57bb4d4a24eccc3f364944bee3bcef3
parentb0373830cd79e35ea0d266726109c36a57122857 (diff)
downloadnetctl-7e2ff917a67573ed957d57d2fd077b4c219c0d86.tar.gz
netctl-7e2ff917a67573ed957d57d2fd077b4c219c0d86.tar.xz
Better grep usage
When possible, fgrep is preferred. This prevents interpreting variable search patterns as expressions. In setting the control paths, the search expression was updated to match what wpa_supplicant uses.
-rwxr-xr-xscripts/wifi-menu2
-rw-r--r--src/8021x4
-rw-r--r--src/connections/ethernet4
-rw-r--r--src/connections/wireless4
4 files changed, 7 insertions, 7 deletions
diff --git a/scripts/wifi-menu b/scripts/wifi-menu
index 669a49a..3d7ed57 100755
--- a/scripts/wifi-menu
+++ b/scripts/wifi-menu
@@ -105,7 +105,7 @@ create_profile()
local box flags key msg security
PROFILE="$INTERFACE-${1//\//_}"
[[ -e "$PROFILE_DIR/$PROFILE" ]] && PROFILE+=".wifi-menu"
- flags=$(grep -m 1 $'\t'"$1\$" "$NETWORKS" | cut -f 2)
+ flags=$(fgrep -m 1 $'\t'"$1\$" "$NETWORKS" | cut -f 2)
if [[ "$flags" =~ WPA|WEP ]]; then
security=${BASH_REMATCH[0],,}
else
diff --git a/src/8021x b/src/8021x
index e5047a2..9c45f6f 100644
--- a/src/8021x
+++ b/src/8021x
@@ -105,7 +105,7 @@ wpa_supplicant_scan_and_find() {
for ((try=0; try < $RETRIES; try++)); do
local found
sleep 2
- found=$(wpa_cli -p "$WPA_CTRL_PATH" -i "$INTERFACE" scan_results | tail -n+2 | cut -f ${FIELD} | grep -F -x -m 1 "${ITEM}")
+ found=$(wpa_cli -p "$WPA_CTRL_PATH" -i "$INTERFACE" scan_results | tail -n+2 | cut -f ${FIELD} | fgrep -x -m 1 "${ITEM}")
(( $? == 0 )) && scan_ok=1
# ITEM has been found, echo it
@@ -144,7 +144,7 @@ wpa_supplicant_scan_info() {
# Wait at least 3 seconds for scan results
sleep 3
# Sometimes, that is not enough (FS#29946)
- timeout_wait 7 '! wpa_cli -p "$WPA_CTRL_PATH" -i "$INTERFACE" status | grep -q "wpa_state=SCANNING"'
+ timeout_wait 7 '! wpa_cli -p "$WPA_CTRL_PATH" -i "$INTERFACE" status | fgrep -q "wpa_state=SCANNING"'
wpa_cli -p "$WPA_CTRL_PATH" -i "$INTERFACE" scan_results |
grep -v "^Selected" |
grep -v "^bssid" |
diff --git a/src/connections/ethernet b/src/connections/ethernet
index 834b333..b33dfbd 100644
--- a/src/connections/ethernet
+++ b/src/connections/ethernet
@@ -45,8 +45,8 @@ ethernet_up() {
[[ -z "$WPA_DRIVER" ]] && WPA_DRIVER="wired"
# Set wpa_supplicant control path (FS#25473)
WPA_CTRL_PATH=/run/wpa_supplicant
- if grep "^ *ctrl_interface=" "$WPA_CONF" &>/dev/null; then
- WPA_CTRL_PATH=$(grep -m 1 "^ *ctrl_interface=" "$WPA_CONF" | tail -n 1 | cut -d= -f 2- | sed -r 's/DIR=(.*) +GROUP=.*/\1/')
+ if grep -q "^ *ctrl_interface=" "$WPA_CONF"; then
+ WPA_CTRL_PATH=$(grep -m 1 "^ *ctrl_interface=" "$WPA_CONF" | cut -d= -f 2- | sed -r 's/^DIR=(.*) GROUP=.*/\1/')
fi
report_debug ethernet_up start_wpa "$INTERFACE" "$WPA_CONF" "$WPA_DRIVER" "$WPA_OPTS"
diff --git a/src/connections/wireless b/src/connections/wireless
index efcda80..143276b 100644
--- a/src/connections/wireless
+++ b/src/connections/wireless
@@ -25,8 +25,8 @@ wireless_up() {
if [[ "$SECURITY" = "wpa-config" ]]; then
WPA_CONF="${WPA_CONF:-/etc/wpa_supplicant.conf}"
# Use defined control path (FS#24949)
- if grep "^ *ctrl_interface=" "$WPA_CONF" &>/dev/null; then
- WPA_CTRL_PATH=$(grep -m 1 "^ *ctrl_interface=" "$WPA_CONF" | tail -n 1 | cut -d= -f 2- | sed -r 's/DIR=(.*) +GROUP=.*/\1/')
+ if grep -q "^ *ctrl_interface=" "$WPA_CONF"; then
+ WPA_CTRL_PATH=$(grep -m 1 "^ *ctrl_interface=" "$WPA_CONF" | cut -d= -f 2- | sed -r 's/^DIR=(.*) GROUP=.*/\1/')
fi
else
WPA_CONF=$(make_wpa_config_file $INTERFACE)