Blame SOURCES/0213-network-net-lib.sh-parse_iscsi_root-do-not-enforce-t.patch

a56a5e
From f86fa29cda6dcea1320de29864173d4de47c5bb7 Mon Sep 17 00:00:00 2001
a56a5e
From: Harald Hoyer <harald@redhat.com>
a56a5e
Date: Tue, 9 Sep 2014 13:33:16 +0200
a56a5e
Subject: [PATCH] network/net-lib.sh:parse_iscsi_root() do not enforce target
a56a5e
 name
a56a5e
a56a5e
https://bugzilla.redhat.com/show_bug.cgi?id=1078867
a56a5e
a56a5e
cherry-picked from 29763cb72d17fe8d22766170ec06b32419829243
a56a5e
---
a56a5e
 modules.d/40network/net-lib.sh | 112 ++++++++++++++++++-----------------------
a56a5e
 1 file changed, 50 insertions(+), 62 deletions(-)
a56a5e
a56a5e
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
a56a5e
index c8f9204..e2901da 100755
a56a5e
--- a/modules.d/40network/net-lib.sh
a56a5e
+++ b/modules.d/40network/net-lib.sh
a56a5e
@@ -271,66 +271,46 @@ parse_iscsi_root()
a56a5e
     local v
a56a5e
     v=${1#iscsi:}
a56a5e
 
a56a5e
-# extract authentication info
a56a5e
+    # extract authentication info
a56a5e
     case "$v" in
a56a5e
-	*@*:*:*:*:*)
a56a5e
-	    authinfo=${v%%@*}
a56a5e
-	    v=${v#*@}
a56a5e
-    # allow empty authinfo to allow having an @ in iscsi_target_name like this:
a56a5e
-    # netroot=iscsi:@192.168.1.100::3260::iqn.2009-01.com.example:testdi@sk
a56a5e
-	    if [ -n "$authinfo" ]; then
a56a5e
-		OLDIFS="$IFS"
a56a5e
-		IFS=:
a56a5e
-		set $authinfo
a56a5e
-		IFS="$OLDIFS"
a56a5e
-		if [ $# -gt 4 ]; then
a56a5e
-		    warn "Wrong authentication info in iscsi: parameter!"
a56a5e
-		    return 1
a56a5e
-		fi
a56a5e
-		iscsi_username=$1
a56a5e
-		iscsi_password=$2
a56a5e
-		if [ $# -gt 2 ]; then
a56a5e
-		    iscsi_in_username=$3
a56a5e
-		    iscsi_in_password=$4
a56a5e
-		fi
a56a5e
-	    fi
a56a5e
-	    ;;
a56a5e
-    esac
a56a5e
-
a56a5e
-# extract target ip
a56a5e
-    case "$v" in
a56a5e
-	[[]*[]]:*)
a56a5e
-	    iscsi_target_ip=${v#[[]}
a56a5e
-		iscsi_target_ip=${iscsi_target_ip%%[]]*}
a56a5e
-	    v=${v#[[]$iscsi_target_ip[]]:}
a56a5e
-	    ;;
a56a5e
-	*)
a56a5e
-	    iscsi_target_ip=${v%%[:]*}
a56a5e
-	    v=${v#$iscsi_target_ip:}
a56a5e
-	    ;;
a56a5e
+        *@*:*:*:*:*)
a56a5e
+            authinfo=${v%%@*}
a56a5e
+            v=${v#*@}
a56a5e
+            # allow empty authinfo to allow having an @ in iscsi_target_name like this:
a56a5e
+            # netroot=iscsi:@192.168.1.100::3260::iqn.2009-01.com.example:testdi@sk
a56a5e
+            if [ -n "$authinfo" ]; then
a56a5e
+                OLDIFS="$IFS"
a56a5e
+                IFS=:
a56a5e
+                set $authinfo
a56a5e
+                IFS="$OLDIFS"
a56a5e
+                if [ $# -gt 4 ]; then
a56a5e
+                    warn "Wrong authentication info in iscsi: parameter!"
a56a5e
+                    return 1
a56a5e
+                fi
a56a5e
+                iscsi_username=$1
a56a5e
+                iscsi_password=$2
a56a5e
+                if [ $# -gt 2 ]; then
a56a5e
+                    iscsi_in_username=$3
a56a5e
+                    iscsi_in_password=$4
a56a5e
+                fi
a56a5e
+            fi
a56a5e
+            ;;
a56a5e
     esac
a56a5e
 
a56a5e
-# extract target name
a56a5e
+    # extract target ip
a56a5e
     case "$v" in
a56a5e
-	*:iqn.*)
a56a5e
-	    iscsi_target_name=iqn.${v##*:iqn.}
a56a5e
-	    v=${v%:iqn.*}:
a56a5e
-	    ;;
a56a5e
-	*:eui.*)
a56a5e
-	    iscsi_target_name=iqn.${v##*:eui.}
a56a5e
-	    v=${v%:iqn.*}:
a56a5e
-	    ;;
a56a5e
-	*:naa.*)
a56a5e
-	    iscsi_target_name=iqn.${v##*:naa.}
a56a5e
-	    v=${v%:iqn.*}:
a56a5e
-	    ;;
a56a5e
-	*)
a56a5e
-	    warn "Invalid iscii target name, should begin with 'iqn.' or 'eui.' or 'naa.'"
a56a5e
-	    return 1
a56a5e
-	    ;;
a56a5e
+        [[]*[]]:*)
a56a5e
+            iscsi_target_ip=${v#[[]}
a56a5e
+                iscsi_target_ip=${iscsi_target_ip%%[]]*}
a56a5e
+            v=${v#[[]$iscsi_target_ip[]]:}
a56a5e
+            ;;
a56a5e
+        *)
a56a5e
+            iscsi_target_ip=${v%%[:]*}
a56a5e
+            v=${v#$iscsi_target_ip:}
a56a5e
+            ;;
a56a5e
     esac
a56a5e
 
a56a5e
-# parse the rest
a56a5e
+    # parse the rest
a56a5e
     OLDIFS="$IFS"
a56a5e
     IFS=:
a56a5e
     set $v
a56a5e
@@ -338,17 +318,25 @@ parse_iscsi_root()
a56a5e
 
a56a5e
     iscsi_protocol=$1; shift # ignored
a56a5e
     iscsi_target_port=$1; shift
a56a5e
-    if [ $# -eq 3 ]; then
a56a5e
-	iscsi_iface_name=$1; shift
a56a5e
-    fi
a56a5e
-    if [ $# -eq 2 ]; then
a56a5e
-	iscsi_netdev_name=$1; shift
a56a5e
+
a56a5e
+    if [ $# -gt 3 ] && [ -n "$1$2" ]; then
a56a5e
+        iscsi_iface_name=$1; shift
a56a5e
+        iscsi_netdev_name=$1; shift
a56a5e
     fi
a56a5e
+
a56a5e
     iscsi_lun=$1; shift
a56a5e
-    if [ $# -ne 0 ]; then
a56a5e
-	warn "Invalid parameter in iscsi: parameter!"
a56a5e
-	return 1
a56a5e
+
a56a5e
+    if [ $# -gt 2 ]; then
a56a5e
+        warn "Invalid parameter in iscsi: parameter!"
a56a5e
+        return 1
a56a5e
     fi
a56a5e
+
a56a5e
+    if [ $# -eq 2 ]; then
a56a5e
+        iscsi_target_name="$1:$2"
a56a5e
+    else
a56a5e
+        iscsi_target_name="$1"
a56a5e
+    fi
a56a5e
+
a56a5e
 }
a56a5e
 
a56a5e
 ip_to_var() {