1
0
mirror of https://github.com/bitwarden/server.git synced 2025-06-07 11:40:31 -05:00

Updated LicenseIgnore to target Signature instead of Hash

This commit is contained in:
Conner Turnbull 2025-06-05 10:32:32 -04:00
parent 598259a785
commit eefc1a2e58
No known key found for this signature in database
3 changed files with 9 additions and 9 deletions

View File

@ -1,12 +1,12 @@
namespace Bit.Core.Billing.Licenses.Attributes; namespace Bit.Core.Billing.Licenses.Attributes;
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)] [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
public class LicenseIgnoreAttribute(bool includeInHash = true) : Attribute public class LicenseIgnoreAttribute(bool includeInSignature = false) : Attribute
{ {
/// <summary> /// <summary>
/// If true, the property will be included when computing the license hash, but ignored for other operations. /// If true, the property will be included when computing the license signature, but ignored for other operations.
/// If false, the property will be completely ignored including for hash computation. /// If false, the property will be completely ignored including for signature computation.
/// </summary> /// </summary>
public bool IncludeInHash { get; } = includeInHash; public bool IncludeInSignature { get; } = includeInSignature;
} }

View File

@ -30,7 +30,7 @@ public static class LicenseExtensions
return true; return true;
} }
return forHash && ignoreAttr.IncludeInHash; return !forHash && ignoreAttr.IncludeInSignature;
}) })
.OrderBy(p => p.Name) .OrderBy(p => p.Name)
.Select(p => $"{p.Name}:{CoreHelpers.FormatLicenseSignatureValue(p.GetValue(license, null))}") .Select(p => $"{p.Name}:{CoreHelpers.FormatLicenseSignatureValue(p.GetValue(license, null))}")

View File

@ -12,14 +12,14 @@ public abstract class BaseLicense : ILicense
public Guid Id { get; set; } public Guid Id { get; set; }
[LicenseVersion(1)] [LicenseVersion(1)]
[LicenseIgnore(includeInHash: false)] [LicenseIgnore(includeInSignature: true)]
public DateTime Issued { get; set; } public DateTime Issued { get; set; }
[LicenseVersion(1)] [LicenseVersion(1)]
public DateTime? Expires { get; set; } public DateTime? Expires { get; set; }
[LicenseVersion(1)] [LicenseVersion(1)]
[LicenseIgnore(includeInHash: false)] [LicenseIgnore(includeInSignature: true)]
public DateTime? Refresh { get; set; } public DateTime? Refresh { get; set; }
[LicenseVersion(1)] [LicenseVersion(1)]
@ -35,11 +35,11 @@ public abstract class BaseLicense : ILicense
public string Name { get; set; } public string Name { get; set; }
[LicenseVersion(1)] [LicenseVersion(1)]
[LicenseIgnore(includeInHash: false)] [LicenseIgnore(includeInSignature: true)]
public string Hash { get; set; } public string Hash { get; set; }
[LicenseVersion(1)] [LicenseVersion(1)]
[LicenseIgnore(includeInHash: false)] [LicenseIgnore]
public string Signature { get; set; } public string Signature { get; set; }
[LicenseIgnore] [LicenseIgnore]