Kleines API Problem - Typ von "ports" "port"  [GELÖST]

Haben Sie einen Bug entdeckt? Teilen Sie es uns mit.
Post Reply
otto58
Posts: 79
Joined: Thu 29. Jul 2021, 13:20

Kleines API Problem - Typ von "ports" "port"

Post by otto58 »

Ich bin sicher, dass die Ursache des Problems bei KeyHelp liegt
Ja

Server-Betriebssystem + Version
Debian 12.10


Eingesetzte Server-Virtualisierung-Technologie
KVM


KeyHelp-Version + Build-Nummer
"panel_version": "25.0",
"panel_build": "3398",
"api_version": "2.10",


Problembeschreibung / Fehlermeldungen
Bei "ports" handelt es sich um eine Auslistung der "Überwachte Dienste".
Im Auslieferungszustand ist die Unterangabe "port" ein string
{
"service": "POP3",
"port": "995",
"protocol": "tcp",
"status": "online"
},
Wenn ich einen weiteren Dienste unter "Überwachte Dienste" eintrage, wird "port" zum integer.
{
"service": "POP3",
"port": 995,
"protocol": "tcp",
"status": "online"
},
Wenn ich den weiteren Dienst wieder entferne, bleibt "port" integer.

Erwartetes Ergebnis
Der Typ von "port" sollte sich bei normaler Nutzung von Keyhelp nicht ändern.

Tatsächliches Ergebnis


Schritte zur Reproduktion


Zusätzliche Informationen
(z.B. kürzlich durchgeführte Änderungen am Server, Auszüge aus Protokolldateien (/var/log/*, /var/log/keyhelp/php-error.log, etc.))
Last edited by otto58 on Tue 1. Apr 2025, 21:40, edited 1 time in total.
User avatar
24unix
Posts: 2037
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: Kleines API Problem - Typ von "ports" "port"

Post by 24unix »

Oh, unschön, ich kann es hier reproduziren:

Code: Select all

❌ Failed to fetch server data: typeMismatch(Swift.String, Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "ports", intValue: nil), _CodingKey(stringValue: "Index 0", intValue: 0), CodingKeys(stringValue: "port", intValue: nil)], debugDescription: "Expected to decode String but found number instead.", underlyingError: nil))
Das sagt Proxyman:

Code: Select all

{
      "service": "test",
      "port": 123,
      "protocol": "tcp",
      "status": "offline"
    },
    
Aber ich denke, Alex wird das schnell fixen, wie wir ihn kennen :-)
Cheers Micha
--
A Windows user reinstalls software every few weeks.
A Linux user reinstalls software every few weeks.
The difference is with Linux the version numbers change.
User avatar
Alexander
Keyweb AG
Posts: 4448
Joined: Wed 20. Jan 2016, 02:23

Re: Kleines API Problem - Typ von "ports" "port"  [GELÖST]

Post by Alexander »

Grüße,

Danke für die Info.
Int wäre richtig, das ist in der Dokumentation + bei einem "jungfräulichen" System leider falsch.

=> Ist beides korrigiert für KH 25.1.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
24unix
Posts: 2037
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: Kleines API Problem - Typ von "ports" "port"

Post by 24unix »

Alexander wrote: Wed 2. Apr 2025, 14:06 Grüße,

Danke für die Info.
Int wäre richtig, das ist in der Dokumentation + bei einem "jungfräulichen" System leider falsch.

=> Ist beides korrigiert für KH 25.1.
Hmm, ich habe das Db backup zurück gespielt.

Code: Select all

ServicePort
        - service: "POP3"
        - port: "995"
        - proto: "tcp"
        - status: "online"
Also mit dem Update auf 25.1 wird das auf int geändert?

Ist das hardcodiert oder irgendwo in der DB?
Cheers Micha
--
A Windows user reinstalls software every few weeks.
A Linux user reinstalls software every few weeks.
The difference is with Linux the version numbers change.
User avatar
Alexander
Keyweb AG
Posts: 4448
Joined: Wed 20. Jan 2016, 02:23

Re: Kleines API Problem - Typ von "ports" "port"

Post by Alexander »

Das dazugehörige Json liegt in der KeyHelp settings Tabelle (category/name: services - status_config).

Abspeichern von "Konfiguration -> Service/Port-Monitoring" bewirkt, das der port als int gespeichert wird.
Aktuell würde er bei der API den Datentyp nehmen, der im json steht.

Ab 25.1 ist es immer int.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
24unix
Posts: 2037
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: Kleines API Problem - Typ von "ports" "port"

Post by 24unix »

Alexander wrote: Wed 2. Apr 2025, 15:16 Das dazugehörige Json liegt in der KeyHelp settings Tabelle (category/name: services - status_config).

Abspeichern von "Konfiguration -> Service/Port-Monitoring" bewirkt, das der port als int gespeichert wird.
Aktuell würde er bei der API den Datentyp nehmen, der im json steht.
Danke, schaue ich mir mal an, aus Neugierde.
Alexander wrote: Wed 2. Apr 2025, 15:16 Ab 25.1 ist es immer int.
Und darum bin ich da jetzt pragmatisch rangegangen, habe den Wechsel auf int nochmal forciert und den Code angepasst :-)

SCR-20250402-nscl.png
Cheers Micha
--
A Windows user reinstalls software every few weeks.
A Linux user reinstalls software every few weeks.
The difference is with Linux the version numbers change.
Post Reply