[LEDE-DEV] [PATCH] uqmi: ensure CID is a numeric value before proceeding
Andrey Jr. Melnikov
temnota.am at gmail.com
Mon Feb 19 02:47:47 PST 2018
Koen Vandeputte <koen.vandeputte at ncentric.com> wrote:
> The current implementation only checked if uqmi itself executed
> correctly which is also the case when the returned value is actually
> an error.
> Rework this, checking that CID is a numeric value, which can only
> be true if uqmi itself also executed correctly.
Why ignore exit status?
if [ $? -ne 0 -o ! "$cid_4" -eq "$cid_4" ]; ...
Also, write comment near this dirty trick, or someone optimize it to
if [ -n "$cid_x" ] ...
> Signed-off-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
> ---
> package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
> diff --git a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
> index c3da5ede26b1..46ea134182e3 100755
> --- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
> +++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
> @@ -140,11 +140,11 @@ proto_qmi_setup() {
>
> [ "$pdptype" = "ip" -o "$pdptype" = "ipv4v6" ] && {
> cid_4=$(uqmi -s -d "$device" --get-client-id wds)
> - [ $? -ne 0 ] && {
> + if ! [ "$cid_4" -eq "$cid_4" ] 2> /dev/null; then
> echo "Unable to obtain client ID"
> proto_notify_error "$interface" NO_CID
> return 1
> - }
> + fi
>
> uqmi -s -d "$device" --set-client-id wds,"$cid_4" --set-ip-family ipv4 > /dev/null
>
> @@ -177,11 +177,11 @@ proto_qmi_setup() {
>
> [ "$pdptype" = "ipv6" -o "$pdptype" = "ipv4v6" ] && {
> cid_6=$(uqmi -s -d "$device" --get-client-id wds)
> - [ $? -ne 0 ] && {
> + if ! [ "$cid_6" -eq "$cid_6" ] 2> /dev/null; then
> echo "Unable to obtain client ID"
> proto_notify_error "$interface" NO_CID
> return 1
> - }
> + fi
>
> uqmi -s -d "$device" --set-client-id wds,"$cid_6" --set-ip-family ipv6 > /dev/null
>
> --
> 2.7.4
More information about the Lede-dev
mailing list