aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Connect/ConnectManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Connect/ConnectManager.cs22
1 files changed, 12 insertions, 10 deletions
diff --git a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
index 618b7ffc5..ac0d2c569 100644
--- a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
+++ b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
@@ -19,6 +19,7 @@ using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
+using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
@@ -53,7 +54,7 @@ namespace MediaBrowser.Server.Implementations.Connect
get { return _data.AccessKey; }
}
- public string DiscoveredWanIpAddress { get; private set; }
+ private IPAddress DiscoveredWanIpAddress { get; set; }
public string WanIpAddress
{
@@ -61,9 +62,16 @@ namespace MediaBrowser.Server.Implementations.Connect
{
var address = _config.Configuration.WanDdns;
- if (string.IsNullOrWhiteSpace(address))
+ if (string.IsNullOrWhiteSpace(address) && DiscoveredWanIpAddress != null)
{
- address = DiscoveredWanIpAddress;
+ if (DiscoveredWanIpAddress.AddressFamily == AddressFamily.InterNetworkV6)
+ {
+ address = "[" + DiscoveredWanIpAddress + "]";
+ }
+ else
+ {
+ address = DiscoveredWanIpAddress.ToString();
+ }
}
return address;
@@ -81,12 +89,6 @@ namespace MediaBrowser.Server.Implementations.Connect
if (!ip.StartsWith("http://", StringComparison.OrdinalIgnoreCase) &&
!ip.StartsWith("https://", StringComparison.OrdinalIgnoreCase))
{
- // Handle ipv6
- if (ip.IndexOf(':') != -1)
- {
- ip = "[" + ip + "]";
- }
-
ip = (_appHost.EnableHttps ? "https://" : "http://") + ip;
}
@@ -130,7 +132,7 @@ namespace MediaBrowser.Server.Implementations.Connect
LoadCachedData();
}
- internal void OnWanAddressResolved(string address)
+ internal void OnWanAddressResolved(IPAddress address)
{
DiscoveredWanIpAddress = address;