Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit f39f081

Browse files
committed
Remove any existing DateTime deserializer fns when parsing LicenseKey
1 parent 43d3882 commit f39f081

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

src/ServiceStack.Text/LicenseUtils.cs

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -326,12 +326,26 @@ public static LicenseKey ToLicenseKey(this string licenseKeyText)
326326
var refId = parts[0];
327327
var base64 = parts[1];
328328
var jsv = Convert.FromBase64String(base64).FromUtf8Bytes();
329-
var key = jsv.FromJsv<LicenseKey>();
330329

331-
if (key.Ref != refId)
332-
throw new LicenseException("The license '{0}' is not assigned to CustomerId '{1}'.".Fmt(base64)).Trace();
330+
var hold = JsConfig<DateTime>.DeSerializeFn;
331+
var holdRaw = JsConfig<DateTime>.RawDeserializeFn;
333332

334-
return key;
333+
try
334+
{
335+
JsConfig<DateTime>.DeSerializeFn = null;
336+
JsConfig<DateTime>.RawDeserializeFn = null;
337+
var key = jsv.FromJsv<LicenseKey>();
338+
339+
if (key.Ref != refId)
340+
throw new LicenseException("The license '{0}' is not assigned to CustomerId '{1}'.".Fmt(base64)).Trace();
341+
342+
return key;
343+
}
344+
finally
345+
{
346+
JsConfig<DateTime>.DeSerializeFn = hold;
347+
JsConfig<DateTime>.RawDeserializeFn = holdRaw;
348+
}
335349
}
336350

337351
public static string GetHashKeyToSign(this LicenseKey key)

0 commit comments

Comments
 (0)