View Issue Details

IDProjectCategoryView StatusLast Update
0003342Ham Radio DeluxeBugpublic2019-11-08 02:32
ReporterK7ZCZAssigned ToDOUG 
Status resolvedResolutionfixed 
Product Version 
Target VersionFixed in Version6.7.0.244 
Summary0003342: LicenseValidator constructor uses hard-coded product version number
DescriptionI noticed this code in the constructor for LicenseValidator (in LicenseValidator.cpp)

            license->DefineProduct (3, _bstr_t("HRD Software"), 6, 5, _bstr_t(""), _bstr_t("{f3712df5-2e48-4152-9dd2-a2bdd6ef2062}"));

I'm not sure what these numbers are used for, but it looks like "6, 5" is for the version number of the product. If so, to avoid surprises in the future, it seems like we should fix this code to use the macros defined in the hrdver.h header.
TagsNo tags attached.
ModuleSW License Mgmt
Sub-ModuleSW License Client
TestingNot Started



2019-06-12 16:16

developer   ~0008057

I think if we change this it will not be backwards compatible with existing keys that exist in QLM. I will test it out, but I might recommend not changing automatically. If so I will just change the 6 and 5 to a better named #define for the min version key.


2019-06-22 11:22

administrator   ~0008170

Sounds like we should discuss this to that we all understand it.

This doesn't look like a "show-stopper". It looks like something we could change at a later date. As such, I may remove its relationship to 1990.


2019-08-07 02:50

administrator   ~0008333

Has this been added to a build?


2019-10-15 17:23

developer   ~0008825

Looks like this checkin was made:

I don't really think this is a fix. It made some of the literal numbers into preprocessor macros, but not others. (Why?) Added a vague comment about "need to be really sure", but doesn't explain what we need to be sure of. Maybe a link to some documentation describing these parameters would be good. When should (or must) they be changed? Doesn't seem particularly maintainable, which is my main concern.


2019-10-16 22:52

developer   ~0008838

I think this is a bit confusing since we are using the same version number as the release, but in reality we don't want to tie QLM to a version. If we were starting over, based on Mike C's requirements I would have made this hard coded to 1,0 .

So essentially this line is hey, I need to check QLM and make sure it is ok if I run version 6.6. QLM will return valid as long as you have a valid key that expires after the publish date of the 6.6 product we have on QLM.

From a QLM perspective, it is designed so you can rev this line as you rev your product. Meaning, you an lock old keys out of the new product.
Mike C doesn't want that model so we need to leave it as is, unless we decide to change the licensing model in the future. With that background I hope my comment makes more sense. If you want I can add a 4th "really" :)

// The product version the licensing key is associated with is 6.6, if we change this
// all QLM licenses that are set to 6.6 and have an expired maintenance interval will
// no longer work with this version. This should not be changed unless we are really
// really really sure


2019-10-18 05:21

developer   ~0008859

What's needed is clear guidance on what to be sure about. The comment doesn't provide that. Your explanation here might mean that we don't want to change the version numbers used here unless we want to completely expire the existing licenses, but I'm still not sure -- and I doubt anyone else reading that comment would feel any better about what the numbers might mean.


2019-11-06 04:04

viewer   ~0009154

Unable to test

Issue History

Date Modified Username Field Change
2019-06-11 08:32 K7ZCZ New Issue
2019-06-12 16:16 DOUG Note Added: 0008057
2019-06-13 14:47 WA9PIE Module QLM => SW License Mgmt
2019-06-13 15:32 WA9PIE Sub-Module QLM Client => SW License Client
2019-06-15 23:21 WA9PIE Assigned To => DOUG
2019-06-15 23:21 WA9PIE Status new => assigned
2019-06-22 11:22 WA9PIE Note Added: 0008170
2019-06-23 17:04 DOUG Status assigned => resolved
2019-06-23 17:04 DOUG Resolution open => fixed
2019-08-07 02:50 WA9PIE Note Added: 0008333
2019-10-15 17:23 K7ZCZ Note Added: 0008825
2019-10-16 22:52 DOUG Note Added: 0008838
2019-10-18 05:21 K7ZCZ Note Added: 0008859
2019-10-29 15:52 K7ZCZ Fixed in Version =>
2019-11-06 04:04 g3ucq Note Added: 0009154
2019-11-08 02:10 WA9PIE Fixed in Version =>
2019-11-08 02:32 WA9PIE Project 3 - Current Dev List => Ham Radio Deluxe