diff --git a/MediaBrowser.Dlna/Server/UpnpDevice.cs b/MediaBrowser.Dlna/Server/UpnpDevice.cs
index 10eaeb0535..355a35c012 100644
--- a/MediaBrowser.Dlna/Server/UpnpDevice.cs
+++ b/MediaBrowser.Dlna/Server/UpnpDevice.cs
@@ -19,13 +19,18 @@ namespace MediaBrowser.Dlna.Server
Address = address;
- if (Type.StartsWith("uuid:", StringComparison.OrdinalIgnoreCase))
+ USN = CreateUSN(aUuid, aType);
+ }
+
+ private static string CreateUSN(string aUuid, string aType)
+ {
+ if (aType.StartsWith("uuid:", StringComparison.OrdinalIgnoreCase))
{
- USN = Type;
+ return aType;
}
else
{
- USN = String.Format("uuid:{0}::{1}", Uuid, Type);
+ return String.Format("uuid:{0}::{1}", aUuid, aType);
}
}
}
diff --git a/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs b/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs
index dc271c5571..2d1ec12730 100644
--- a/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs
+++ b/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs
@@ -172,9 +172,9 @@ namespace MediaBrowser.Dlna.Ssdp
{
get
{
- var devices = _devices.Values.ToList();
+ var devices = _devices.ToList();
- return devices.SelectMany(i => i).ToList();
+ return devices.SelectMany(i => i.Value).ToList();
}
}
diff --git a/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs b/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs
index e57a651c00..e54bc0b4ad 100644
--- a/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs
+++ b/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs
@@ -90,7 +90,7 @@ namespace MediaBrowser.Server.Mono.Native
return list;
}
- public void AuthorizeServer(int udpPort, int httpServerPort, int httpsPort, string tempDirectory)
+ public void AuthorizeServer(int udpPort, int httpServerPort, int httpsPort, string applicationPath, string tempDirectory)
{
}
diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs
index 269c306694..210e0abbde 100644
--- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs
+++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs
@@ -1299,6 +1299,7 @@ namespace MediaBrowser.Server.Startup.Common
UdpServerEntryPoint.PortNumber,
ServerConfigurationManager.Configuration.HttpServerPortNumber,
ServerConfigurationManager.Configuration.HttpsPortNumber,
+ ConfigurationManager.CommonApplicationPaths.ApplicationPath,
ConfigurationManager.CommonApplicationPaths.TempDirectory);
}
catch (Exception ex)
diff --git a/MediaBrowser.Server.Startup.Common/INativeApp.cs b/MediaBrowser.Server.Startup.Common/INativeApp.cs
index 75b38d0c4c..9df670bdae 100644
--- a/MediaBrowser.Server.Startup.Common/INativeApp.cs
+++ b/MediaBrowser.Server.Startup.Common/INativeApp.cs
@@ -21,7 +21,7 @@ namespace MediaBrowser.Server.Startup.Common
/// The HTTP server port.
/// The HTTPS server port.
/// The temporary directory.
- void AuthorizeServer(int udpPort, int httpServerPort, int httpsServerPort, string tempDirectory);
+ void AuthorizeServer(int udpPort, int httpServerPort, int httpsServerPort, string applicationPath, string tempDirectory);
///
/// Gets the environment.
diff --git a/MediaBrowser.ServerApplication/Native/RegisterServer.bat b/MediaBrowser.ServerApplication/Native/RegisterServer.bat
index 57e93683e0..27f863d581 100644
--- a/MediaBrowser.ServerApplication/Native/RegisterServer.bat
+++ b/MediaBrowser.ServerApplication/Native/RegisterServer.bat
@@ -1,6 +1,7 @@
rem %1 = udp server port
rem %2 = http server port
rem %3 = https server port
+rem %4 = exe path
if [%1]==[] GOTO DONE
@@ -17,6 +18,12 @@ if [%3]==[] GOTO DONE
netsh advfirewall firewall delete rule name="Port %3" protocol=TCP localport=%3
netsh advfirewall firewall add rule name="Port %3" dir=in action=allow protocol=TCP localport=%3
+if [%4]==[] GOTO DONE
+
+netsh advfirewall firewall delete rule name="Emby Server"
+netsh advfirewall firewall add rule name="Emby Server" dir=in action=allow protocol=TCP program=%4 enable=yes
+netsh advfirewall firewall add rule name="Emby Server" dir=in action=allow protocol=UDP program=%4 enable=yes
+
:DONE
Exit
\ No newline at end of file
diff --git a/MediaBrowser.ServerApplication/Native/ServerAuthorization.cs b/MediaBrowser.ServerApplication/Native/ServerAuthorization.cs
index 995c44e318..70444ad9fb 100644
--- a/MediaBrowser.ServerApplication/Native/ServerAuthorization.cs
+++ b/MediaBrowser.ServerApplication/Native/ServerAuthorization.cs
@@ -17,7 +17,7 @@ namespace MediaBrowser.ServerApplication.Native
/// The HTTP server port.
/// The HTTPS server port.
/// The temp directory.
- public static void AuthorizeServer(int udpPort, int httpServerPort, int httpsServerPort, string tempDirectory)
+ public static void AuthorizeServer(int udpPort, int httpServerPort, int httpsServerPort, string applicationPath, string tempDirectory)
{
Directory.CreateDirectory(tempDirectory);
@@ -37,7 +37,7 @@ namespace MediaBrowser.ServerApplication.Native
{
FileName = tmpFile,
- Arguments = string.Format("{0} {1} {2}", udpPort, httpServerPort, httpsServerPort),
+ Arguments = string.Format("{0} {1} {2} \"{3}\"", udpPort, httpServerPort, httpsServerPort, applicationPath),
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
diff --git a/MediaBrowser.ServerApplication/Native/WindowsApp.cs b/MediaBrowser.ServerApplication/Native/WindowsApp.cs
index fe2fe6de6c..ac07a369d8 100644
--- a/MediaBrowser.ServerApplication/Native/WindowsApp.cs
+++ b/MediaBrowser.ServerApplication/Native/WindowsApp.cs
@@ -35,9 +35,9 @@ namespace MediaBrowser.ServerApplication.Native
return list;
}
- public void AuthorizeServer(int udpPort, int httpServerPort, int httpsPort, string tempDirectory)
+ public void AuthorizeServer(int udpPort, int httpServerPort, int httpsPort, string applicationPath, string tempDirectory)
{
- ServerAuthorization.AuthorizeServer(udpPort, httpServerPort, httpsPort, tempDirectory);
+ ServerAuthorization.AuthorizeServer(udpPort, httpServerPort, httpsPort, applicationPath, tempDirectory);
}
public NativeEnvironment Environment