Re: [PATCH] Fix parsing of optional portnr in iscsi target IP (#525118)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Looks OK, we should also document it so people know about the right ipv6+port syntax

----- "Hans de Goede" <hdegoede@xxxxxxxxxx> wrote:

> This patch fixes 2 issues with the parsing of the optional portnr in
> iscsi target IP's:
> 1) We don't want to include the : in the portno, so port =
> target[idx:]
>    should be port = target[idx+1:]
> 2) An IPV6 IP always includes the : character, so specifying the port
>    was mandatory with IPV6, this patch looks for "]:" inside the
>    string to determine if a port is present for IPV6 strings.
> ---
>  iw/autopart_type.py     |   11 +++++++++--
>  textw/partition_text.py |   11 +++++++++--
>  2 files changed, 18 insertions(+), 4 deletions(-)
> 
> diff --git a/iw/autopart_type.py b/iw/autopart_type.py
> index e41f618..f07bccd 100644
> --- a/iw/autopart_type.py
> +++ b/iw/autopart_type.py
> @@ -297,10 +297,17 @@ class PartitionTypeWindow(InstallWindow):
>  
>              err = None
>              try:
> -                idx = target.rfind(":")
> +                count = len(target.split(":"))
> +                idx = target.rfind("]:")
> +                # Check for IPV6 [IPV6-ip]:port
>                  if idx != -1:
> +                    ip = target[1:idx]
> +                    port = target[idx+2:]
> +                # Check for IPV4 aaa.bbb.ccc.ddd:port
> +                elif count == 2:
> +                    idx = target.rfind(":")
>                      ip = target[:idx]
> -                    port = target[idx:]
> +                    port = target[idx+1:]
>                  else:
>                      ip = target
>                      port = "3260"
> diff --git a/textw/partition_text.py b/textw/partition_text.py
> index 412a7d7..0024505 100644
> --- a/textw/partition_text.py
> +++ b/textw/partition_text.py
> @@ -260,10 +260,17 @@ class PartitionTypeWindow:
>  
>          target = entries[0].strip()
>          try:
> -            idx = target.rfind(":")
> +            count = len(target.split(":"))
> +            idx = target.rfind("]:")
> +            # Check for IPV6 [IPV6-ip]:port
>              if idx != -1:
> +                ip = target[1:idx]
> +                port = target[idx+2:]
> +            # Check for IPV4 aaa.bbb.ccc.ddd:port
> +            elif count == 2:
> +                idx = target.rfind(":")
>                  ip = target[:idx]
> -                port = target[idx:]
> +                port = target[idx+1:]
>              else:
>                  ip = target
>                  port = "3260"
> -- 
> 1.6.5.rc2
> 
> _______________________________________________
> Anaconda-devel-list mailing list
> Anaconda-devel-list@xxxxxxxxxx
> https://www.redhat.com/mailman/listinfo/anaconda-devel-list

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux