From 64000e64434275e886032a3c02b0a161da771a13 Mon Sep 17 00:00:00 2001
From: Bastian Bittorf <bittorf@bluebottle.com>
Date: Tue, 7 Oct 2014 10:43:34 -0400
Subject: [PATCH] [base-files] shell-scripting: fix wrong usage of '=='
 operator

[base-files] shell-scripting: fix wrong usage of '==' operator

normally the '==' is used for invoking a regex parser and is a bashism.
all of the fixes just want to compare a string. the used busybox-ash
will silently "ignore" this mistake, but make it portable/clean at least.

this patch does not change the behavior/logic of the scripts.

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>
---
 package/base-files/files/lib/functions/uci-defaults-new.sh     |    2 +-
 package/base-files/files/lib/functions/uci-defaults.sh         |    2 +-
 package/base-files/files/sbin/led.sh                           |    6 +++---
 package/base-files/files/sbin/wifi                             |    2 +-
 package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh  |    2 +-
 package/network/config/qos-scripts/files/usr/bin/qos-stat      |    4 ++--
 package/network/services/dropbear/files/dropbear.init          |    2 +-
 package/network/services/hostapd/files/wpa_supplicant.sh       |    2 +-
 package/network/services/openvpn/files/openvpn.init            |    2 +-
 package/network/services/relayd/files/relay.init               |    2 +-
 package/system/fstools/files/snapshot                          |    6 +++---
 package/system/procd/files/nand.sh                             |    4 ++--
 package/system/procd/files/procd.sh                            |    2 +-
 scripts/flashing/flash.sh                                      |    6 +++---
 .../base-files/etc/uci-defaults/03_network-switchX-migration   |    2 +-
 .../linux/ar71xx/base-files/etc/uci-defaults/04_led_migration  |    4 ++--
 target/linux/brcm2708/image/gen_rpi_sdcard_img.sh              |    2 +-
 .../base-files/lib/preinit/15_set_preinit_interface_brcm       |    2 +-
 .../ixp4xx/base-files/lib/preinit/05_set_ether_mac_ixp4xx      |    8 ++++----
 target/linux/ramips/base-files/etc/hotplug.d/usb/10-motion     |    2 +-
 .../linux/ramips/base-files/lib/preinit/04_handle_checksumming |    2 +-
 target/linux/sunxi/image/gen_sunxi_sdcard_img.sh               |    2 +-
 target/linux/x86_64/image/gen_image_generic.sh                 |    2 +-
 23 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/package/base-files/files/lib/functions/uci-defaults-new.sh b/package/base-files/files/lib/functions/uci-defaults-new.sh
index ba954de..0751744 100755
--- a/package/base-files/files/lib/functions/uci-defaults-new.sh
+++ b/package/base-files/files/lib/functions/uci-defaults-new.sh
@@ -34,7 +34,7 @@ _ucidef_set_interface() {
 
 	json_select_object $name
 	json_add_string ifname "${iface%%.*}"
-	[ "$iface" == "${iface%%.*}" ] || json_add_boolean create_vlan 1
+	[ "$iface" = "${iface%%.*}" ] || json_add_boolean create_vlan 1
 	json_select ..
 }
 
diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh
index e90090c..8a9a0ff 100644
--- a/package/base-files/files/lib/functions/uci-defaults.sh
+++ b/package/base-files/files/lib/functions/uci-defaults.sh
@@ -140,7 +140,7 @@ EOF
 
 ucidef_commit_leds()
 {
-	[ "$UCIDEF_LEDS_CHANGED" == "1" ] && uci commit system
+	[ "$UCIDEF_LEDS_CHANGED" = "1" ] && uci commit system
 }
 
 ucidef_set_interface_loopback() {
diff --git a/package/base-files/files/sbin/led.sh b/package/base-files/files/sbin/led.sh
index d67a0f5..d750f06 100755
--- a/package/base-files/files/sbin/led.sh
+++ b/package/base-files/files/sbin/led.sh
@@ -9,15 +9,15 @@ do_led() {
 	local sysfs
 	config_get name $1 name
 	config_get sysfs $1 sysfs
-	[ "$name" == "$NAME" -o "$sysfs" = "$NAME" -a -e "/sys/class/leds/${sysfs}" ] && {
-		[ "$ACTION" == "set" ] &&
+	[ "$name" = "$NAME" -o "$sysfs" = "$NAME" -a -e "/sys/class/leds/${sysfs}" ] && {
+		[ "$ACTION" = "set" ] &&
 			echo 1 >/sys/class/leds/${sysfs}/brightness \
 			|| echo 0 >/sys/class/leds/${sysfs}/brightness
 		exit 0
 	}
 }
 
-[ "$1" == "clear" -o "$1" == "set" ] &&
+[ "$1" = "clear" -o "$1" = "set" ] &&
 	[ -n "$2" ] &&{
 		config_load system
 		config_foreach do_led
diff --git a/package/base-files/files/sbin/wifi b/package/base-files/files/sbin/wifi
index 051bc89..2476414 100755
--- a/package/base-files/files/sbin/wifi
+++ b/package/base-files/files/sbin/wifi
@@ -108,7 +108,7 @@ wifi_fixup_hwmode() {
 _wifi_updown() {
 	for device in ${2:-$DEVICES}; do (
 		config_get disabled "$device" disabled
-		[ 1 == "$disabled" ] && {
+		[ "$disabled" = "1" ] && {
 			echo "'$device' is disabled"
 			set disable
 		}
diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
index e6241de..918955a 100644
--- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
@@ -476,7 +476,7 @@ mac80211_setup_adhoc() {
 	json_get_vars bssid ssid key mcast_rate
 
 	keyspec=
-	[ "$auth_type" == "wep" ] && {
+	[ "$auth_type" = "wep" ] && {
 		set_default key 1
 		case "$key" in
 			[1234])
diff --git a/package/network/config/qos-scripts/files/usr/bin/qos-stat b/package/network/config/qos-scripts/files/usr/bin/qos-stat
index 78d1638..cbbf8e8 100755
--- a/package/network/config/qos-scripts/files/usr/bin/qos-stat
+++ b/package/network/config/qos-scripts/files/usr/bin/qos-stat
@@ -11,12 +11,12 @@ get_ifname() {
 
 	scan_interfaces
 	config_get cfgt "$interface" TYPE
-	[ "$cfgt" == "interface" ] && config_get "$interface" ifname
+	[ "$cfgt" = "interface" ] && config_get "$interface" ifname
 }
 
 config_cb() {
 	config_get TYPE "$CONFIG_SECTION" TYPE
-	[ "interface" == "$TYPE" ] && {
+	[ "interface" = "$TYPE" ] && {
 		config_get device "$CONFIG_SECTION" ifname
 		[ -z "$device" ] && device="$(get_ifname ${CONFIG_SECTION})"
 		config_set "$CONFIG_SECTION" device "$device"
diff --git a/package/network/services/dropbear/files/dropbear.init b/package/network/services/dropbear/files/dropbear.init
index 5186523..ef25d58 100755
--- a/package/network/services/dropbear/files/dropbear.init
+++ b/package/network/services/dropbear/files/dropbear.init
@@ -164,7 +164,7 @@ killclients()
 		skip=0
 		for server in ${ignore}
 		 do
-			if [ "${pid}" == "${server}" ]
+			if [ "${pid}" = "${server}" ]
 			 then
 				skip=1
 				break
diff --git a/package/network/services/hostapd/files/wpa_supplicant.sh b/package/network/services/hostapd/files/wpa_supplicant.sh
index bd86801..b678484 100644
--- a/package/network/services/hostapd/files/wpa_supplicant.sh
+++ b/package/network/services/hostapd/files/wpa_supplicant.sh
@@ -186,7 +186,7 @@ network={
 	$wep_tx_keyidx
 }
 EOF
-	if [ -n "$proto" -o "$key_mgmt" == "NONE" ]; then
+	if [ -n "$proto" -o "$key_mgmt" = "NONE" ]; then
 		wpa_supplicant ${bridge:+ -b $bridge} -B -P "/var/run/wifi-${ifname}.pid" -D ${driver:-wext} -i "$ifname" -c /var/run/wpa_supplicant-$ifname.conf $options
 	else
 		return 0
diff --git a/package/network/services/openvpn/files/openvpn.init b/package/network/services/openvpn/files/openvpn.init
index f3068f0..9822f1e 100644
--- a/package/network/services/openvpn/files/openvpn.init
+++ b/package/network/services/openvpn/files/openvpn.init
@@ -29,7 +29,7 @@ append_bools() {
 	local p; local v; local s="$1"; shift
 	for p in $*; do
 		config_get_bool v "$s" "$p"
-		[ "$v" == 1 ] && append_param "$s" "$p" && echo >> "/var/etc/openvpn-$s.conf"
+		[ "$v" = 1 ] && append_param "$s" "$p" && echo >> "/var/etc/openvpn-$s.conf"
 	done
 }
 
diff --git a/package/network/services/relayd/files/relay.init b/package/network/services/relayd/files/relay.init
index e38143f..3635e9c 100644
--- a/package/network/services/relayd/files/relay.init
+++ b/package/network/services/relayd/files/relay.init
@@ -39,7 +39,7 @@ start_relay() {
 	local ifaces=""
 
 	config_get proto "$cfg" proto
-	[[ "$proto" == relay ]] || return 0
+	[ "$proto" = "relay" ] || return 0
 
 	SERVICE_DAEMONIZE=1
 	SERVICE_WRITE_PID=1
diff --git a/package/system/fstools/files/snapshot b/package/system/fstools/files/snapshot
index 1450e12..a0e0ec0 100644
--- a/package/system/fstools/files/snapshot
+++ b/package/system/fstools/files/snapshot
@@ -38,16 +38,16 @@ do_config_push() {
 
 do_snapshot_upgrade() {
 	opkg update
-	[ $? == 0 ] || exit 1
+	[ $? -eq 0 ] || exit 1
 
 	opkg list-upgradable
-	[ $? == 0 ] || exit 2
+	[ $? -eq 0 ] || exit 2
 	
 	UPDATES=`opkg list-upgradable | cut -d" " -f1`
 	[ -z "${UPDATES}" ] && exit 0
 
 	opkg upgrade ${UPDATES}
-	[ $? == 0 ] || exit 3
+	[ $? -eq 0 ] || exit 3
 
 	do_snapshot_push
 	sleep 5
diff --git a/package/system/procd/files/nand.sh b/package/system/procd/files/nand.sh
index 4aa56e3..78810fd 100644
--- a/package/system/procd/files/nand.sh
+++ b/package/system/procd/files/nand.sh
@@ -260,8 +260,8 @@ nand_do_upgrade_stage2() {
 
 	[ ! "$(find_mtd_index "$CI_UBIPART")" ] && CI_UBIPART="rootfs"
 
-	[ "$file_type" == "ubi" ] && nand_upgrade_ubinized $1
-	[ "$file_type" == "ubifs" ] && nand_upgrade_ubifs $1
+	[ "$file_type" = "ubi" ] && nand_upgrade_ubinized $1
+	[ "$file_type" = "ubifs" ] && nand_upgrade_ubifs $1
 	nand_upgrade_tar $1
 }
 
diff --git a/package/system/procd/files/procd.sh b/package/system/procd/files/procd.sh
index 109daee..be1d888 100644
--- a/package/system/procd/files/procd.sh
+++ b/package/system/procd/files/procd.sh
@@ -93,7 +93,7 @@ _procd_add_table_data() {
 	while [ -n "$1" ]; do
 		local var="${1%%=*}"
 		local val="${1#*=}"
-		[[ "$1" == "$val" ]] && val=
+		[ "$1" = "$val" ] && val=
 		json_add_string "$var" "$val"
 		shift
 	done
diff --git a/scripts/flashing/flash.sh b/scripts/flashing/flash.sh
index 8841c35..3499581 100755
--- a/scripts/flashing/flash.sh
+++ b/scripts/flashing/flash.sh
@@ -49,17 +49,17 @@ Notes for Toshiba router:
 EOF
     exit 0
 fi
-if [ "$2" == "asus" ]; then
+if [ "$2" = "asus" ]; then
 echo Confirming IP address setting...
 echo -en "get ASUSSPACELINK\x01\x01\xa8\xc0 /dev/null\nquit\n" | tftp 192.168.1.1
 echo Flashing 192.168.1.1 using $1...
 echo -en "binary\nput $1 ASUSSPACELINK\nquit\n" | tftp 192.168.1.1
 echo Please wait until leds stops flashing. 
-elif [ "$2" == "linksys" ]; then
+elif [ "$2" = "linksys" ]; then
 echo Flashing 192.168.1.1 using $1...
 echo -en "rexmt 1\ntrace\nbinary\nput $1\nquit\n" | tftp 192.168.1.1
 echo Please wait until power led stops flashing. Do not poweroff! Then you can login via telnet 192.168.1.1.
-elif [ "$2" == "toshiba" ]; then
+elif [ "$2" = "toshiba" ]; then
 echo Flashing 192.168.10.1 using $1...
 echo -en "rexmt 1\ntrace\nbinary\nput $1\nquit\n" | tftp 192.168.10.1
 echo Unit will automatically reboot within 5 minutes.  Do not power off.  Then you can login via telnet 192.168.10.1.
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration b/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration
index 31ce548..d9aa519 100755
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration
@@ -34,7 +34,7 @@ migrate_switch_name() {
 	config_foreach do_change_switch_name switch name $oldname $newname
 	config_foreach do_change_switch_name switch_vlan device $oldname $newname
 
-	[ "$SWITCH_NAME_CHANGED" == "1" ] && {
+	[ "$SWITCH_NAME_CHANGED" = "1" ] && {
 		logger -t migrate-switchX "Switch names updated, saving network configuration"
 		uci commit network
 	}
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/04_led_migration b/target/linux/ar71xx/base-files/etc/uci-defaults/04_led_migration
index 0fc632c..0df94a0 100755
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/04_led_migration
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/04_led_migration
@@ -26,7 +26,7 @@ do_led_update_sysfs()
 
 		new_sysfs=$(echo ${sysfs} | sed "s/${old}/${new}/")
 
-		[ "${new_sysfs}" == "${sysfs}" ] && continue
+		[ "$new_sysfs" = "$sysfs" ] && continue
 
 		uci set system.${cfg}.sysfs="${new_sysfs}"
 		LED_OPTIONS_CHANGED=1
@@ -80,6 +80,6 @@ wnr612-v2)
 	;;
 esac
 
-[ "$LED_OPTIONS_CHANGED" == "1" ] && uci commit system
+[ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system
 
 exit 0
diff --git a/target/linux/brcm2708/image/gen_rpi_sdcard_img.sh b/target/linux/brcm2708/image/gen_rpi_sdcard_img.sh
index 1b7e65e..ffe01fa 100755
--- a/target/linux/brcm2708/image/gen_rpi_sdcard_img.sh
+++ b/target/linux/brcm2708/image/gen_rpi_sdcard_img.sh
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 
 set -x 
-[ $# == 5 ] || {
+[ $# -eq 5 ] || {
     echo "SYNTAX: $0 <file> <bootfs image> <rootfs image> <bootfs size> <rootfs size>"
     exit 1
 }
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/15_set_preinit_interface_brcm b/target/linux/brcm47xx/base-files/lib/preinit/15_set_preinit_interface_brcm
index aab50bf..f40e160 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/15_set_preinit_interface_brcm
+++ b/target/linux/brcm47xx/base-files/lib/preinit/15_set_preinit_interface_brcm
@@ -11,6 +11,6 @@ preinit_ip() {
 		ifconfig $pi_ifname $pi_ip netmask $pi_netmask broadcast $pi_broadcast up
 
 		local try=0;
-		while [ $((try++)) -le 5 ] && [ ! $(cat /sys/class/net/$pi_ifname/operstate) == "up" ]; do sleep 1; done
+		while [ $((try++)) -le 5 ] && [ ! "$(cat /sys/class/net/$pi_ifname/operstate)" = "up" ]; do sleep 1; done
 	}
 }
diff --git a/target/linux/ixp4xx/base-files/lib/preinit/05_set_ether_mac_ixp4xx b/target/linux/ixp4xx/base-files/lib/preinit/05_set_ether_mac_ixp4xx
index e707dab..adda197 100644
--- a/target/linux/ixp4xx/base-files/lib/preinit/05_set_ether_mac_ixp4xx
+++ b/target/linux/ixp4xx/base-files/lib/preinit/05_set_ether_mac_ixp4xx
@@ -6,7 +6,7 @@ set_ether_mac() {
 
 	for npe in eth0 eth1 eth2
 	do
-		if [ "$(ifconfig $npe 2>/dev/null | grep -c 00:00:00:00:00:00)" == "1" ]; then
+		if [ "$(ifconfig $npe 2>/dev/null | grep -c 00:00:00:00:00:00)" = "1" ]; then
 			ifconfig $npe hw ether $(fconfig -s -r -d /dev/$RB_CONFIG -n npe_"$npe"_esa)
 		fi
 	done
@@ -14,16 +14,16 @@ set_ether_mac() {
 	# Some developers should be shot on sight at Zcom/Netgear
 	# -- Fixup for the WG302v1, need someone with a WAG302v1 to fix that, too
 
-	if [ "$(ifconfig eth0 2>/dev/null | grep -c 00:00:00:00:00:00)" == "1" ]; then
+	if [ "$(ifconfig eth0 2>/dev/null | grep -c 00:00:00:00:00:00)" = "1" ]; then
 			ifconfig eth0 hw ether $(fconfig -s -r -d /dev/$RB_CONFIG -n zcom_npe_esa)
 	fi
 
 	# Others (*cough*, Tonze) are dumb enough to not handle mac addresses at all
 
-	if [ "$(ifconfig eth0 2>/dev/null | grep -c 00:00:00:00:00:00)" == "1" ]; then
+	if [ "$(ifconfig eth0 2>/dev/null | grep -c 00:00:00:00:00:00)" = "1" ]; then
 		ifconfig eth0 hw ether 00:11:22:33:44:55
 	fi
-	if [ "$(ifconfig eth1 2>/dev/null | grep -c 00:00:00:00:00:00)" == "1" ]; then
+	if [ "$(ifconfig eth1 2>/dev/null | grep -c 00:00:00:00:00:00)" = "1" ]; then
 		ifconfig eth1 hw ether 00:11:22:33:44:56
 	fi
 }
diff --git a/target/linux/ramips/base-files/etc/hotplug.d/usb/10-motion b/target/linux/ramips/base-files/etc/hotplug.d/usb/10-motion
index 557698b..e96acc8 100644
--- a/target/linux/ramips/base-files/etc/hotplug.d/usb/10-motion
+++ b/target/linux/ramips/base-files/etc/hotplug.d/usb/10-motion
@@ -1 +1 @@
-[ "$ACTION" == "motion" ] && logger webcam motion event
+[ "$ACTION" = "motion" ] && logger webcam motion event
diff --git a/target/linux/ramips/base-files/lib/preinit/04_handle_checksumming b/target/linux/ramips/base-files/lib/preinit/04_handle_checksumming
index fd06d20..057fe45 100644
--- a/target/linux/ramips/base-files/lib/preinit/04_handle_checksumming
+++ b/target/linux/ramips/base-files/lib/preinit/04_handle_checksumming
@@ -44,7 +44,7 @@ do_checksumming_disable() {
 		local rootfs_data_len=$(grep \"rootfs_data\" /proc/mtd | awk -F' ' '{print "0x"$2}')
 		local offset=$(echo "$rootfs_len $rootfs_data_len 0x40" | awk -F' ' '{printf "%i",$1-$2-$3}')
 		local signature=$(dd if=$rootfs_mtd skip=$offset bs=1 count=4 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"')
-		if [ "$signature" == "27051956" ]; then
+		if [ "$signature" = "27051956" ]; then
 			dd conv=notrunc if=$rootfs_mtd skip=$offset of=$firmware_mtd bs=1 count=64 2>/dev/null
 		fi
 	;;
diff --git a/target/linux/sunxi/image/gen_sunxi_sdcard_img.sh b/target/linux/sunxi/image/gen_sunxi_sdcard_img.sh
index 06957a5..2a09306 100755
--- a/target/linux/sunxi/image/gen_sunxi_sdcard_img.sh
+++ b/target/linux/sunxi/image/gen_sunxi_sdcard_img.sh
@@ -8,7 +8,7 @@
 #
 
 set -x 
-[ $# == 6 ] || {
+[ $# -eq 6 ] || {
     echo "SYNTAX: $0 <file> <bootfs image> <rootfs image> <bootfs size> <rootfs size> <u-boot image>"
     exit 1
 }
diff --git a/target/linux/x86_64/image/gen_image_generic.sh b/target/linux/x86_64/image/gen_image_generic.sh
index 9d11efb..b4bf901 100755
--- a/target/linux/x86_64/image/gen_image_generic.sh
+++ b/target/linux/x86_64/image/gen_image_generic.sh
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 # Copyright (C) 2006-2012 OpenWrt.org
 set -x
-[ $# == 5 -o $# == 6 ] || {
+[ $# -eq 5 -o $# -eq 6 ] || {
     echo "SYNTAX: $0 <file> <kernel size> <kernel directory> <rootfs size> <rootfs image> [<align>]"
     exit 1
 }
-- 
1.7.10.4

