-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Kommentierung 1.5.3] A_23541 - Servicelokalisierung durch das Clientmodul #38
Comments
Was ist der Sinn hinter der Ergänzung des SMTP und POP3 Nutzernamen um die Platzhalter „*“? Warum sollte man das machen, wenn das einzige System, welches diese Teile auswertet das Clientmodul selbst ist? Der Nutzername wird so nie an den Fachdienst übermittelt oder anderweitig verwendet. Daher erschließt sich mir der Sinn des Teils der jeweiligen AFO nicht. |
Die "*" sind notwendig, da z.B. bei POP3 und der Nutzung einer HBA eine "User-ID" im Benutzernamen benötigt wird. Zudem befindet sich im Benutzernamen ja auch noch die KonnektorID, mit der man steuern kann, welcher Konnektor für Signatur und Verschlüsselung der KIM-Nachricht genutzt werden soll. Würde man jetzt bei POP3 nicht das "*" bei UserId setzten, dann würde das CM die KonektorId als UserId ansehen und der Konnektor könnte nicht explizit angesteuert werden. |
Das CM muss doch auch die "*" an der gegebenen Stelle als "nicht gesetzt" interpretieren, was kein Unterschied dazu ist, ob der Teilstring einfach nicht existiert. Technisch würde ich im CM in einer Zeile den Benutzername so anpassen, dass "*" drin steht, 2 Zeilen weiter unten würde ich den Benutzername auseinandernehmen und müsste das "*" wieder interpretieren. Dann kann ich mir die Ergänzung sparen und einfach die Abfrage, ob eine User-ID angegeben ist oder nicht, anhand des Originalstrings machen und auswerten, dass ein Teil fehlt. |
Ja, genau, der Benutzername kommt vom Clientsystem und nicht vom Clientmodul. Daher müsste das Clientsystem ein "*" einfügen, nicht aber das Clientmodul, da dieses den Benutzerstring ja direkt wieder verarbeitet. Wenn die Daten vom Clientsystem fehlen, nutzt es nichts, wenn das Clientmodul vor Verarbeitung ein "*" einfügt. |
Werden optionale Bestandteile des SMTP-Benutzernamens nicht genutzt, MUSS sichergestellt werden, dass später folgende optionale Bestandteile in ihrer vorgegebenen Position platziert werden. Als Platzhalter ist in so einem Fall "*" zu verwenden. Wenn die SMTP-Benutzername-Zeichenkette nicht vollständig ist, MUSS das Clientmodul den SMTP Fehlercode gemäß Tabelle "Tab_SMTP_Verbindung SMTP-Antwortcodes für MTA-Verbindungsaufbau" an das Clientsystem senden und den Vorgang abbrechen. Diese beiden Sätze stehen im Widerspruch wenn beides durch das CM gemacht werden soll. ABer nochmal zum Anfang: |
Auf das Clientsystem hat die Spezifikation keinen Einfluss, da dies außerhalb des Regelungsbereichs der Spezifikation liegt. Die AFO beginnt mit "Das Clientmodul MUSS", daher interpretiere ich das Ergänzen als AFO für das Clientmodul. In den anderen Punkten stimme ich voll zu. Die Handhabung mit dem Part FQDN:Port müsste auf jeden Fall in der AFO nochmal überdacht werden. Aktuell werden alle Clientsysteme den Benutzernamen mit einem FQDN:Port Part versehen haben. Somit würde die DNS SD für bestehende, eingerichtete Clientsysteme nie ausgeführt werden, auch wenn das CM aktualisiert wird. Auch der Part mit dem Delimiter müsste genauer spezifiziert werden, denn hier müssten alle CM die gleichen Delimiter unterstützen, um Interoperabel zu agieren. |
OK. Schauen wir uns an. |
Hallo zusammen, (bewusst umfassendere Inhalte, um diese Afo. im Gesamtkontext zu kommentieren) Vorab-Referenz zu Benutzernamen gemäß gemSpec_CM_KOMLE_V1.16.0 SMTP-Benutzername[0] Benutzername POP3-Benutzername[0] Benutzername Aktuelle SituationIn den Mail-Clients, welche KIM nutzen sind die KIM credentials statisch, gemäß KIM 1.0 abgebildet, und nicht durch KIM beeinflussbar/änderbar. Folglich gilt:
Neue Möglichkeiten KIM 1.5 – Einführung DNS-SDDurch die Einführung von DSN-SD für alle KIM-Services kann „[1] <fqdn/domain>:“ als optional gelten und durch „*“ substituiert werden. Endpunkte Mailserver (SMTP, POP3), KAS, Account-Manager müssen generell per DNS-SD, anhand der KIM-Domain des KIM-Accounts, auflösbar sein. Beachte - technische Notwendigkeit von [1] als absolute Endpunktangabe: Möglicher, geeigneter Umgang mit Endpunktinformationen im Benutzernamen (fallback-strategy)
Teilweise auch in „3.3.2.2 Verbindungsaufbau mit dem MTA“ beschrieben. Delimiter in „[1] <fqdn/domain>:“In der Vergangenheit kam es dazu, dass verschiedene Bestands-Mailsysteme (Mailclients) „:“ im Benutzernamen nicht nutzen konnten. Folglich ist es notwendig, „:“ durch einen anderen delimiter ersetzen zu können, damit diese Systeme an KIM angebunden werden können. Da dieses Problemfeld i.d.R. individuell je Mail-Clientsystem bestehen würde, kann hier keine Festlegung zu den unterstützen, die hostname RFC-nicht-verletztenden delimitern, zw. , getroffen werden und ist im spezifischen Problemlösungsszenario zw. Mail-Clientsystem und Clientmodul zu betrachten. Wird eine Festlegung getroffen, und es passt im spezifischen Problemfall nicht = wieder Problem. Grobe Beispiel regex für parsing „[1] <fqdn/domain>:“: Zu "*" als PlatzhalterEs ist korrekt, dass es keine Platzhalter bräuchter, denn "##" kann auch als "##" angesehen werden = keine Wertangabe. => Durch die aktuelle Spezifikation mit "*" ist es ohnehin und aus Konsistenz- und IOP-Gründen zu hinterfragen, ob eine Abwandlung zielführend bzw. problemverursachend ist. Viele Grüße |
Zu "*" als PlatzhalterAus meiner Sicht macht es auch Sinn, Platzhalter für die Clientsysteme zu definieren, die referenzierten AFOs interpretiere ich jedoch so, dass das Clientmodul den Benutzerstring im Clientmodul selbst mit Platzhaltern erweitern muss. Das macht aus meiner Sicht keinen Sinn. Dass das Clientmodul mit Platzhaltern umgehen können muss, macht hingegen Sinn. |
Ah sry, wenn man es so liest ist diese Interpretation möglich )-: |
OK, Wir werden die Formulierung in A_21518_XX und A_21519_XX so ändern, dass klar ist, dass das CM keine "*" Platzhalter einfügen muss. Das war nie beabsichtigt. |
A_23541 - Servicelokalisierung durch das Clientmodul
Das Clientmodul MUSS den FQDN des Fachdienstes sowie den zu nutzenden Port per DNS Service Discovery bestimmen, wenn diese nicht durch das Clientsystem im jeweiligen Benutzernamen bereitgestellt wurden.[<=]
In der Beschreibung steht, dass das CM den FQDN und den Port des Fachdiensten per DNS SD ermitteln muss wenn der Teilstring fehlt.
Soweit OK.
Jedoch müssen diese Afo nochmal geprüft werden durch gematik, da diese nachfolgende Afo besagt, dass der Vorgang abgebrochen werden muss wenn der Benutzername nicht passt im Aufbau:
Bevor ich feststellen kann das was fehlt, muss ja zuerst die Prüfung der Benutzernamen stattfinden und das CM käme nie bis zur A_23541.
A_21519-02 - Überprüfung des SMTP-Benutzernames
Das Clientmodul MUSS die übergebene SMTP-Benutzername-Zeichenkette auf Vollständigkeit überprüfen. Werden optionale Bestandteile des SMTP-Benutzernamens nicht genutzt, MUSS sichergestellt werden, dass später folgende optionale Bestandteile in ihrer vorgegebenen Position platziert werden. Als Platzhalter ist in so einem Fall "*" zu verwenden. Wenn die SMTP-Benutzername-Zeichenkette nicht vollständig ist, MUSS das Clientmodul den SMTP Fehlercode gemäß Tabelle "Tab_SMTP_Verbindung SMTP-Antwortcodes für MTA-Verbindungsaufbau" an das Clientsystem senden und den Vorgang abbrechen.
A_21518-02 - Überprüfung des POP3-Benutzernames
Das Clientmodul MUSS die übergebene POP3-Benutzername-Zeichenkette auf Vollständigkeit überprüfen. Werden optionale Bestandteile des POP3-Benutzernamens nicht genutzt, MUSS sichergestellt werden das später folgende optionale Bestandteile in ihrer vorgegebenen Position platziert werden. Als Platzhalter ist in so einem Fall "*" zu verwenden. Wenn die POP3-Benutzername-Zeichenkette nicht vollständig ist, MUSS das Clientmodul den POP3 Fehlercode gemäß Tabelle "Tab_POP3_Verbindung Antwortcodes für POP3-Server-Verbindungsaufbau" an das Clientsystem senden und den Vorgang abbrechen. [<=]
The text was updated successfully, but these errors were encountered: