As per the PDE :
The fix checks if the host starts with "[" , if so all characters till "]" is host , and the rest if available is port.
":" is searched for in the whole string, if there is none , the value is simply "host" which is either a DNS host name or an IPv4 address.
Also we check if there are multiple ":" in the whole string. Since a IPv6 address contains more than 1 ":" , if the string contains multiple ":" it is treated as an IPv6 address else if there is only 1 ":" then it is treated as "host:port" where host is a DNS host name or an IPv4 address.