From 7e2ff917a67573ed957d57d2fd077b4c219c0d86 Mon Sep 17 00:00:00 2001 From: Jouke Witteveen Date: Tue, 3 Jul 2012 12:05:24 +0200 Subject: 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. --- src/8021x | 4 ++-- src/connections/ethernet | 4 ++-- src/connections/wireless | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src') 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) -- cgit v1.2.3-24-g4f1b