From eefc1a2e5842f6e660d2e7fdb84e7768464ae081 Mon Sep 17 00:00:00 2001 From: Conner Turnbull Date: Thu, 5 Jun 2025 10:32:32 -0400 Subject: [PATCH] Updated LicenseIgnore to target Signature instead of Hash --- .../Billing/Licenses/Attributes/LicenseIgnoreAttribute.cs | 8 ++++---- src/Core/Billing/Licenses/Extensions/LicenseExtensions.cs | 2 +- src/Core/Models/Business/BaseLicense.cs | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Core/Billing/Licenses/Attributes/LicenseIgnoreAttribute.cs b/src/Core/Billing/Licenses/Attributes/LicenseIgnoreAttribute.cs index 628bb1b558..e7e8b32901 100644 --- a/src/Core/Billing/Licenses/Attributes/LicenseIgnoreAttribute.cs +++ b/src/Core/Billing/Licenses/Attributes/LicenseIgnoreAttribute.cs @@ -1,12 +1,12 @@ namespace Bit.Core.Billing.Licenses.Attributes; [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)] -public class LicenseIgnoreAttribute(bool includeInHash = true) : Attribute +public class LicenseIgnoreAttribute(bool includeInSignature = false) : Attribute { /// - /// If true, the property will be included when computing the license hash, but ignored for other operations. - /// If false, the property will be completely ignored including for hash computation. + /// 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 signature computation. /// - public bool IncludeInHash { get; } = includeInHash; + public bool IncludeInSignature { get; } = includeInSignature; } diff --git a/src/Core/Billing/Licenses/Extensions/LicenseExtensions.cs b/src/Core/Billing/Licenses/Extensions/LicenseExtensions.cs index 0c894adca4..56209b6a7d 100644 --- a/src/Core/Billing/Licenses/Extensions/LicenseExtensions.cs +++ b/src/Core/Billing/Licenses/Extensions/LicenseExtensions.cs @@ -30,7 +30,7 @@ public static class LicenseExtensions return true; } - return forHash && ignoreAttr.IncludeInHash; + return !forHash && ignoreAttr.IncludeInSignature; }) .OrderBy(p => p.Name) .Select(p => $"{p.Name}:{CoreHelpers.FormatLicenseSignatureValue(p.GetValue(license, null))}") diff --git a/src/Core/Models/Business/BaseLicense.cs b/src/Core/Models/Business/BaseLicense.cs index 0c2ca60bae..d2b6509444 100644 --- a/src/Core/Models/Business/BaseLicense.cs +++ b/src/Core/Models/Business/BaseLicense.cs @@ -12,14 +12,14 @@ public abstract class BaseLicense : ILicense public Guid Id { get; set; } [LicenseVersion(1)] - [LicenseIgnore(includeInHash: false)] + [LicenseIgnore(includeInSignature: true)] public DateTime Issued { get; set; } [LicenseVersion(1)] public DateTime? Expires { get; set; } [LicenseVersion(1)] - [LicenseIgnore(includeInHash: false)] + [LicenseIgnore(includeInSignature: true)] public DateTime? Refresh { get; set; } [LicenseVersion(1)] @@ -35,11 +35,11 @@ public abstract class BaseLicense : ILicense public string Name { get; set; } [LicenseVersion(1)] - [LicenseIgnore(includeInHash: false)] + [LicenseIgnore(includeInSignature: true)] public string Hash { get; set; } [LicenseVersion(1)] - [LicenseIgnore(includeInHash: false)] + [LicenseIgnore] public string Signature { get; set; } [LicenseIgnore]