Merge pull request #2195 from gravitl/GRA-1522-ee-license-check

ee license check
This commit is contained in:
dcarns 2023-04-19 09:25:26 -04:00 committed by GitHub
commit 668b739746
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 20 additions and 14 deletions

View file

@ -4,7 +4,7 @@ services:
netmaker:
container_name: netmaker
image: gravitl/netmaker:v0.18.6
restart: always
restart: on-failure
volumes:
- dnsconfig:/root/config/dnsconfig
- sqldata:/root/data

View file

@ -4,7 +4,7 @@ services:
netmaker:
container_name: netmaker
image: gravitl/netmaker:REPLACE_SERVER_IMAGE_TAG
restart: always
restart: on-failure
volumes:
- dnsconfig:/root/config/dnsconfig
- sqldata:/root/data

View file

@ -6,7 +6,7 @@ services:
image: 'gravitl/netclient:v0.18.6'
hostname: netmaker-1
network_mode: host
restart: always
restart: on-failure
environment:
TOKEN: "TOKEN_VALUE"
volumes:

View file

@ -4,7 +4,7 @@ services:
netmaker: # The Primary Server for running Netmaker
container_name: netmaker
image: gravitl/netmaker:REPLACE_SERVER_IMAGE_TAG
restart: always
restart: on-failure
volumes: # Volume mounts necessary for sql, coredns, and mqtt
- dnsconfig:/root/config/dnsconfig
- sqldata:/root/data

View file

@ -4,7 +4,7 @@ services:
netmaker:
container_name: netmaker
image: gravitl/netmaker:REPLACE_SERVER_IMAGE_TAG
restart: always
restart: on-failure
volumes:
- dnsconfig:/root/config/dnsconfig
- sqldata:/root/data

View file

@ -44,17 +44,17 @@ func ValidateLicense() error {
netmakerAccountID := servercfg.GetNetmakerAccountID()
logger.Log(0, "proceeding with Netmaker license validation...")
if len(licenseKeyValue) == 0 || len(netmakerAccountID) == 0 {
logger.FatalLog(errValidation.Error())
logger.FatalLog0(errValidation.Error())
}
apiPublicKey, err := getLicensePublicKey(licenseKeyValue)
if err != nil {
logger.FatalLog(errValidation.Error())
logger.FatalLog0(errValidation.Error())
}
tempPubKey, tempPrivKey, err := FetchApiServerKeys()
if err != nil {
logger.FatalLog(errValidation.Error())
logger.FatalLog0(errValidation.Error())
}
licenseSecret := LicenseSecret{
@ -64,32 +64,32 @@ func ValidateLicense() error {
secretData, err := json.Marshal(&licenseSecret)
if err != nil {
logger.FatalLog(errValidation.Error())
logger.FatalLog0(errValidation.Error())
}
encryptedData, err := ncutils.BoxEncrypt(secretData, apiPublicKey, tempPrivKey)
if err != nil {
logger.FatalLog(errValidation.Error())
logger.FatalLog0(errValidation.Error())
}
validationResponse, err := validateLicenseKey(encryptedData, tempPubKey)
if err != nil || len(validationResponse) == 0 {
logger.FatalLog(errValidation.Error())
logger.FatalLog0(errValidation.Error())
}
var licenseResponse ValidatedLicense
if err = json.Unmarshal(validationResponse, &licenseResponse); err != nil {
logger.FatalLog(errValidation.Error())
logger.FatalLog0(errValidation.Error())
}
respData, err := ncutils.BoxDecrypt(base64decode(licenseResponse.EncryptedLicense), apiPublicKey, tempPrivKey)
if err != nil {
logger.FatalLog(errValidation.Error())
logger.FatalLog0(errValidation.Error())
}
license := LicenseKey{}
if err = json.Unmarshal(respData, &license); err != nil {
logger.FatalLog(errValidation.Error())
logger.FatalLog0(errValidation.Error())
}
Limits.Networks = math.MaxInt

View file

@ -138,6 +138,12 @@ func FatalLog(message ...string) {
os.Exit(2)
}
// FatalLog0 - exits os after logging
func FatalLog0(message ...string) {
fmt.Printf("[%s] Fatal: %s \n", program, MakeString(" ", message...))
os.Exit(0)
}
// == private ==
// resetLogs - reallocates logs map