Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/jellyfin/commit/91c2a57b284011a21c926e9238dbc7edb5eaab13
You should set ROOT_URL correctly, otherwise the web may not work correctly.
43 changed files with
78 additions and
64 deletions
@ -77,8 +77,9 @@ namespace Jellyfin.Api.Auth
return false ;
}
var ip = _httpContextAccessor . HttpContext . GetNormalizedRemoteIp ( ) ;
var isInLocalNetwork = _networkManager . IsInLocalNetwork ( ip ) ;
var isInLocalNetwork = _httpContextAccessor . HttpContext ! = null
& & _networkManager . IsInLocalNetwork ( _httpContextAccessor . HttpContext . GetNormalizedRemoteIp ( ) ) ;
// User cannot access remotely and user is remote
if ( ! user . HasPermission ( PermissionKind . EnableRemoteAccess ) & & ! isInLocalNetwork )
{
@ -1,3 +1,4 @@
using System ;
using System.ComponentModel.DataAnnotations ;
using System.Net.Mime ;
using System.Text.Json ;
@ -94,6 +95,11 @@ namespace Jellyfin.Api.Controllers
{
var configurationType = _configurationManager . GetConfigurationType ( key ) ;
var configuration = await JsonSerializer . DeserializeAsync ( Request . Body , configurationType , _serializerOptions ) . ConfigureAwait ( false ) ;
if ( configuration = = null )
{
throw new ArgumentException ( "Body doesn't contain a valid configuration" ) ;
}
_configurationManager . SaveConfiguration ( key , configuration ) ;
return NoContent ( ) ;
}
@ -1,3 +1,5 @@
#nullable disable
using System ;
namespace MediaBrowser.Common.Configuration
@ -1,3 +1,4 @@
#nullable disable
#pragma warning disable CS1591
using System ;
@ -1,3 +1,5 @@
#nullable disable
namespace MediaBrowser.Common.Configuration
{
/// <summary>
@ -1,5 +1,4 @@
#pragma warning disable CS1591
#nullable enable
using System ;
using System.Collections.Generic ;
@ -17,7 +17,7 @@ namespace MediaBrowser.Common.Events
/// <param name="sender">The sender.</param>
/// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
/// <param name="logger">The logger.</param>
public static void QueueEventIfNotNull ( EventHandler handler , object sender , EventArgs args , ILogger logger )
public static void QueueEventIfNotNull ( EventHandler ? handler , object sender , EventArgs args , ILogger logger )
{
if ( handler ! = null )
{
@ -43,7 +43,7 @@ namespace MediaBrowser.Common.Events
/// <param name="sender">The sender.</param>
/// <param name="args">The args.</param>
/// <param name="logger">The logger.</param>
public static void QueueEventIfNotNull < T > ( EventHandler < T > handler , object sender , T args , ILogger logger )
public static void QueueEventIfNotNull < T > ( EventHandler < T > ? handler , object sender , T args , ILogger logger )
{
if ( handler ! = null )
{
@ -1,5 +1,3 @@
#nullable enable
using System ;
using System.Security.Cryptography ;
using System.Text ;
@ -1,5 +1,3 @@
#nullable enable
using System.Collections.Generic ;
namespace MediaBrowser.Common.Extensions
@ -17,7 +17,7 @@ namespace MediaBrowser.Common.Extensions
{
return ( context . Connection . LocalIpAddress = = null
& & context . Connection . RemoteIpAddress = = null )
| | context. Connection . LocalIpAddress .Equals ( context . Connection . RemoteIpAddress ) ;
| | Equals( context. Connection . LocalIpAddress , context . Connection . RemoteIpAddress ) ;
}
/// <summary>
@ -1,5 +1,3 @@
#nullable enable
using System ;
namespace MediaBrowser.Common.Extensions
@ -1,5 +1,3 @@
#nullable enable
using System ;
using System.Diagnostics ;
using System.Threading ;
@ -1,4 +1,3 @@
#nullable enable
#pragma warning disable CS1591
using System ;
@ -1,5 +1,3 @@
#nullable enable
using System ;
namespace MediaBrowser.Common.Extensions
@ -1,5 +1,3 @@
#nullable enable
using System ;
using System.Collections.Generic ;
@ -21,7 +21,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE .
* /
#nullable enable
#pragma warning disable CS1591
#pragma warning disable CA1034
using System ;
@ -1,5 +1,3 @@
#nullable enable
using System.Collections.Generic ;
using System.IO ;
using System.Linq ;
@ -1,3 +1,5 @@
#nullable disable
using System ;
using System.Collections.Generic ;
using System.Reflection ;
@ -9,7 +9,7 @@ namespace MediaBrowser.Common.Json.Converters
/// Convert comma delimited string to array of type.
/// </summary>
/// <typeparam name="T">Type to convert to.</typeparam>
public class JsonCommaDelimitedArrayConverter < T > : JsonConverter < T [ ] >
public class JsonCommaDelimitedArrayConverter < T > : JsonConverter < T [ ] ? >
{
private readonly TypeConverter _typeConverter ;
@ -22,11 +22,17 @@ namespace MediaBrowser.Common.Json.Converters
}
/// <inheritdoc />
public override T [ ] Read ( ref Utf8JsonReader reader , Type typeToConvert , JsonSerializerOptions options )
public override T [ ] ? Read ( ref Utf8JsonReader reader , Type typeToConvert , JsonSerializerOptions options )
{
if ( reader . TokenType = = JsonTokenType . Null )
{
return null ;
}
if ( reader . TokenType = = JsonTokenType . String )
{
var stringEntries = reader . GetString ( ) . Split ( ',' , StringSplitOptions . RemoveEmptyEntries ) ;
// GetString can't return null here because we already handled it above
var stringEntries = reader . GetString ( ) ! . Split ( ',' , StringSplitOptions . RemoveEmptyEntries ) ;
if ( stringEntries . Length = = 0 )
{
return Array . Empty < T > ( ) ;
@ -67,7 +73,7 @@ namespace MediaBrowser.Common.Json.Converters
}
/// <inheritdoc />
public override void Write ( Utf8JsonWriter writer , T [ ] value , JsonSerializerOptions options )
public override void Write ( Utf8JsonWriter writer , T [ ] ? value , JsonSerializerOptions options )
{
throw new NotImplementedException ( ) ;
}
@ -19,10 +19,10 @@ namespace MediaBrowser.Common.Json.Converters
}
/// <inheritdoc />
public override JsonConverter CreateConverter ( Type typeToConvert , JsonSerializerOptions options )
public override JsonConverter ? CreateConverter ( Type typeToConvert , JsonSerializerOptions options )
{
var structType = typeToConvert . GetElementType ( ) ? ? typeToConvert . GenericTypeArguments [ 0 ] ;
return ( JsonConverter )Activator . CreateInstance ( typeof ( JsonCommaDelimitedArrayConverter < > ) . MakeGenericType ( structType ) ) ;
return ( JsonConverter ? )Activator . CreateInstance ( typeof ( JsonCommaDelimitedArrayConverter < > ) . MakeGenericType ( structType ) ) ;
}
}
}
@ -18,10 +18,10 @@ namespace MediaBrowser.Common.Json.Converters
}
/// <inheritdoc />
public override JsonConverter CreateConverter ( Type typeToConvert , JsonSerializerOptions options )
public override JsonConverter ? CreateConverter ( Type typeToConvert , JsonSerializerOptions options )
{
var structType = typeToConvert . GenericTypeArguments [ 0 ] ;
return ( JsonConverter )Activator . CreateInstance ( typeof ( JsonNullableStructConverter < > ) . MakeGenericType ( structType ) ) ;
return ( JsonConverter ? )Activator . CreateInstance ( typeof ( JsonNullableStructConverter < > ) . MakeGenericType ( structType ) ) ;
}
}
}
}
@ -7,15 +7,21 @@ namespace MediaBrowser.Common.Json.Converters
/// <summary>
/// Converts a string <c>N/A</c> to <c>string.Empty</c>.
/// </summary>
public class JsonOmdbNotAvailableStringConverter : JsonConverter < string >
public class JsonOmdbNotAvailableStringConverter : JsonConverter < string ? >
{
/// <inheritdoc />
public override string Read ( ref Utf8JsonReader reader , Type typeToConvert , JsonSerializerOptions options )
public override string ? Read ( ref Utf8JsonReader reader , Type typeToConvert , JsonSerializerOptions options )
{
if ( reader . TokenType = = JsonTokenType . Null )
{
return null ;
}
if ( reader . TokenType = = JsonTokenType . String )
{
var str = reader . GetString ( ) ;
if ( str ! = null & & str . Equals ( "N/A" , StringComparison . OrdinalIgnoreCase ) )
// GetString can't return null here because we already handled it above
var str = reader . GetString ( ) ! ;
if ( str . Equals ( "N/A" , StringComparison . OrdinalIgnoreCase ) )
{
return null ;
}
@ -23,11 +29,11 @@ namespace MediaBrowser.Common.Json.Converters
return str ;
}
return JsonSerializer . Deserialize < string > ( ref reader , options ) ;
return JsonSerializer . Deserialize < string ? > ( ref reader , options ) ;
}
/// <inheritdoc />
public override void Write ( Utf8JsonWriter writer , string value , JsonSerializerOptions options )
public override void Write ( Utf8JsonWriter writer , string ? value , JsonSerializerOptions options )
{
writer . WriteStringValue ( value ) ;
}
@ -24,10 +24,16 @@ namespace MediaBrowser.Common.Json.Converters
/// <inheritdoc />
public override T [ ] Read ( ref Utf8JsonReader reader , Type typeToConvert , JsonSerializerOptions options )
{
if ( reader . TokenType = = JsonTokenType . Null )
{
return Array . Empty < T > ( ) ;
}
if ( reader . TokenType = = JsonTokenType . String )
{
var stringEntries = reader . GetString ( ) ? . Split ( '|' , StringSplitOptions . RemoveEmptyEntries ) ;
if ( stringEntries = = null | | stringEntries . Length = = 0 )
// GetString can't return null here because we already handled it above
var stringEntries = reader . GetString ( ) ! . Split ( '|' , StringSplitOptions . RemoveEmptyEntries ) ;
if ( stringEntries . Length = = 0 )
{
return Array . Empty < T > ( ) ;
}
@ -63,7 +69,8 @@ namespace MediaBrowser.Common.Json.Converters
return typedValues ;
}
return JsonSerializer . Deserialize < T [ ] > ( ref reader , options ) ;
// can't return null here because we already handled it above
return JsonSerializer . Deserialize < T [ ] > ( ref reader , options ) ! ;
}
/// <inheritdoc />
@ -19,10 +19,10 @@ namespace MediaBrowser.Common.Json.Converters
}
/// <inheritdoc />
public override JsonConverter CreateConverter ( Type typeToConvert , JsonSerializerOptions options )
public override JsonConverter ? CreateConverter ( Type typeToConvert , JsonSerializerOptions options )
{
var structType = typeToConvert . GetElementType ( ) ? ? typeToConvert . GenericTypeArguments [ 0 ] ;
return ( JsonConverter )Activator . CreateInstance ( typeof ( JsonPipeDelimitedArrayConverter < > ) . MakeGenericType ( structType ) ) ;
return ( JsonConverter ? )Activator . CreateInstance ( typeof ( JsonPipeDelimitedArrayConverter < > ) . MakeGenericType ( structType ) ) ;
}
}
}
@ -9,10 +9,10 @@ namespace MediaBrowser.Common.Json.Converters
/// <summary>
/// Converter to allow the serializer to read strings.
/// </summary>
public class JsonStringConverter : JsonConverter < string >
public class JsonStringConverter : JsonConverter < string ? >
{
/// <inheritdoc />
public override string Read ( ref Utf8JsonReader reader , Type typeToConvert , JsonSerializerOptions options )
public override string ? Read ( ref Utf8JsonReader reader , Type typeToConvert , JsonSerializerOptions options )
{
return reader . TokenType switch
{
@ -23,7 +23,7 @@ namespace MediaBrowser.Common.Json.Converters
}
/// <inheritdoc />
public override void Write ( Utf8JsonWriter writer , string value , JsonSerializerOptions options )
public override void Write ( Utf8JsonWriter writer , string ? value , JsonSerializerOptions options )
{
writer . WriteStringValue ( value ) ;
}
@ -36,4 +36,4 @@ namespace MediaBrowser.Common.Json.Converters
return Encoding . UTF8 . GetString ( utf8Bytes ) ;
}
}
}
}
@ -14,7 +14,7 @@ namespace MediaBrowser.Common.Json.Converters
{
/// <inheritdoc />
public override Version Read ( ref Utf8JsonReader reader , Type typeToConvert , JsonSerializerOptions options )
= > new Version ( reader . GetString ( ) );
= > new Version ( reader . GetString ( ) ! ); // Will throw ArgumentNullException on null
/// <inheritdoc />
public override void Write ( Utf8JsonWriter writer , Version value , JsonSerializerOptions options )
@ -33,6 +33,7 @@
<GenerateAssemblyInfo > false</GenerateAssemblyInfo>
<GenerateDocumentationFile > true</GenerateDocumentationFile>
<TreatWarningsAsErrors > true</TreatWarningsAsErrors>
<Nullable > enable</Nullable>
<AnalysisMode > AllEnabledByDefault</AnalysisMode>
<CodeAnalysisRuleSet > ../jellyfin.ruleset</CodeAnalysisRuleSet>
<PublishRepositoryUrl > true</PublishRepositoryUrl>
@ -1,4 +1,3 @@
#nullable enable
using System ;
using System.Collections.Generic ;
using System.Collections.ObjectModel ;
@ -1,4 +1,3 @@
#nullable enable
using System ;
using System.Diagnostics ;
using System.Linq ;
@ -1,4 +1,3 @@
#nullable enable
using System ;
using System.Net ;
using System.Net.Sockets ;
@ -1,4 +1,3 @@
#nullable enable
using System ;
using System.Net ;
using System.Net.Sockets ;
@ -1,3 +1,5 @@
#nullable disable
using System ;
using System.IO ;
using System.Reflection ;
@ -1,4 +1,6 @@
#nullable disable
#pragma warning disable SA1649 // File name should match first type name
using System ;
using System.IO ;
using System.Runtime.InteropServices ;
@ -1,3 +1,5 @@
#nullable disable
using System ;
using MediaBrowser.Model.Plugins ;
@ -1,5 +1,3 @@
#nullable enable
using System ;
using System.Collections.Generic ;
using System.Reflection ;
@ -1,4 +1,3 @@
#nullable enable
using System ;
using System.Collections.Generic ;
using MediaBrowser.Model.Plugins ;
@ -1,5 +1,3 @@
#nullable enable
using System ;
using System.Text.Json.Serialization ;
using MediaBrowser.Model.Plugins ;
@ -14,9 +14,9 @@ namespace MediaBrowser.Common.Progress
/// <summary>
/// The _actions.
/// </summary>
private Action < T > _action ;
private Action < T > ? _action ;
public event EventHandler < T > ProgressChanged ;
public event EventHandler < T > ? ProgressChanged ;
/// <summary>
/// Registers the action.
@ -7,7 +7,7 @@ namespace MediaBrowser.Common.Progress
{
public class SimpleProgress < T > : IProgress < T >
{
public event EventHandler < T > ProgressChanged ;
public event EventHandler < T > ? ProgressChanged ;
public void Report ( T value )
{
@ -1,6 +1,4 @@
#nullable enable
using System ;
using System ;
using System.Diagnostics.CodeAnalysis ;
namespace MediaBrowser.Common.Providers
@ -1,5 +1,3 @@
#nullable enable
using System ;
using System.Collections.Generic ;
using System.Threading ;
@ -1,3 +1,5 @@
#nullable disable
using System ;
using MediaBrowser.Model.Updates ;
@ -1,3 +1,4 @@
#nullable disable
#pragma warning disable CS1591
using System ;