diff --git a/build/Version.props b/build/Version.props index edf4220733..acc1797a58 100644 --- a/build/Version.props +++ b/build/Version.props @@ -3,7 +3,7 @@ - 6.15.1 + 6.15.2 5.6.0 10.13.0 0.6.0 diff --git a/src/Tgstation.Server.Host/Authority/UserAuthority.cs b/src/Tgstation.Server.Host/Authority/UserAuthority.cs index 0cb8310718..e9577dbcfd 100644 --- a/src/Tgstation.Server.Host/Authority/UserAuthority.cs +++ b/src/Tgstation.Server.Host/Authority/UserAuthority.cs @@ -495,7 +495,9 @@ namespace Tgstation.Server.Host.Authority if (model.OAuthConnections.Count == 0 && originalUser.PasswordHash == null && originalUser.SystemIdentifier == null) return BadRequest(ErrorCode.CannotRemoveLastAuthenticationOption); + DatabaseContext.OAuthConnections.RemoveRange(originalUser.OAuthConnections); originalUser.OAuthConnections.Clear(); + foreach (var updatedConnection in model.OAuthConnections) originalUser.OAuthConnections.Add(new Models.OAuthConnection { @@ -517,6 +519,7 @@ namespace Tgstation.Server.Host.Authority if (model.OidcConnections.Count == 0 && originalUser.PasswordHash == null && originalUser.SystemIdentifier == null) return BadRequest(ErrorCode.CannotRemoveLastAuthenticationOption); + DatabaseContext.OidcConnections.RemoveRange(originalUser.OidcConnections); originalUser.OidcConnections.Clear(); foreach (var updatedConnection in model.OidcConnections) originalUser.OidcConnections.Add(new Models.OidcConnection diff --git a/src/Tgstation.Server.Host/Core/Application.cs b/src/Tgstation.Server.Host/Core/Application.cs index 93be5a1fec..e06c0ff949 100644 --- a/src/Tgstation.Server.Host/Core/Application.cs +++ b/src/Tgstation.Server.Host/Core/Application.cs @@ -619,10 +619,18 @@ namespace Tgstation.Server.Host.Core applicationBuilder.UseServerErrorHandling(); // header forwarding important for OIDC - applicationBuilder.UseForwardedHeaders(new ForwardedHeadersOptions + var forwardedHeaderOptions = new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto | ForwardedHeaders.XForwardedHost, - }); + }; + + forwardedHeaderOptions.KnownNetworks.Clear(); + forwardedHeaderOptions.KnownNetworks.Add( + new IPNetwork( + global::System.Net.IPAddress.Any, + 0)); + + applicationBuilder.UseForwardedHeaders(forwardedHeaderOptions); // metrics capture applicationBuilder.UseHttpMetrics();