[snapshot]
authorHeiko Schlittermann (JUMPER) <hs@schlittermann.de>
Fri, 09 Jan 2015 23:48:02 +0100
changeset 5 b9483cdf9b77
parent 4 4b1d19412329
child 6 961a1eabccf6
[snapshot]
config.txt
exim.txt
--- a/config.txt	Sun Jan 04 23:58:22 2015 +0100
+++ b/config.txt	Fri Jan 09 23:48:02 2015 +0100
@@ -10,7 +10,7 @@
 
 Syntaktische Korrektheit allein ist jedoch nicht ausreichend. Fehler
 können auch später, z.B. durch durch <<config.expansion,Text-Expansion>>, auftreten.
-Für eine einfach Überprüfung der Konfiguration eignen sich die Kommandos
+Für eine einfache Überprüfung der Konfiguration eignen sich die Kommandos
 zum Routing-Test:
 
  > exim -bt <Adresse>
@@ -57,22 +57,22 @@
 
 Es gelten folgende einfache Regeln beim Lesen der Konfiguration:
 
-.Whitespace
+Whitespace::
 Leer- und Tabulatorzeichen am Zeilenanfang und -ende werden ignoriert.
 
-.Kommentare
+Kommentare::
 Zeilen, die mit `#` beginnen, werden ignoriert. Wird an anderen Stellen
 ein `#` verwendet, hat dieses Zeichen *nicht* die Bedeutung eines
 Kommentarzeichens.
 
-.Fortsetzungszeilen
+Fortsetzungszeilen::
 Zeilen, die mit einem `\` enden, werden durch die Folgezeile fortgesetzt, 
 der Zeilenumbruch wird dabei entfernt.
 
-.Macrodefinitionen
+Macrodefinitionen::
 // spec:6.4
 Makros werden häufig verwendet, um sehr lange Konfigurationsausdrücke zu
-vereinfachen.  Makros ermöglichen eine einfach Textersetzung beim
+vereinfachen.  Makros ermöglichen eine einfache Textersetzung beim
 *Einlesen* der Konfiguration:
 
 ----
@@ -85,7 +85,7 @@
 Macros können auf der Kommandozeile mit `-DFOO=foobar` gesetzt bzw.
 überschrieben werden.
 
-.Einbettung weiterer Files
+Einbettung weiterer Files::
 In das Hauptkonfigurations-File können weitere Dateien eingebettet
 werden:
 
@@ -95,7 +95,7 @@
 
 Eine bedingte Einbettung ist mit `.include_if_exists` möglich.
 
-.Bedingtes Einlesen
+Bedingtes Einlesen::
 // spec:6.9
 In Abhängigkeit von definierten Macros können Teile der
 Konfigurationsdatei überprungen werden:
@@ -136,4 +136,71 @@
     Konfiguration der Authentifizierungsparameter als Client und als
     Server
 
+.Konfigurationsblöcke
+Einige der Konfigurationsabschnitte bestehen aus Blöcken.  Diese Blöcke
+stellen Instanzen von Routern, Transports, ACL oder Authenticators dar.
+Der Name der Instanz ist frei wählbar.
+
+----
+smarthost:                      <1>
+   driver = manualroute         <2>
+   route_list = * relay.site    <2>
+----
+<1> Name des Blocks
+<2> blockspezifische Optionen
+
+[[config.elements]]
+=== Elemente der Konfigurationsdatei ===
+
+Einzelne Konfigurationseinträge bestehen aus einer Option
+und dem Wert für die entsprechende Option.  Die Optionen sind
+entweder statische Namen oder Listen, deren Name frei wählbar ist:
+
+----
+primary_hostname = foo.bar
+domainlist foo = example.org : example.com
+----
+
+Die Liste der möglichen Optionen wird von immer länger. Die aktuelle
+Exim-Version kennt allein für den globalen Teil der Konfiguration knapp
+300 Optionen. Alle Optionen sind mit sinnvollen Standardwerten
+vorbelegt. 
+
+Konfigurationsoptionen implizieren einen bestimmten Typ für ihren Wert.
+Das ist vergleichbar mit Datentypen von Programmiersprachen. Bei einigen
+dieser Optionen wird der Wert direkt eingetragen, bei anderen Optionen
+ergibt sich der Wert zur Laufzeit durch <<config.expansion,Expansion>>
+eines Ausdrucks.
+
+.Boolsche Werte
+Der einfachste Typ ist der Typ *bool*, „Schalter“-Optionen. 
+Es gibt zwei Notationen für diese Optionen.
+
+Ohne Zuweisung::
+    Der Name der Option steht für die aktivierte Option. Wird der Prefix
+    `no_` oder `not_` verwendet, ist die Option deaktiviert.
+
+Mit Zuweisung::
+    Die Werte 'yes', 'no', 'true' oder 'false' aktivieren bzw.
+    deaktivieren die Option.
+
+.Aktivierung
+====
+    queue_only
+    queue_only = yes
+    queue_only = true
+====
+
+.Deativierung
+====
+    no_queue_only
+    queue_only = no
+    queue_only = false
+====
+
+
+
+[[config.expansion]]
+=== Expansion von Werten ===
+
 // vim:ft=asciidoc
--- a/exim.txt	Sun Jan 04 23:58:22 2015 +0100
+++ b/exim.txt	Fri Jan 09 23:48:02 2015 +0100
@@ -48,20 +48,68 @@
 
 Folgende Konventionen werden im folgenden verwendet:
 
+// kursiv
 'exim.conf'::
-    verwenden wir für Pfad- und Dateinamen.
+    verwende ich für Pfad- und Dateinamen.
 
+// fixed
 `ls -l`::
-    verwenden wir für Kommandos und sonstige Konfigurationsoptionen.
+    verwende ich für Kommandos und sonstige Konfigurationsoptionen.
 
-*router*::
-    verwenden wir für Namen von Exim-Routern, -Transports und -Authenticators
+// bold
+*dnslookup*::
+    verwende ich für Namen von Exim-Routern, -Transports und -Authenticators
+
+
+// italic
+_primary_hostname_::
+    verwende ich für Namen von Konfigurations-Optionen
 
 Beispiele::
     werden so dargestellt:
 
  > exim -bV
 
+.Example
+====
+Das ist ein *Beispiel*.
+Und es bricht nicht um.
+Aber ich kann es jetzt +
+umbrechen.
+====
+
+.Listing
+----
+Das ist ein *Listing*. <1>
+Und es bricht nicht um. <2>
+----
+<1> Dafür können wir markieren.
+<2> Super
+
+.
+
+.so
+----
+primary_hostname = foo.bar
+domainlist foo = example.org : example.com
+----
+
+.oder so?
+====
+primary_hostname = 'name' +
+domainlist 'foo' = 'domain' : 'domain'
+====
+
+Oder auch
+
+ durch Einrücken. Wird
+ dann aber auch fest *umgebrochen*
+
+Und wir haben noch andere Blöcke::
+Was machen die? Mal sehen.
+
+
+
 include::operation.txt[]
 include::config.txt[]
 include::appendix.txt[]