diff options
| author | Bond_009 <bond.009@outlook.com> | 2022-10-13 18:19:11 +0200 |
|---|---|---|
| committer | Bond_009 <bond.009@outlook.com> | 2022-12-07 16:42:29 +0100 |
| commit | 93fd462b581207d937c5d4eb939b1cc96c86c1f2 (patch) | |
| tree | 4c6bf6cf1c4f7aab241003c2519549f0b79ba60d /Jellyfin.Server/Program.cs | |
| parent | 71982c72972539ebd31b954d118601586658b916 (diff) | |
Use File.SetUnixFileMode
Diffstat (limited to 'Jellyfin.Server/Program.cs')
| -rw-r--r-- | Jellyfin.Server/Program.cs | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/Jellyfin.Server/Program.cs b/Jellyfin.Server/Program.cs index 0b922f821..46f45b9ad 100644 --- a/Jellyfin.Server/Program.cs +++ b/Jellyfin.Server/Program.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Net; using System.Reflection; using System.Runtime.InteropServices; +using System.Runtime.Versioning; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -201,7 +202,7 @@ namespace Jellyfin.Server { await webHost.StartAsync(_tokenSource.Token).ConfigureAwait(false); - if (startupConfig.UseUnixSocket() && Environment.OSVersion.Platform == PlatformID.Unix) + if (!OperatingSystem.IsWindows() && startupConfig.UseUnixSocket()) { var socketPath = GetUnixSocketPath(startupConfig, appPaths); @@ -691,27 +692,15 @@ namespace Jellyfin.Server return socketPath; } + [UnsupportedOSPlatform("windows")] private static void SetUnixSocketPermissions(IConfiguration startupConfig, string socketPath) { var socketPerms = startupConfig.GetUnixSocketPermissions(); if (!string.IsNullOrEmpty(socketPerms)) { - #pragma warning disable SA1300 // Entrypoint is case sensitive. - [DllImport("libc")] - static extern int chmod(string pathname, int mode); - #pragma warning restore SA1300 - - var exitCode = chmod(socketPath, Convert.ToInt32(socketPerms, 8)); - - if (exitCode < 0) - { - _logger.LogError("Failed to set Kestrel unix socket permissions to {SocketPerms}, return code: {ExitCode}", socketPerms, exitCode); - } - else - { - _logger.LogInformation("Kestrel unix socket permissions set to {SocketPerms}", socketPerms); - } + File.SetUnixFileMode(socketPath, (UnixFileMode)Convert.ToInt32(socketPerms, 8)); + _logger.LogInformation("Kestrel unix socket permissions set to {SocketPerms}", socketPerms); } } } |
