Skip to content
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_23554 - Weiterleitung MAIL FROM - SIZE-Parameter #32

Open
dhufnagel opened this issue May 4, 2023 · 2 comments

Comments

@dhufnagel
Copy link
Contributor

Die AFO sollte ausführlicher beschreiben, was genau gemeint ist. Welchen Parameter "size" gibt es bei einem SMTP "MAIL FROM" Command? In der RFC zu SMTP kann ich nichts über einen size-Parameter finden.

@stophane
Copy link

stophane commented May 5, 2023

@dhufnagel

Nachfolgend kurz das inzwischen gealterte Jira-Ticket (ANFKIM-275 vom 22.07.2022), was vermutlich zu dieser Afo. geführt hat:


Beschreibung
Scope:

KIM 1.5

gemSpec_CM_KOMLE_1.13.0

KOM-LE-A_2018 - Weiterleitung von SMTP-Meldungen und Antwortcodes

Kapitel: 3.3.3 PROXY-Zustand

Erläuterung:

Im Kontext der Forderung zur Unterstützung von ESMTP (RFC 1870) sowie der Anforderung KOM-LE-A_2018, muss das KIM Clientmodul sämtliche SMTP-Kommandos bis zu RCPT TO direkt an den KIM Fachdienst weiterleiten.

Folglich wird das vor RCPT TO übermittelte SMTP Kommando MAIL FROM direkt an den Fachdienst übermittelt.

Gemäß der Festlegung zu ESMTP kann MAIL FROM durch einen Mail-Client um den Parameter SIZE angereichert werden, womit der Mail-Server über die Nachrichtengröße informiert werden soll (https://datatracker.ietf.org/doc/html/rfc1870#section-6).

Beispiel Kommando von Mail-Client (50 MB Mail): 

MAIL FROM:<[email protected]> SIZE=52428802 

Problem:

In KIM 1.5 kann ein Mail-Client Nachrichten größer 25 MB an das Clientmodul übermitteln. Gemäß KOM-LE-A_2018 würde das Clientmodul MAIL FROM mit der SIZE-Angabe vom Mail-Client direkt an den Fachdienst weiterleiten.

Ein Mail-Server der ESMTP unterstützt prüft in aller Regel den Wert von SIZE und lehnt dies im Kontext KIM als Fehler ab.

Denn auch in KIM 1.5 erwartet der Mail-Server maximale Mail-Größen von ~35 MB (weil + base64), da die Mail durch die KAS-Verarbeitung verkleinert wurde und den originalen Größenwert von 25 MB, aufgrund Konnektor-Verarbeitung, nicht überschreiten darf. Dies dient auch dem Last-Schutz der Mail-Server.

Beispiel Antwort Mail-Server:

"552 5.3.4 Message size exceeds fixed maximum message size"

Lösungsszenarien:

(1) Analog dem Umgang mit RCPT TO in KIM 1.5 (siehe https://service.gematik.de/servicedesk/customer/kb/view/459884683?pageNumber=1&resultNumber=1&q=RCPT%2520TO&q_time=1658511172424), sollte MAIL FROM erst nach der Nachrichtenverarbeitung an den Mail-Server weitergeleitet werden. Sofern der SIZE-Parameter in MAIL-FROM vorhanden ist, muss dieser auf den Wert der Nachrichtengröße der verarbeiteten Nachricht angepasst werden.

@gem-cp
Copy link
Contributor

gem-cp commented May 23, 2023

OK. Die Afo wird angepasst (SIZE gemäß RFC1870). Die Beschreibung, auf welchen Wert der Parameter SIZE geändert wird, wird ergänzt (SIZE der KIM-Nachricht, die an den KIM-Mailserver gesendet wird).

Es fehlt eine Anforderung an den Mailserver SIZE zu prüfen. Mails größer 25MB müssen mit Code 552 abgelehnt werden, weil nicht Spec-konform (never trust a client, https://www.rfc-editor.org/rfc/rfc1870.html#section-6.2).

Siehe auch #40

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants