Der neue Master-Lizenzserver (tesm-license v1.2.0) zeigt auf seinem
Dashboard jetzt eine Kachel-Uebersicht der aktiven Kundeninstanzen inkl.
Hostname -- dafuer braucht er den Hostnamen jeder Instanz, den der Master
bisher gar nicht kannte (nur den gehashten Fingerprint, siehe
licensing.system_fingerprint()).
build_client_request() (licensing.py, identisch auf Client UND Master
gepflegt) sendet jetzt zusaetzlich socket.gethostname() mit -- rein
informativ, fliesst in keine Sicherheitsentscheidung ein (das bleibt
Sache des Fingerprints), wird aber wie jedes andere Feld mitsigniert.
Abwaerts-kompatibel in beide Richtungen: ein alter Client ohne dieses
Feld liefert dem (bereits aktualisierten) Master einfach '', der das
dann per COALESCE(NULLIF(...,''), hostname) NICHT als Ueberschreiben
eines schon bekannten Hostnamens wertet; ein neuer Client gegen einen
noch nicht aktualisierten Master aendert an dessen Verhalten nichts
(zusaetzliches Feld wird dort schlicht ignoriert).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>