--- a/mk2014.tex Fri May 09 10:38:05 2014 +0200
+++ b/mk2014.tex Fri May 09 13:26:43 2014 +0200
@@ -29,163 +29,30 @@
\tableofcontents
\end{frame}
-\section{Exim - Entwicklung und Positionierung}
+% --
\input{frames/exim.tex}
-\section{Arbeitsweise und Anatomie}
+% --
\input{frames/anatomie.tex}
-% --
+% -- Config
\input{frames/konfiguration.tex}
-\section{Routing}
-\subsection{Ablauf}
-
-\begin{frame}[fragile]{Routing}{Allgemein}
-\begin{itemize}
-\item Adresse wird an eine Kette von Routern übergeben (Reihenfolge!)
-\item Router entscheiden über den Fortgang der Bearbeitung
-\item Vorbedingungen entscheiden, ob der Router „befragt“ wird
-\item Router liefern für eine gegebene Adresse
- \begin{description}
- \item[accept] Zuordnung zu Transport oder erzeugung neuer Adressen
- \item[pass] Weitergabe an anderen Router
- \item[decline] Verweigerung
- \item[fail] Bounce wird generiert
- \item[defer] falscher Augenblick
- \item[error] Panik
- \end{description}
-\item werden auch von ACL genutzt (Adressüberpüfung)
-\item Router: dnslookup, manualroute, queryprogram, redirect, accept
-\item einfache Tests sind möglich mit \verb=exim -bt= (Adresstest -
- Routing) bzw. \verb=exim -bv= (Adressüberprüfung - ACL)
-\end{itemize}
-\end{frame}
-
-\subsection{Konfiguration}
+% -- Routing
+\input{frames/routing.tex}
-\begin{frame}[fragile]{Routing}{Konfiguration}
-Für jeden Router-Block
-\begin{itemize}
-\item Treiber
-\item Vorbedingungen (\verb=check_local_user=, \verb=domains=, \verb=condition=, …)
-\item Generische Optionen (\verb=caseful_local_part=, \verb=local_part_prefix=, …)
-\end{itemize}
-%\scriptsize
-\verbatiminput{routers.conf}
-\end{frame}
-
-\begin{frame}{Routing}{Schema}
-\includegraphics[width=0.8\textwidth,angle=270]{routing}
-\end{frame}
-
-\subsection{Test}
-
-\begin{frame}[fragile]{Routing}{Test}
-\begin{verbatim}
- $ exim -bt hans@example.com
- hans@example.com
- router = remote, transport = remote_smtp
- host example.com [2606:2800:220:6d:26bf:1447:1097:aa7]
- host example.com [93.184.216.119]
-
- $ exim -bt hans@localhost
- hans@example.com
- <-- hans@localhost
- router = remote, transport = remote_smtp
- host example.com [2606:2800:220:6d:26bf:1447:1097:aa7]
- host example.com [93.184.216.119]
-
- $ exim -bt heiko@localhost
- heiko@localhost
- router = mbox, transport = local_mbox
-\end{verbatim}
-\end{frame}
-
-\begin{frame}[fragile]{Routing}{Remote}
-\scriptsize
-\begin{alltt}
-\input{routingremote.tt}
-\end{alltt}
-\end{frame}
+% -- Transport
+\input{frames/transport.tex}
-\begin{frame}[fragile]{Routing}{Alias}
-\scriptsize
-\begin{alltt}
-\input{routingalias.tt}
-\end{alltt}
-\end{frame}
-
-\begin{frame}[fragile]{Routing}{Local}
-\scriptsize
-\begin{alltt}
-\input{routinglocal.tt}
-\end{alltt}
-\end{frame}
-
-\section{Transport}
-
-\begin{frame}[fragile]{Transports}
-Die Router referenzieren ggf. einen „transport“.
-\begin{itemize}
-\item Reihenfolge egal
-\item Generische Optionen: \verb=headers_remove=,
-\verb=envelope_to_add=, \verb=transport_filter=, \verb=user=
-\item Treiber hat weitere Optionen
-\item Transports: appendfile, autoreply, lmtp, pipe, smtp
-\item Default TLS, wenn STARTTLS geboten wird
-\end{itemize}
-\begin{alltt}
-\input{transports.conf}
-\end{alltt}
-\end{frame}
-
-\section{Access Control Lists}
-\subsection{Konfiguration}
+% -- ACL
+% \input{frames/acl.tex}
-\begin{frame}[<+->][fragile]{Acess Control Lists}
-Für jede Phase der SMTP-Kommunikation gibt es einen ACL-Einstiegspunkt.
-Abarbeitung der Regeln bis zur Entscheidung.
-\pause
-\begin{description}
-\item[accept] alles gut, keine weiteren Regeln
-\item[deny] permanenter Fehler und passender Text dazu
-\item[require] permanenter Fehler oder nächste Regel
-\item[warn] Protokollierung und nächste Regel
-\item[defer] temporärer Fehler
-\end{description}
-\pause
-Verweis auf Blöcke im ACL-Abschnitt der Konfiguration
-\begin{verbatim}
- acl_smtp_connect = acl_check_connect
- acl_smtp_rcpt = acl_check_rcpt
- acl_smtp_data = acl_check_data
-\end{verbatim}
-\end{frame}
+% -- Example Emil
+\input{frames/emil.tex}
-\begin{frame}[fragile]{Access Control Lists}{Konfiguration}
-\tiny
-\verbatiminput{acl.conf}
-\end{frame}
-
-\subsection{Features}
+% -- Example multiple smarthosts
+% \input{frames/smarthost.tex}
-\begin{frame}[<+->][fragile]{Access Control Lists}{Features}
-\begin{itemize}
- \item Zugriff auf alles, was an Information verfügbar ist
- \item Ratelimit mit beliebigen Keys
- \item Überprüfung von Adressen \verb+verify = recipient+
- \item Callout zur Überprüfung \verb+verify = recipient/callout=use_sender,defer_ok+
- \item DNS-Blacklists \verb+dnslists = sbl.spamhaus.org+
- \item Verschlüsselte Verbindung \verb+encrypted = *+
- \item Content-Scan \verb+malware = *+, \verb+spam = …+
- \item Header-Syntax \verb+verify = header_syntax+
- \item Reverse-DNS \verb+verify = reverse_host_lookup+
- \item ACL-Variablen für spätere Verarbeitung \verb+set acl_m_foo = bar+
- \item Sub-ACL \verb+acl = foo_acl+
- \item Generische Bedingung \verb+condition =+
-\end{itemize}
-\end{frame}
\section{Logging}