--- a/clt2015.tex Fri Mar 20 13:01:27 2015 +0100
+++ b/clt2015.tex Fri Mar 20 18:08:07 2015 +0100
@@ -46,10 +46,6 @@
\section{Beispiele}
-% -- Example CallForward/CutThrough
-% vielleicht gehört das nach die ACL geschoben, denn die braucht man,
-% um das hier zu verstehen.
-\input{frames/callforward.tex}
% -- Example Emig
\input{frames/emig.tex}
% -- Example Smarthosts
@@ -58,6 +54,12 @@
% -- ACL
\input{frames/acl.tex}
+% -- Example CallForward/CutThrough
+\input{frames/callforward.tex}
+
+% -- Example Single Recipient
+%\input{frames/single-recipient.tex}
+
% -- logging
\input{frames/logging.tex}
@@ -78,13 +80,13 @@
\item Header-Rewriting \verb=*@*.example.com $1@example.com Ff=
\item Retry-Rules \verb=*.example.com rcpt_4xx F,2h,5m;G,2d,15m=
\item SMTP-Authentifizierung (Client/Server)
- \item Cut-Through-Routing, PRDR, DNSSEC, DANE, Enhanced Status Codes
+ \item PRDR (ok), DNSSEC (ok), DANE (ok), Enhanced Status Codes (??)
\end{itemize}
\end{frame}
\begin{frame}[<+->][fragile]{DANKE}
\begin{verbatim}
-2014-05-12 12:32:26 [2858] 1WjPOs-0000k4-B5 Completed
+2015-03-21 15:32:26 [2858] 1WjPOs-0000k4-B5 Completed
\end{verbatim}
\pause
\vfill
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dia/callout-cutthrough.dia Fri Mar 20 18:08:07 2015 +0100
@@ -0,0 +1,501 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
+ <dia:diagramdata>
+ <dia:attribute name="background">
+ <dia:color val="#ffffff"/>
+ </dia:attribute>
+ <dia:attribute name="pagebreak">
+ <dia:color val="#000099"/>
+ </dia:attribute>
+ <dia:attribute name="paper">
+ <dia:composite type="paper">
+ <dia:attribute name="name">
+ <dia:string>#A4#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="tmargin">
+ <dia:real val="2.8222000598907471"/>
+ </dia:attribute>
+ <dia:attribute name="bmargin">
+ <dia:real val="2.8222000598907471"/>
+ </dia:attribute>
+ <dia:attribute name="lmargin">
+ <dia:real val="2.8222000598907471"/>
+ </dia:attribute>
+ <dia:attribute name="rmargin">
+ <dia:real val="2.8222000598907471"/>
+ </dia:attribute>
+ <dia:attribute name="is_portrait">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ <dia:attribute name="scaling">
+ <dia:real val="1"/>
+ </dia:attribute>
+ <dia:attribute name="fitto">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="grid">
+ <dia:composite type="grid">
+ <dia:attribute name="width_x">
+ <dia:real val="1"/>
+ </dia:attribute>
+ <dia:attribute name="width_y">
+ <dia:real val="1"/>
+ </dia:attribute>
+ <dia:attribute name="visible_x">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:attribute name="visible_y">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:composite type="color"/>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#d8e5e5"/>
+ </dia:attribute>
+ <dia:attribute name="guides">
+ <dia:composite type="guides">
+ <dia:attribute name="hguides"/>
+ <dia:attribute name="vguides"/>
+ </dia:composite>
+ </dia:attribute>
+ </dia:diagramdata>
+ <dia:layer name="Background" visible="true" active="true">
+ <dia:object type="Standard - Text" version="1" id="O0">
+ <dia:attribute name="obj_pos">
+ <dia:point val="1.5,2.12212"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="1.5,1.08212;4.555,3.16212"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#RCPT TO:<...>
+DATA
+...
+.#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.52916664630174637"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="1.5,1.47462"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="2"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O1">
+ <dia:attribute name="obj_pos">
+ <dia:point val="8.68364,0.438164"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="8.68364,0.0456637;12.4586,3.71316"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#EHLO ...
+MAIL FROM:<...>
+RCPT TO:<...>
+DATA
+...
+.
+#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.52916664630174637"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="8.68364,0.438164"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="3"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Line" version="0" id="O2">
+ <dia:attribute name="obj_pos">
+ <dia:point val="9.01974,4.01724"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="9.01974,3.7677;13.5,4.27089"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="9.01974,4.01724"/>
+ <dia:point val="13.5,4.02134"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:attribute name="line_color">
+ <dia:color val="#1a1a1a"/>
+ </dia:attribute>
+ <dia:attribute name="line_width">
+ <dia:real val="0"/>
+ </dia:attribute>
+ <dia:attribute name="start_arrow">
+ <dia:enum val="22"/>
+ </dia:attribute>
+ <dia:attribute name="start_arrow_length">
+ <dia:real val="0.5"/>
+ </dia:attribute>
+ <dia:attribute name="start_arrow_width">
+ <dia:real val="0.5"/>
+ </dia:attribute>
+ <dia:attribute name="end_arrow">
+ <dia:enum val="22"/>
+ </dia:attribute>
+ <dia:attribute name="end_arrow_length">
+ <dia:real val="0.5"/>
+ </dia:attribute>
+ <dia:attribute name="end_arrow_width">
+ <dia:real val="0.5"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O3">
+ <dia:attribute name="obj_pos">
+ <dia:point val="1.5,4.02135"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="1.5,3.6926;3.575,4.3501"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#250 OK#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.70555552840232849"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="1.5,4.2176"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="2"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:group>
+ <dia:object type="Standard - Box" version="0" id="O4">
+ <dia:attribute name="obj_pos">
+ <dia:point val="6,3.15532"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="6,3.15532;8.5,4.88737"/>
+ </dia:attribute>
+ <dia:attribute name="elem_corner">
+ <dia:point val="6,3.15532"/>
+ </dia:attribute>
+ <dia:attribute name="elem_width">
+ <dia:real val="2.5"/>
+ </dia:attribute>
+ <dia:attribute name="elem_height">
+ <dia:real val="1.7320508075688772"/>
+ </dia:attribute>
+ <dia:attribute name="border_width">
+ <dia:real val="0"/>
+ </dia:attribute>
+ <dia:attribute name="border_color">
+ <dia:color val="#1a1a1a"/>
+ </dia:attribute>
+ <dia:attribute name="show_background">
+ <dia:boolean val="true"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O5">
+ <dia:attribute name="obj_pos">
+ <dia:point val="7.25,4.02135"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="6.8125,3.6926;7.6875,4.3501"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#MX#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.70555552840232849"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="7.25,4.2176"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="2"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O4" connection="8"/>
+ </dia:connections>
+ </dia:object>
+ </dia:group>
+ <dia:object type="Standard - Line" version="0" id="O6">
+ <dia:attribute name="obj_pos">
+ <dia:point val="1,3.15532"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="1,2.90532;5,3.40532"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="1,3.15532"/>
+ <dia:point val="5,3.15532"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:attribute name="line_color">
+ <dia:color val="#1a1a1a"/>
+ </dia:attribute>
+ <dia:attribute name="line_width">
+ <dia:real val="0"/>
+ </dia:attribute>
+ <dia:attribute name="end_arrow">
+ <dia:enum val="22"/>
+ </dia:attribute>
+ <dia:attribute name="end_arrow_length">
+ <dia:real val="0.5"/>
+ </dia:attribute>
+ <dia:attribute name="end_arrow_width">
+ <dia:real val="0.5"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Line" version="0" id="O7">
+ <dia:attribute name="obj_pos">
+ <dia:point val="5,4.88737"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="1.03227,4.63737;5,5.13737"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="5,4.88737"/>
+ <dia:point val="1.03227,4.88737"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:attribute name="line_color">
+ <dia:color val="#1a1a1a"/>
+ </dia:attribute>
+ <dia:attribute name="line_width">
+ <dia:real val="0"/>
+ </dia:attribute>
+ <dia:attribute name="end_arrow">
+ <dia:enum val="22"/>
+ </dia:attribute>
+ <dia:attribute name="end_arrow_length">
+ <dia:real val="0.5"/>
+ </dia:attribute>
+ <dia:attribute name="end_arrow_width">
+ <dia:real val="0.5"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O8">
+ <dia:attribute name="obj_pos">
+ <dia:point val="1.11329,2.88774"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="0.93329,2.55899;1.29329,3.21649"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#1#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.70555552840232849"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="1.11329,3.08399"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="2"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O9">
+ <dia:attribute name="obj_pos">
+ <dia:point val="11.2325,3.69825"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="11.0525,3.3695;11.4125,4.027"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#2#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.70555552840232849"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="11.2325,3.8945"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="2"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O10">
+ <dia:attribute name="obj_pos">
+ <dia:point val="4.5,4.56811"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="4.32,4.23936;4.68,4.89686"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#3#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.70555552840232849"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="4.5,4.76436"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="2"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:group>
+ <dia:object type="Standard - Box" version="0" id="O11">
+ <dia:attribute name="obj_pos">
+ <dia:point val="14,3.15532"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="14,3.15532;16.8988,4.88737"/>
+ </dia:attribute>
+ <dia:attribute name="elem_corner">
+ <dia:point val="14,3.15532"/>
+ </dia:attribute>
+ <dia:attribute name="elem_width">
+ <dia:real val="2.8987850423728823"/>
+ </dia:attribute>
+ <dia:attribute name="elem_height">
+ <dia:real val="1.7320500000000001"/>
+ </dia:attribute>
+ <dia:attribute name="border_width">
+ <dia:real val="0"/>
+ </dia:attribute>
+ <dia:attribute name="border_color">
+ <dia:color val="#1a1a1a"/>
+ </dia:attribute>
+ <dia:attribute name="show_background">
+ <dia:boolean val="true"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O12">
+ <dia:attribute name="obj_pos">
+ <dia:point val="15.4494,4.02135"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="14.6169,3.6926;16.2819,4.3501"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#intern#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.70555552840232849"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="15.4494,4.2176"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="2"/>
+ </dia:attribute>
+ <dia:connections>
+ <dia:connection handle="0" to="O11" connection="8"/>
+ </dia:connections>
+ </dia:object>
+ </dia:group>
+ </dia:layer>
+</dia:diagram>
--- a/frames/acl.tex Fri Mar 20 13:01:27 2015 +0100
+++ b/frames/acl.tex Fri Mar 20 18:08:07 2015 +0100
@@ -1,5 +1,5 @@
\section{Access Control Lists}
-\subsection{Konfiguration}
+%\subsection{Konfiguration}
\begin{frame}[<+->][fragile]{Acess Control Lists}
Für jede Phase der SMTP-Kommunikation gibt es einen ACL-Block
@@ -28,7 +28,7 @@
\end{small}
\end{frame}
-\subsection{Features}
+%\subsection{Features}
\begin{frame}[<+->][fragile]{Access Control Lists}{Features}
Zugriff auf \textbf{alles}, was an Information verfügbar ist, u.a.:
@@ -49,7 +49,8 @@
\end{frame}
-\subsection{Beispiel ACL}
+\section{Beispiel}
+\subsection{„Vereinzler“}
\begin{frame}[<+->][fragile]{Access Control Lists}{Beispiel}
\begin{block}{Aufgabe}
--- a/frames/callforward.tex Fri Mar 20 13:01:27 2015 +0100
+++ b/frames/callforward.tex Fri Mar 20 18:08:07 2015 +0100
@@ -1,4 +1,3 @@
-\subsection{EmiG}
\begin{frame}[<+->][fragile]{Beispiel: Empfängerüberprüfung}{Callforward}
\begin{block}{Aufgabenstellung}
Exim sei MX und soll Nachrichten an einen internen Server weiterleiten,
@@ -6,9 +5,9 @@
\end{block}
\begin{block}{Lösung?}
\begin{itemize}
- \item Nutzerdatenbank duplizieren
- \item Nutzerdatenbank (LDAP, AD, …) anzapfen?
- \item Also: die Entscheidung an den internen MTA zu delegieren.
+ \item Nutzerdatenbank duplizieren
+ \item Nutzerdatenbank (LDAP, AD, …) anzapfen?
+ \item Also: die Entscheidung an den internen MTA zu delegieren.
\end{itemize}
\end{block}
\begin{block}{Lösung!}
@@ -50,3 +49,27 @@
\scriptsize
\ttinput{out/callout-not-ok.tt}
\end{frame}
+
+\begin{frame}[<+->][fragile]{Beispiel: Empfängerüberprüfung}{Callforward + Cutthrough}
+\begin{verbatim}
+begin acl
+
+ acl_check_recipient:
+ …
+ deny domains = +internal_domains
+ control = cutthrough_delivery
+ !verify = recipient/callout=use_sender,defer_ok
+ accept
+
+\end{verbatim}
+\includegraphics[width=0.8\textwidth]{callout-cutthrough.eps}
+\begin{itemize}
+ \item Delivery nach intern noch während der externen Session
+ \item Resultat DATA wird nach außen weitergegeben
+\end{itemize}
+\end{frame}
+
+\begin{frame}[<+->][fragile]{Test Callforward}{cutthrough}
+\scriptsize
+\ttinput{out/cutthrough.tt}
+\end{frame}
--- a/frames/emig.tex Fri Mar 20 13:01:27 2015 +0100
+++ b/frames/emig.tex Fri Mar 20 18:08:07 2015 +0100
@@ -1,5 +1,5 @@
-\subsection{EmiG}
-\begin{frame}[<+->][fragile]{Beispiel: DANE für Arme}{Emig}
+\subsection{DANE für Arme}
+\begin{frame}[<+->][fragile]{Beispiel: DANE für Arme}{}
\begin{block}{Aufgabenstellung}
Es existiere ein JSON-File (\verb=mxinfra.json=), in dem je MX-Host die
SSL-Zertifikatsinformation liegt. Nun soll Exim, wenn er sich mit einem
--- a/frames/konfiguration.tex Fri Mar 20 13:01:27 2015 +0100
+++ b/frames/konfiguration.tex Fri Mar 20 18:08:07 2015 +0100
@@ -1,6 +1,6 @@
% konfiguration
\section{Konfiguration}
-\subsection{File}
+%\subsection{File}
\begin{frame}[<+->][fragile]{Konfiguration}{File}
\begin{itemize}
@@ -14,7 +14,7 @@
\end{itemize}
\end{frame}
-\subsection{Struktur}
+%\subsection{Struktur}
\begin{frame}[<+->][fragile]{Konfiguration}{Struktur}
Strukturiertes Konfigurationsfile mit mehreren Abschnitten, teilweise
@@ -42,7 +42,7 @@
\end{description}
\end{frame}
-\subsection{Syntax}
+%\subsection{Syntax}
\begin{frame}[fragile]{Konfiguration}{Syntax}
\begin{block}{Macros, Kommentar, lange Zeilen}
@@ -66,7 +66,7 @@
allen Spielarten.
\end{frame}
-\subsection{String-Expansion}
+%\subsection{String-Expansion}
\begin{frame}[<+->][fragile]{Konfiguration}{Expansion}
Etwa die Hälfte der Konfigurationsdirektiven erlaubt Variablensubstitution (Expansion)
--- a/frames/routing.tex Fri Mar 20 13:01:27 2015 +0100
+++ b/frames/routing.tex Fri Mar 20 18:08:07 2015 +0100
@@ -1,5 +1,5 @@
\section{Routing}
-\subsection{Ablauf und Konfiguration}
+%\subsection{Ablauf und Konfiguration}
\begin{frame}[<+->][fragile]{Routing}{Allgemein}
\begin{itemize}
@@ -38,7 +38,7 @@
\end{description}
\end{frame}
-\subsection{Test}
+%\subsection{Test}
\begin{frame}[fragile]{Routing}{Test}
\begin{alltt}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/frames/single-recipient.tex Fri Mar 20 18:08:07 2015 +0100
@@ -0,0 +1,37 @@
+\begin{frame}[<+->][fragile]{Beispiel: Alle Empfänger in der selben Domain}{}
+\begin{block}{Aufgabenstellung}
+Aus diversen Gründen (Spam-Policy per Domain, …) sollen nur weitere
+Empfänger akteptiert werden, wenn diese zur selben Domain gehören wie
+der erste Empfänger
+\end{block}
+\begin{block}{Lösung in ACL}
+\begin{itemize}
+ \item erster Empfänger wird aktzeptert, Domain wird „gemerkt“:
+ ACL-Variable
+ \item weitere Empfänger werden gegen diese „gemerkte“ Domain
+ geprüft
+\end{itemize}
+\end{block}
+
+\begin{block}{ACL Konfiguration}
+\begin{verbatim}
+begin acl
+ …
+ acl_check_rcpt:
+ …
+ defer condition = ${if >={$recipients_count}{1}}
+ domains = !$acl_c_domain
+ message = same domain as 1st rcpt please ($acl_c_domain)
+
+ accept verify = recipient
+ set acl_c_domain = $domain
+
+ deny message = sorry
+\end{verbatim}
+\end{block}
+\end{frame}
+
+\begin{frame}[<+->][fragile]{Test Callforward}{existierender Empfänger}
+\scriptsize
+\ttinput{out/callout-ok.tt}
+\end{frame}
--- a/frames/smart.tex Fri Mar 20 13:01:27 2015 +0100
+++ b/frames/smart.tex Fri Mar 20 18:08:07 2015 +0100
@@ -1,6 +1,6 @@
-\subsection{Viele Smarthosts}
+\subsection{Source based Routing}
-\begin{frame}[<+->][fragile]{Beispiel: Source based Routing}{Viele Smarthosts - Vorversuche}
+\begin{frame}[<+->][fragile]{Beispiel: Source based Routing}{Vorversuche}
\begin{block}{Aufgabe}
Wir haben mehrere Smarthosts und müssen je nach Sender-Adresse über
einen anderen Smarthost versenden.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/out/cutthrough.tt Fri Mar 20 18:08:07 2015 +0100
@@ -0,0 +1,33 @@
+swaks --attach eicar.com -f hs@schlittermann.de -t hs@schlittermann.de --pipe 'exim -bhc 8.8.4.4'
+=== Trying pipe to exim -bhc 8.8.4.4...
+<- **** SMTP testing session as if from host 8.8.4.4
+<- **** This is not for real!
+<- 220 hs12.schlittermann.de ESMTP Exim 4.85_RC1-53-a466d09-XX Fri, 20 Mar 2015 14:04:10 +0100
+…
+>>> using ACL "acl_check_rcpt"
+>>> check control = cutthrough_delivery
+>>> check !verify = recipient/callout=use_sender,defer_ok
+>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+>>> routing hs@schlittermann.de
+…
+>>> SMTP>> EHLO hs12.schlittermann.de
+>>> SMTP<< 250-ssl.schlittermann.de Hello hs12.schlittermann.de [84.19.194.10]
+>>> SMTP>> MAIL FROM:<hs@schlittermann.de>
+>>> SMTP<< 250 OK
+>>> SMTP>> RCPT TO:<hs@schlittermann.de>
+>>> SMTP<< 250 Accepted
+ -> DATA
+>>> processing "accept"
+ …
+ -> WDVPIVAlQEFQWzRcUFpYNTQoUF4pN0NDKTd9JEVJQ0FSLVNUQU5EQVJELUFOVElWSVJVUy1URVNU
+ -> LUZJTEUhJEgrSCogCg==
+>>> SMTP>> .
+>>> SMTP<< 550-Classified by clamav as malware (Eicar-Test-Signature).
+>>> 550-Server time: Fri, 20 Mar 2015 14:04:14 +0100
+>>> 550 Server spool id: 1YYwaz-0007uU-UZ
+>>> SMTP>> QUIT
+>>> ----------- cutthrough shutdown (target timeout on read) ------------
+<** 550-Classified by clamav as malware (Eicar-Test-Signature).
+<** 550-Server time: Fri, 20 Mar 2015 14:04:14 +0100
+<** 550 Server spool id: 1YYwaz-0007uU-UZ
+ -> QUIT