# HG changeset patch # User Heiko Schlittermann (JUMPER) # Date 1436132451 -7200 # Node ID 5898f11d12c0d19b259fadca49c65fc25904d0ee # Parent 49b311800e282a1030e0fe73b3a8e61299f12924 Fixes diff -r 49b311800e28 -r 5898f11d12c0 short.conf --- a/short.conf Sun Jul 05 22:52:36 2015 +0200 +++ b/short.conf Sun Jul 05 23:40:51 2015 +0200 @@ -25,5 +25,5 @@ [macros] (?u)\b(i):(?P[\$\w]+)=eximvar[] -(?u)\b(o):(?P\w+)=eximopt[] +(?u)\b(o):(?P[.\w]+)=eximopt[] (?u)\b(d):(?P\w+)=eximdriver[] diff -r 49b311800e28 -r 5898f11d12c0 short.txt --- a/short.txt Sun Jul 05 22:52:36 2015 +0200 +++ b/short.txt Sun Jul 05 23:40:51 2015 +0200 @@ -17,15 +17,6 @@ == Typografische Konventionen -//// -_italic_:: - Namen von Dateien, Programmen, Hosts, Domains, Mail-Header, URLS: _example.com_, _From:_ -o:fixed:: - Kommandos, Code-Beispiele, Exim-Konfigurations-Optionen: o:primary_hostname -*+fixed bold+*:: - Hervorhebung von Kommandos, Nutzereingaben: *+exim -bV+* -//// - d:bold:: Exim Treibernamen im Text: Der driver:dnslookup Router @@ -43,15 +34,14 @@ <> und die <>. [[editme]] -== Build-Konfiguration _EDITME_ +=== Build-Konfiguration _EDITME_ * Maintainer pflegt die _EDITME_ * Je nach Distro unterschiedliche Konfigurationen, teilweise sogar mehrere, wie 'fat', 'light', 'heavy'. +* Wesentliche Daten der Features aus der Build-Konfiguration: - $ exim -bV - -listet wesentliche in der Buildkonfiguration gewählte Features auf. + exim -bV [[runtime]] === Runtime-Konfiguration _exim.conf_ @@ -61,7 +51,7 @@ Das verwendete File läßt sich ermitteln mit: - $ exim -bP configure_file + exim -bP configure_file Das aktive Konfigurationsfile kann auch auf der Kommandozeile festgelegt werden. Für einige Operationen muss der Pfad ein absoluter sein. Auch @@ -79,14 +69,7 @@ und eventuell über o:.include eingelesener Files ist statisch. Dynamisch sind dann Expansionen, Lookups. -=== Syntax - -Der Parser der Konfigurationsdatei ist ziemlich einfach. - -. Kommentarzeilen werden entfernt -. Führende und anhängige Leerzeichen werden entfernt -. Forsetzungszeilen („\“ am Zeilenende) werden zusammengefasst -. einfache Syntax-Checks +== Aufbau der Runtime-Konfiguration _exim.conf_ Die Konfiguration besteht aus mehreren Abschnitten. Nicht alle Abschnitte sind identisch aufgebaut. @@ -108,7 +91,12 @@ Authentifizierung:: Parameter für die SMTP-Authentifizierung (sowohl Client als auch Server) -== Syntax der Konfiguration +== Syntax der Runtime-Konfiguration _exim.conf_ + +. Führende und anhängige Leerzeichen werden entfernt +. Kommentarzeilen werden entfernt +. Forsetzungszeilen („\“ am Zeilenende) werden zusammengefasst +. Macros werden ersetzt === Kommentare @@ -119,7 +107,7 @@ * Macros werden generell groß geschrieben. * Macros sind ein einfache statischer Textersetzungsmechanismus (im Sinne -* globaler „Konstanten“) und für das + globaler „Konstanten“) und für das bedingte Parsen von Konfigurationsteilen. * Macros können in der Konfiguration definiert werden, aber auch auf der Kommandozeile. (Auf der Kommandozeile gibt es jedoch wegen eventueller Sicherheitsimplikationen @@ -142,14 +130,15 @@ exim -DTESTING -DTRANSPORT=foo … -Macros können neu definiert werden („==“ statt „=“). Macros von der Kommandozeile haben Vorrang. +* Macros können neu definiert werden („==“ statt „=“). +* Macros von der Kommandozeile haben Vorrang. === Optionen * Optionen werden generell klein geschrieben. * Es gibt ca. 250 globale Optionen, hinzu kommen noch weitere Optionen für Router, Transports, Authenticators, usw. -* Optionen haben einen bestimmten <>. +* Optionen haben einen Werte von bestimmten <>. .Beispiel primary_hostname = foo.example.com @@ -171,12 +160,12 @@ hostlist trusted_hosts = 192.168.0.0/24 : 127.0.0.1 Mail-Adressen:: - Mailadressen + Mail-Adressen von Absender oder Empfänger addresslist blocked_senders = ad@bestholiday.de : *@mailgun.com Local Parts:: - Local Parts von Mail-Adressen, z.B. von ACL-Checks ausgenommene lokale Empfänger + Local Parts von Mail-Adressen localpartlist rfc = postmaster : abuse @@ -190,12 +179,15 @@ .Beispiel Debugging exim -bP +local_domains -=== Instanzen von Routern, Transports, Authentificators +=== Instanzen von Routern, Transports, Authenticators -* Router, Transports und Authenificators werden in einzelnen „Funktionsblöcken“ definiert. -* Diese Blöcke haben selbstgewählte Namen und eine Liste von - Optionen, die das Verhalten des jeweiligen Routers, Transports oder - Authenticators bestimmen. +* Router, Transports und Authenticators werden in einzelnen „Funktionsblöcken“ definiert. +* Diese Blöcke haben selbstgewählte Namen, einen Treiber, der das generelle + Verhalten des Blocks festlegt und Optionen, + die das Verhalten des jeweiligen Routers, Transports oder + Authenticators weiter bestimmen. +* _Generische_ Optionen gelten für alle Router, Transports +* Jeder Treiber hat zusätzlich spezifische Optionen .Beispiel begin transports @@ -211,11 +203,11 @@ [[types]] == Werte und ihre Typen -ALle Optionen der Konfigurationsdatei haben einen spezifischen Daten-Typ. +Alle Optionen der Konfigurationsdatei haben einen spezifischen Daten-Typ. * _bool_, _integer_, _fixed-point_, _time_ und _string_ * Listen sind immer String-Listen -* Werte, die der Expansion unterliegen, sind immer vom Typ _string_ +* Werte, die der späteren Expansion unterliegen, sind immer vom Typ _string_ === Bool @@ -223,8 +215,7 @@ Werte vom Typ _bool_ sind einfache Schalter. .Format -