Skip to content

signing-milter enables you to s/mime sign an ordinary mail while passing a MTA

License

Notifications You must be signed in to change notification settings

gs4711/signing-milter

 
 

Repository files navigation

20230225
 Adding magic path option '-M' to provide a magic path
 under which all key files are stored within files
 named by sender-address followed by '.pem', i.e.
 lonesome_cowboy@anywhere.de.pem

202302xx
 Fix .f andreasschulze#3
 socketmode may be relaxed with '-c :relax'

20210822
 Signatur kann mit einem Header 'x-skip-signing' pro Nachricht deaktiviert
 werden (Ticket #6)

20200719
 debian/ funktioniert mit den Debian-Versionen Stretch und Buster

20200719
 Der milter beendet sich nicht mehr bei Mails mit meinem MIME-Version Header
 aber ohne Content-* Header, ein Default wird eingefügt:
 https://tools.ietf.org/html/rfc2045#section-5.2

20200719
 viele MUA bieten eine Option "quelltext anzeigen" Dort werden TABs meist als
 SPACE angezeigt. COPY&PASTE verändert so wieder die Signatur.
 Headerumbrüche mit einem SPACE einrücken.

20200719
 bei einer ASCII-Mail den MIME-Version Header aus dem signierten Daten
 übernehmen

20200719
 Logging ohne Syslog implementiert: `signing-milter -l` schreibt nur noch nach
 STDOUT

Juli 2020
 Symptom: Outlook zeigt signierte Mails als verändert an.
 Thunderbird zeigt hingegen bei den selben Mails eine valide Signatur an.

 Problem: eine MIME-Mail besteht aus einer Präamble, MIME-Entities
 und einem Epilog (https://tools.ietf.org/html/rfc2046#page-21)

 S/MIME soll aber nur MIME-Entities signieren. Der bisherige Code hat zwar
 die Präamble ignoriert, nicht aber den Epilog.
 Thunderbird stört sich nicht daran, wenn der Epilog mitsigniert wurde,
 Outlook schon. Das Problem tritt nur bei MIME-Mails auf, die nicht mit
 den 4 Zeichen Minus, Minus, \r und \n enden.

 und alle zusammen: E-Mail ist total einfach - geradezu "Simple" :-/

15. Oktober 2018
 Beim Update im März 2015 hat sich eine Unschärfe eingeschlichen.
 Header der ursprünglichen E-Mail werden nach einem ; umgebrochen
 und wandern praktisch als MIME-Header in den Mailbody. Dort sind
 Zeilenumbrüche mit \r\n definiert.

 Nach der Signatur werden Daten in den eigentlichen Mailheader
 zurückgeschrieben. *Dort* sind Headerzeilen jedoch nur mit \n
 umzubrechen.

 E-Mail ist total einfach - geradezu "Simple" :-/

 Diesen Fehler hat Stefan Meinecke vor über einem Jahr schon gefunden
 und in praktisch identischer Art gefixt:
 https://github.com/smeinecke/signing-milter/commit/eed029cd507f0896129e7b6dc1eaf807eed12e04

31. Juli 2012
 Der Milter hat bisher keine Zwischen- oder Rootzertifikate in die Signatur
 aufgenommen. Dies wird nun unterstützt. Dazu müssen die Signaturdaten
 (Zertifikat und Schlüssel) in einer Datei "/path/to/foo-cert+key.pem"
 abgelegt werden. Existiert dann eine Datei "/path/to/foo-chain.pem", werden
 darin die Zertifikate der Zwischen- und Rootzertifikate erwartet und in die
 Signatur eingefügt

1. März 2011
 die Dezemberversion hat einen fatalen Speicherfresser in
 callback_close
 -> unbedingt aktualisieren

27. Dezember 2010
 mit einer optionalen Lookuptabelle fuer Empfängeradressen
 kann der Signaturmodus von Clear auf Opaque umgestellt werden.
 Die entsprechenden Mails sind dann nicht mehr so anfällig gegen
 kaputte Mailer, die Zeilenumbrüche ändern und damit Signaturen
 invalidieren.

25. Oktober 2010
 ein täglicher Cron-Job fürs Statistik-Logging kann nun einmal täglich
 einen Eintrag loggen, wenn der stündliche Job deaktiviert ist.
 Um Statistik-Logging komplett zu unterdruecken, muß nun sowohl
 "DISABLE_HOURLY_STATISTIK_LOGGING=yes" als auch
 "DISABLE_DAILY_STATISTIK_LOGGING=yes" in der
 /etc/default/signing-milter gesetzt werden.

19. Oktover 2010
 der stündliche Cron-Job für's Statistik-Logging kann mit einem
 Eintrag "DISABLE_HOURLY_STATISTIK_LOGGING=yes" in der
 /etc/cron.hourly/signing-milter deaktiviert werden.

Oktober 2010
BIO-Programmierung ist echt übel. Der Milter speichert nun
alle zu signierenden Daten in einen eigenen Puffer, der im EOM
zu einem BIO konvertiert wird. Das macht den Milter schnell.

August 2010
 Als Input kommen manchmal Content-* Header, die länger als 76 Zeichen sind.
 Werden diese in den MIME-Body übernommen, erzeugt der Milter quasi
 MIME-Content, der gegen RFC 2045 verstößt.
 Dazu wurde nun zwei Funktion eingebaut:
  1. Content-Type Header werden an "; " umbegrochen,
     indem durch ;\n\t" ersetzt wird.
  2. der gesamte, signierte Body wird getestet,
     ob Zeilen länger als 76 Zeichen sind.

Milter-Dokumentation:
https://www.milter.org/developers/sample

erste lauffähige Version
sofortiger Codefreeze und 0.9.2

SIGNAL-Handling:
SIGHUP zum dumpen oder einlesen der Config wäre sinnvoll.
Allerdings ist das Signal schon durch das Milter-API irgendwie
belegt.

About

signing-milter enables you to s/mime sign an ordinary mail while passing a MTA

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 89.8%
  • Roff 5.7%
  • Makefile 3.7%
  • Shell 0.8%