Installations-ID bei Manager-Updates erhalten
Tests / test (push) Successful in 45s

This commit is contained in:
dh
2026-09-22 15:06:31 +00:00
parent 693beb2263
commit 0f1e0c9fbb
4 changed files with 57 additions and 11 deletions
+15 -8
View File
@@ -114,9 +114,6 @@ class Manager extends IPSModule implements ManagerSchnittstelle
$this->RegisterAttributeInteger('LizenzNaechsterVersuch', 0);
$this->RegisterAttributeInteger('LizenzBerechtigungenNaechsterVersuch', 0);
$this->RegisterAttributeString('LizenzLetzterFehler', '');
if ($this->ReadAttributeString('LizenzInstallationID') === '') {
$this->WriteAttributeString('LizenzInstallationID', $this->erzeugeUuidV4());
}
// Die alten Timer bleiben deaktiviert registriert, damit bestehende Instanzen sauber migrieren.
$this->RegisterTimer('Regelzyklus', 0, '');
@@ -132,6 +129,7 @@ class Manager extends IPSModule implements ManagerSchnittstelle
{
parent::ApplyChanges();
$this->initialisiereLizenzInstallationID();
$this->aktualisiereVariablen();
try {
@@ -1040,6 +1038,19 @@ class Manager extends IPSModule implements ManagerSchnittstelle
}
}
private function initialisiereLizenzInstallationID(): string
{
$installationID = trim($this->ReadAttributeString('LizenzInstallationID'));
if ($installationID !== '') {
return $installationID;
}
$installationID = $this->erzeugeUuidV4();
$this->WriteAttributeString('LizenzInstallationID', $installationID);
return $installationID;
}
private function aktualisiereLizenzfreigabe(string $lizenzcode, bool $erzwingen): bool
{
$normalisiert = Lizenzpruefung::normalisiereCode($lizenzcode);
@@ -1051,11 +1062,7 @@ class Manager extends IPSModule implements ManagerSchnittstelle
return false;
}
$installationID = $this->ReadAttributeString('LizenzInstallationID');
if ($installationID === '') {
$installationID = $this->erzeugeUuidV4();
$this->WriteAttributeString('LizenzInstallationID', $installationID);
}
$installationID = $this->initialisiereLizenzInstallationID();
$codeHash = hash('sha256', $normalisiert);
$gespeicherterHash = $this->ReadAttributeString('LizenzcodeHash');
$lease = $this->leseLizenzLease();