Zusammenfassung
:rawsieht die undecodierte Darstellung,:contentausgewählte MIME-Teile und:textdie Best-Effort-Ausgabe lokaler Extraktoren. Ein universeller Mailbody entsteht daraus nicht.- Für folgenreiche Aktionen müssen Nachricht, Engine-Version, Transform, Selector, Comparator, Fehler und ausgelassene Teile erhalten bleiben. Treffer bedeutet nicht gefährlich; kein Treffer bedeutet nicht abwesend.
Schon eine reine Header-Nachricht zeigt die Grenze. Fehlt die leere Trennzeile, entsteht eine leere Menge von Strings und jeder Body-Test ist false, auch die Suche nach einem leeren String. Kein Body und ein leerer Body sind verschiedene Zustände.
Andernfalls erzeugt der Transform die Eingabe. Physische Zeilen werden nicht einzeln geprüft; CRLF kann Teil des Strings sein. Comparator und Match-Type schließen die Kette. Das Boolean am Ende beschreibt die Kette nicht.
Raw findet auch Verpackung
:raw behandelt den gesamten undecodierten Body als ein Item. Transfer Encoding bleibt bestehen, Multipart-Grenzen und innere MIME-Header werden Suchinhalt. Syntaxfehler befreien nicht vom Test, solange die Umgebung die Nachricht nicht vorher ablehnt.
Ein Keyword kann deshalb in Base64, einem Boundary oder einem inneren Content-Type stehen. Der Treffer belegt Repräsentation, nicht was ein Empfänger gelesen oder ein Sender gemeint hat.
Ein Item erlaubt zudem Muster über Bereiche, die ein MIME-aware Transform trennt. Der Wechsel zu content ändert den Beweisraum.
Content genehmigt Äste
:content wählt nach MIME-Typ und steigt rekursiv in Multipart und message/rfc822. Voller type/subtype ist exakt, ein Typ umfasst Subtypen, leer wählt alle. Fehlerhafte Slashes wählen nichts.
Jeder Teil wird allein verglichen. Ein Pattern darf keine Part-Grenze überqueren. Prolog und Epilog eines Containers bilden eigene Strings; der Header einer eingebetteten Nachricht und deren innere Bodies folgen getrennten Selektoren.
Pflicht-Encodings werden decodiert und unterstützter Text nach UTF-8 konvertiert. Nicht konvertierbare Teile dürfen jedoch als US-ASCII behandelt, ausgelassen oder lokal verarbeitet werden. Ein Miss kann ausgelassene Beobachtung bedeuten.
Text versioniert die unsichtbare Policy
:text ist Best Effort und Default. Eine einfache Engine setzt es :content "text" gleich; eine reichere entfernt Markup, konvertiert Dokumente oder nutzt OCR. Gleiche Ausgaben sind nicht vorgeschrieben.
Library-Upgrade und Providerwechsel werden damit Policy-Änderungen. Ein neuer Converter findet alte Wörter; eine neue OCR verliert andere. Der Script-Diff bleibt leer, der Observation-Diff nicht.
Die Lösung ist Provenienz: Extractor, Fähigkeiten, Warnungen, ausgelassene Teile und Output-Hashes gehören zum Treffer. Sonst lässt er sich nicht wiederholen.
Security braucht ein anderes Urteil
RFC 5173 warnt, raw könne weiter greifen als beabsichtigt und Textsuche ersetze keinen Spam-, Virus- oder Security-Filter. Ressourcen müssen begrenzt sein, damit Matching keinen Dienst für andere Nutzer verweigert.
Verpackung kann legitime Mail falsch treffen; unbekannte Attachments können gefährliche Mail falsch entlasten. Boolean allein unterscheidet die Wege nicht.
RFC 5229 behält sein eigenes Thema: Variablen und Captures. Body-Wildcards setzen ${1} und folgende nicht. Das verhindert Side-Effect-Memory, nicht unvollständige Extraktion.
Quellen
- https://www.rfc-editor.org/rfc/rfc5173.html
- https://www.rfc-editor.org/rfc/rfc5173.txt
- https://www.rfc-editor.org/info/rfc5173
- https://datatracker.ietf.org/doc/rfc5173/
- https://datatracker.ietf.org/doc/rfc5173/history/
- https://datatracker.ietf.org/doc/rfc5173/references/
- https://www.rfc-editor.org/errata/rfc5173
- https://www.iana.org/assignments/sieve-extensions/sieve-extensions.xhtml
- https://www.rfc-editor.org/rfc/rfc5228.html
- https://www.rfc-editor.org/rfc/rfc5229.html
- https://www.rfc-editor.org/rfc/rfc5703.html
- https://www.rfc-editor.org/rfc/rfc2045.html
- https://www.rfc-editor.org/rfc/rfc2046.html
- https://www.rfc-editor.org/rfc/rfc3629.html
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
Mitgliederbriefing
Detaillierter Profilkontext
Melden Sie sich mit der richtigen Mitgliedschaftsstufe an, um das vollständige Briefing und die Quellennotizen freizuschalten.
Nur für Strategic Circle
Strategic Circle
Offen für alle Leser. Schalten Sie Profil-Briefings nach Beitritt und Anmeldung frei.
Strategic Circle beitretenNur für Leadership Alliance
Leadership Alliance
Für qualifizierte Inhaber von IP-Assets und Management; melden Sie sich an, um Leadership-Alliance-Briefings freizuschalten.
Leadership Alliance beitreten
