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