changeset 5:282b52d9de09

wrote parts about ch05 and about help; cleanups
author meillo@marmaro.de
date Thu, 05 Mar 2009 23:01:54 +0100
parents 1197518aa221
children 00207c2995ae
files masqmail.tex
diffstat 1 files changed, 219 insertions(+), 40 deletions(-) [+]
line wrap: on
line diff
--- a/masqmail.tex	Tue Mar 03 13:40:07 2009 +0100
+++ b/masqmail.tex	Thu Mar 05 23:01:54 2009 +0100
@@ -62,18 +62,18 @@
 
 \frame{\ft{markus schnalke}
 
-\textbf{past}
+past:
 
-Business Information Systems\\
-at University of Applied Sciences, Ulm
+\qquad Business Information Systems\\
+\qquad at University of Applied Sciences, Ulm
 
-Diploma Thesis about masqmail
+\qquad Diploma Thesis about masqmail
 
 
-\textbf{future}
+future:
 
-Master in Informatics\\
-here at University, Ulm
+\qquad Master in Informatics\\
+\qquad here at University, Ulm
 
 }
 
@@ -104,7 +104,7 @@
 
 3) the thesis (xx\%)
 
-4) help me to help masqmail (xx\%)
+4) help wanted (xx\%)
 
 }
 
@@ -186,7 +186,7 @@
 
 GPL
 
-about 9\,000 SLOC
+about 9\,000 lines of C
 
 }
 
@@ -256,37 +256,44 @@
 \secframe{when I met masqmail}
 
 
-\frame{\ft{using unmaintained software}
+\frame{\ft{Fall 2007}
+
+started to use masqmail
 
-Fall 2007: started to use masqmail
+}
 
-Spring 2008: realized it is unmaintained in Debian
+\frame{\ft{Spring 2008}
+
+problem: realized it is unmaintained in Debian
 
 A situation to be changed ... but by whom?
 
-... me? No!
+\dots me? No!
 
 }
 
 
-\frame{\ft{solving two problems}
-
-Summer 2008:
+\frame{\ft{Summer 2008}
 
 problem: find a topic for the diploma thesis
 
+}
+
+
+\frame{\ft{while lying in bed some night}
+
 the great idea: solve both problems in once
 
-- \textbf{use the diploma thesis to revive masqmail}
+1) \textbf{use the diploma thesis to revive masqmail}
 
-- \textbf{use masqmail to do a great diploma thesis}
+2) \textbf{use masqmail to do a great diploma thesis}
 
 }
 
 
 \frame{\ft{advising professor}
 
-Professor Sch\"affter
+professor Markus Sch\"affter
 
 thanks!
 
@@ -295,19 +302,19 @@
 
 
 
-\frame{\ft{motivation}
+\frame{\ft{logical decisions}
 
-\textbf{motivation}
+motivation:
 
-- for myself
+\qquad for myself
 
-- for the community
+\qquad for the community
 
-\textbf{thus}
+thus:
 
-- in English
+\qquad write in English
 
-- free available
+\qquad make the thesis free available
 
 }
 
@@ -461,11 +468,17 @@
 
 \frame{\ft{MTAs}
 
-- relay-only MTAs (forwarders): nullmailer, ssmtp
+relay-only MTAs (forwarders):
+
+\qquad nullmailer, ssmtp
+
+groupware:
 
-- groupware: Lotus Notes, Exchange, opengroupware.org
+\qquad Lotus Notes, Exchange, opengroupware.org
 
-- ``real'' MTAs: sendmail, exim, qmail, postfix, masqmail
+``real'' MTAs:
+
+\qquad sendmail, exim, qmail, postfix, masqmail
 
 }
 
@@ -519,6 +532,8 @@
 
 - too large
 
+- too complex
+
 - not designed for masqmail's scenario
 
 }
@@ -583,11 +598,15 @@
 
 \frame{\ft{further development}
 
-- improve existing code
+1) improve existing code
+
+2) add wrappers and interposition filters
 
-- add wrappers and interposition filters
+3) redesign and rewrite from scratch
 
-- redesign and rewrite from scratch
+\quad
+
+$1) + 2) = 13$ \quad vs. \quad $3) = 17$
 
 }
 
@@ -609,16 +628,17 @@
 hence: different strategies for different goals
 
 short-term goal: keep masqmail usable\\
-\quad\quad$\rightarrow$ improve existing code
+\qquad $\rightarrow$ improve existing code
 
 long-term goal: make masqmail future-proof\\
-\quad\quad$\rightarrow$ recreate it from scratch
+\qquad $\rightarrow$ recreate it from scratch
 
 disadvantage: more work
 
 }
 
 
+\oneline{questions?}
 
 
 
@@ -631,16 +651,43 @@
 
 
 
-\frame{\ft{masqmail's code base}
+\frame{\ft{TODO 1: Encryption}
+
+STARTTLS
 
-C
+qmail patch as template
 
-~ 9,000 SLOC
+affected files: smtp\_in.c, smtp\_out.c, conf.c
 
 }
 
 
 
+\frame{\ft{TODO 2: Authentication}
+
+static: TCP Wrapper
+
+dynamic: SMTP-AUTH with SASL
+
+affected files: smtp\_in.c, smtp\_out.c, conf.c
+
+}
+
+
+
+\frame{\ft{TODO 3: Security}
+
+mail security layers
+
+\begin{center}
+\includegraphics[width=\textwidth]{fig/proxy-setup.eps}
+\end{center}
+
+}
+
+
+\oneline{questions?}
+
 
 
 
@@ -649,19 +696,149 @@
 
 \secframe{in detail: ch05.2 new design}
 
-\frame{\ft{FIXME}
+\frame{\ft{design goals}
+
+throughout compartmentalization
+
+free internal system from in and out channels
+
+single point for scanning
+
+concentrate on mail transfer
+
+keep it simple, clear, and general
+
+}
+
+\frame{\ft{incoming channels}
+
+arbitrary protocol handlers
+
+one single module that puts the mail into the queue
+
+}
+
+\frame{\ft{queueing}
+
+reliable queue
+
+preferably the system's native format
+
+}
+
+\frame{\ft{mail sanitizing}
+
+qmail: ``don't parse'' $\rightarrow$ parse very carefully
+
+Jon Postel's robustness principle
 
 }
 
+\frame{\ft{authentication and encryption}
+
+in receiving and sending modules (?)
+
+with library code
+
+}
+
+\frame{\ft{spam and malware handling}
+
+receiving modules vs. a scanning module
+
+in both places?
+
+}
+
+\frame{\ft{route management}
+
+the thing special to masqmail
+
+done just before the outgoing modules
+
+}
+
+\frame{\ft{outgoing channels}
+
+modules for each protocol
+
+no own MDA, only a pipe module
+
+}
+
+\frame{\ft{the proposed architecture}
+
+\begin{center}
+\includegraphics[width=0.9\textwidth]{fig/masqmail-arch-new.eps}
+\end{center}
+
+}
+
+
+\oneline{questions?}
+
 
 
 
 
+\secframe{help wanted!}
 
-\secframe{HELP!}
+
+\frame{\ft{work to do}
+
+add encryption, authentication, security
+
+fix bugs
+
+documentation
+
+user guides and ``marketing''
+
+create the new masqmail
+
+}
+
+
+\frame{\ft{current team}
+
+\tiny me
+
+}
 
 
-\frame{\ft{FIXME}
+\frame{\ft{}
+
+project site:
+
+\qquad \url{http://prog.marmaro.de/masqmail}
+
+mailing list:
+
+\qquad masqmail@marmaro.de
+
+}
+
+
+\frame{\ft{Debian}
+
+I search for a DD to sponsor my masqmail work
+
+please contact me!
+
+}
+
+
+\frame{\ft{you!}
+
+I welcome your help!
+
+I appreciate your advice!
+
+I am thankful for your comments!
+
+\quad
+
+\textbf{help masqmail}
 
 }
 
@@ -695,6 +872,8 @@
 
 Vim, latexmk, and Mercurial
 
+diagrams: PIC and groff
+
 \vfill
 
 {\scriptsize The slides are available on \url{http://marmaro.de/docs} \hfill 2009-03-09 }