Skip to content

Commit 6fdaf17

Browse files
committed
adjust for IPv6
1 parent cea5a9c commit 6fdaf17

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

src/Http/Http/src/BindingAddress.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ public class BindingAddress
1212
{
1313
private const string UnixPipeHostPrefix = "unix:/";
1414
private const string NamedPipeHostPrefix = "pipe:/";
15-
private const string IPv6LoopBackPrefix = "[::1]";
1615

1716
private BindingAddress(string host, string pathBase, int port, string scheme)
1817
{
@@ -164,7 +163,6 @@ public static BindingAddress Parse(string address)
164163

165164
var isUnixPipe = address.IndexOf(UnixPipeHostPrefix, schemeDelimiterEnd, StringComparison.Ordinal) == schemeDelimiterEnd;
166165
var isNamedPipe = address.IndexOf(NamedPipeHostPrefix, schemeDelimiterEnd, StringComparison.Ordinal) == schemeDelimiterEnd;
167-
var isIPv6LoopBack = address.IndexOf(IPv6LoopBackPrefix, schemeDelimiterEnd, StringComparison.Ordinal) == schemeDelimiterEnd;
168166

169167
int pathDelimiterStart;
170168
int pathDelimiterEnd;
@@ -207,8 +205,9 @@ public static BindingAddress Parse(string address)
207205
var hasSpecifiedPort = false;
208206
if (!isUnixPipe && !isNamedPipe)
209207
{
208+
// Verify not a loopback uri.
210209
var portDelimiterStart = address.LastIndexOf(':', pathDelimiterStart - 1, pathDelimiterStart - schemeDelimiterEnd);
211-
if (portDelimiterStart >= 0 && !isIPv6LoopBack)
210+
if (portDelimiterStart >= 0 && address.Substring(pathDelimiterStart - 1, 1) != "]")
212211
{
213212
var portDelimiterEnd = portDelimiterStart + ":".Length;
214213

0 commit comments

Comments
 (0)