equal
deleted
inserted
replaced
17 \subsection{Struktur} |
17 \subsection{Struktur} |
18 |
18 |
19 \begin{frame}[<+->][fragile]{Konfiguration}{Struktur} |
19 \begin{frame}[<+->][fragile]{Konfiguration}{Struktur} |
20 Strukturiertes Konfigurationsfile mit mehreren Abschnitten, teilweise |
20 Strukturiertes Konfigurationsfile mit mehreren Abschnitten, teilweise |
21 miteinander verlinkt (Router referenziert Tranports, globaler Teil |
21 miteinander verlinkt (Router referenziert Tranports, globaler Teil |
22 referenziert ACL) |
22 referenziert ACL, ACL nutzt Router) |
23 \pause |
23 \pause |
24 \begin{small} |
24 \begin{small} |
25 \begin{verbatim} |
25 \begin{verbatim} |
26 … |
26 … |
27 begin acl |
27 begin acl |
30 … |
30 … |
31 \end{verbatim} |
31 \end{verbatim} |
32 \end{small} |
32 \end{small} |
33 \pause |
33 \pause |
34 \begin{description} |
34 \begin{description} |
35 \item[global] knapp 240 allgemeine Direktiven |
35 \item[(global)] etwa 250 allgemeine Direktiven |
36 \item[acl] Access Control Lists für SMTP |
36 \item[acl] Access Control Lists für SMTP |
37 \item[routers] Routing-Regeln (genutzt auch von ACL) |
37 \item[routers] Routing-Regeln (genutzt auch von ACL) |
38 \item[transports] Transport-Mechanismen |
38 \item[transports] Transport-Mechanismen |
39 \item[retry] Regeln für Wiederholungsversuche |
39 \item[retry] Regeln für Wiederholungsversuche |
40 \item[rewrite] Adress-Manipulation in Envelope und Header |
40 \item[rewrite] Adress-Manipulation in Envelope und Header |
45 \subsection{Syntax} |
45 \subsection{Syntax} |
46 |
46 |
47 \begin{frame}[fragile]{Konfiguration}{Syntax} |
47 \begin{frame}[fragile]{Konfiguration}{Syntax} |
48 \begin{block}{Macros, Kommentar, lange Zeilen} |
48 \begin{block}{Macros, Kommentar, lange Zeilen} |
49 \begin{verbatim} |
49 \begin{verbatim} |
50 # Super! |
50 # Kommentar sind Zeichen für schlechte Konfiguration :) |
51 CF = /etc/exim4/ |
|
52 USER_BASE = ou=users,BASE |
51 USER_BASE = ou=users,BASE |
53 BASE = dc=example,dc=com |
52 BASE = dc=example,dc=com |
54 received_header_text = Received: ${if def:sender_rcvhost \ |
53 received_header_text = Received: ${if def:sender_rcvhost \ |
55 from $sender_rcvhost\n\t}{${if def:sender_ident {from \ |
54 from $sender_rcvhost\n\t}{${if def:sender_ident {from \ |
56 … |
55 … |
80 \end{verbatim} |
79 \end{verbatim} |
81 \pause |
80 \pause |
82 \begin{description} |
81 \begin{description} |
83 \item[Variablen] \verb=$local_part=, \verb=${local_part}= |
82 \item[Variablen] \verb=$local_part=, \verb=${local_part}= |
84 \item[Operatoren] \verb=${md5:$local_part}=, \verb=${uc:$domain}= |
83 \item[Operatoren] \verb=${md5:$local_part}=, \verb=${uc:$domain}= |
85 \item[Manipulation] \verb=${sg{$local_part}{.laus}{XXX}}= |
84 \item[Funktionen] \verb=${sg{$local_part}{.laus}{XXX}}= |
86 \item[Bedingungen] \verb=${if eq{$local_part}{x}{~/mbox}{~/.mail}}= |
85 \item[Bedingungen] \verb=${if eq{$local_part}{x}{~/mbox}{~/.mail}}= |
87 \item[Key-Lookup] \verb=${lookup{$local_part}lsearch{/etc/aliases}}= |
86 \item[Lookup (Key)] \verb=${lookup{$local_part}lsearch{/etc/aliases}}= |
88 \item[Query-Lookup] \verb+${lookup dnsdb{mx=example.com}}+ |
87 \item[Lookup (Query)] \verb=${lookup psql{SELECT …}}= |
89 \end{description} |
88 \end{description} |
90 \end{frame} |
89 \end{frame} |
91 |
90 |
92 \begin{frame}[fragile]{String-Expansion}{Wenn nichts mehr geht} |
91 \begin{frame}[fragile]{String-Expansion}{Wenn nichts mehr geht} |
93 Als letzte Hilfe gibt es die Möglichkeit, Sockets auszulesen, Perl zu |
92 Als letzte Hilfe gibt es die Möglichkeit, Sockets auszulesen, Perl zu |
97 ${readsocket{<socket>}{<request>}} |
96 ${readsocket{<socket>}{<request>}} |
98 ${run{<command>[<arg>]…}} |
97 ${run{<command>[<arg>]…}} |
99 ${perl{<sub>}[{<arg>}…]} |
98 ${perl{<sub>}[{<arg>}…]} |
100 \end{verbatim} |
99 \end{verbatim} |
101 \pause |
100 \pause |
102 \begin{block}{Greylisting} |
101 \begin{block}{Beispiel: Greylisting} |
103 \begin{verbatim} |
102 \begin{verbatim} |
|
103 # source: http://schlittermann.de/doc/grey |
104 GREYKEY = $sender_address/$local_part@$domain |
104 GREYKEY = $sender_address/$local_part@$domain |
105 perl_startup = do '/etc/exim4/exim-exigrey.pl' |
105 # sub unseen() from perl script |
|
106 perl_startup = do '/etc/exim4/exim-exigrey.pm' |
106 acl_smtp_rcpt = acl_check_rcpt |
107 acl_smtp_rcpt = acl_check_rcpt |
107 … |
108 … |
108 begin acl |
109 begin acl |
109 cl_check_rcpt: |
110 cl_check_rcpt: |
110 … |
111 … |