Mercurial > docs > masqmail-cs
view masqmail.tex @ 4:1197518aa221
content about ch04
author | meillo@marmaro.de |
---|---|
date | Tue, 03 Mar 2009 13:40:07 +0100 |
parents | 40968008fe7c |
children | 282b52d9de09 |
line wrap: on
line source
% chaos seminar talk about masqmail % % markus schnalke <meillo@marmaro.de> % since 2009-02-24 \documentclass{beamer} \title{masqmail} \author{markus schnalke} \date{2009-03-09} \usepackage[utf8]{inputenc} \usepackage{url} \usepackage{graphicx} \setlength{\parskip}{2.0ex plus 1.0ex minus 0.5ex} \newcommand{\secframe}[1]{ \section{#1} \frame{ \vfill\vfill \centerline{ \huge #1 } \vfill } } \newcommand{\ft}[1]{ \frametitle{#1} } \newcommand{\oneline}[1]{ \frame{ \vfill\vfill \centerline{#1} \vfill } } \begin{document} \frame{ \vspace{8em} \begin{center} {\huge\bf masqmail} a mail transfer agent for workstations and small networks \vspace{6em} { \tiny markus schnalke \textless{}meillo@marmaro.de\textgreater{} } \end{center} } \secframe{about me} \frame{\ft{markus schnalke} \textbf{past} Business Information Systems\\ at University of Applied Sciences, Ulm Diploma Thesis about masqmail \textbf{future} Master in Informatics\\ here at University, Ulm } \frame{\ft{I am interested in} Unix Philosophy suckless software Free Software Debian } \secframe{this talk} \frame{ \ft{overview} 1) prerequisites (xx\%) 2) about masqmail (xx\%) 3) the thesis (xx\%) 4) help me to help masqmail (xx\%) } \secframe{email? MTA? \dots} \frame{\ft{What are MTAs} MTA = Mail Transfer Agent the post offices of email MTAs transfer mail from senders to recipients } \frame{\ft{mail agents} \begin{center} \includegraphics[width=0.8\textwidth]{fig/mail-agents.eps} \end{center} } \oneline{questions?} \secframe{about masqmail} \frame{ \ft{what is masqmail} an MTA a small one one for special setups } \frame{ \ft{masqmail's niche} non-permanent online connections over multiple providers especially for workstations and small networks also notebooks } \frame{ \ft{history} written by Oliver Kurth 1999 -- 2003 GPL about 9\,000 SLOC } \frame{\ft{guessed} initially written to use masqdialer-controlled online connections thus: source of the name (``masq\dots'') (not ``\dots qmail'') } \frame{ \ft{masqmail today} development stopped in 2003 not maintained even its website is down but included in Debian, Ubuntu, Arch, Mandriva, FreeBSD } \frame{ \ft{value of masqmail} covers a niche has unique features has users! } \frame{ \ft{problems of masqmail} no further development unfixed bugs emailing has changed } \oneline{questions?} \secframe{when I met masqmail} \frame{\ft{using unmaintained software} Fall 2007: started to use masqmail Spring 2008: realized it is unmaintained in Debian A situation to be changed ... but by whom? ... me? No! } \frame{\ft{solving two problems} Summer 2008: problem: find a topic for the diploma thesis the great idea: solve both problems in once - \textbf{use the diploma thesis to revive masqmail} - \textbf{use masqmail to do a great diploma thesis} } \frame{\ft{advising professor} Professor Sch\"affter thanks! } \frame{\ft{motivation} \textbf{motivation} - for myself - for the community \textbf{thus} - in English - free available } \frame{\ft{guiding principle} \begin{center} \it Do what you think is interesting,\\ do something that you think is fun and worthwhile,\\ because otherwise you won't do it well anyway. ---Brian~W.\ Kernighan--- \end{center} } \secframe{the thesis in short} %\frame{\ft{planned was} % %1) purpose and structure of an MTA/of masqmail % %2) security analysis % %3) code improvements % %4) documentation, test, distribution % %With the goal to release a new version and get it into Debian % %} % % %\frame{\ft{however, it resulted in} % %1) introduction % %2) market analysis % %3) mail transfer agents % %4) masqmail's present and future % %5) improvement plans % %Became pretty theoretic (I don't worry) % %} \frame{ \ft{ch01: introduction} general prerequisites the masqmail project value and problems of masqmail \textbf{$\Rightarrow$ reasons to do this thesis} } \frame{ \ft{ch02: market analysis} classification, life cycle, and trends of electronic communication SWOT and trends for email \textbf{$\Rightarrow$ show that email is expected to survive} } \frame{ \ft{ch03: mail transfer agents} classification of MTAs masqmail's competitors short comparison \textbf{$\Rightarrow$ provide knowledge for following chapters} } \frame{ \ft{ch04: masqmail's present and future} the goal (revive masqmail) requirements \quad\quad fulfilled requirements \quad\quad work to do ways for further development result \textbf{$\Rightarrow$ the core of the thesis: a plan to revive masqmail} } \frame{ \ft{ch05: improvement plans} more detailed descriptions of the work tasks \textbf{$\Rightarrow$ recommendations how to do the proposed changes} } \oneline{questions?} \secframe{in detail: ch03 MTAs} \frame{\ft{MTAs} - relay-only MTAs (forwarders): nullmailer, ssmtp - groupware: Lotus Notes, Exchange, opengroupware.org - ``real'' MTAs: sendmail, exim, qmail, postfix, masqmail } \frame{\ft{market shares} \input{tbl/mta-market-share.tbl} } \frame{\ft{comparison} \input{tbl/mta-comparison.tbl} } \frame{\ft{why not sendmail} - too large - too complex - structurally insecure - simply obsolete } \frame{\ft{why not exim} - too large - designed for always online hosts } \frame{\ft{why not qmail} - outdated - designed for always online hosts with fast connections } \frame{\ft{why not postfix} - too large - not designed for masqmail's scenario } \frame{\ft{in summary} - other MTAs are bad substitutes for masqmail - though they seem to be generally able to be substitutes } \oneline{comments and annotations?} \secframe{in detail: ch04 present and future} \frame{\ft{functional requirements} \input{tbl/func-requirements.tbl} } \frame{\ft{non-functional requirements} \input{tbl/nonf-requirements.tbl} } \frame{\ft{work tasks} TODO\,1: Encryption TODO\,2: Authentication TODO\,3: Security TODO\,4: Reliability TODO\,5: Spam handling TODO\,6: Extendability } \frame{\ft{further development} - improve existing code - add wrappers and interposition filters - redesign and rewrite from scratch } \frame{\ft{architecture} \begin{center} \includegraphics[width=0.8\textwidth]{fig/callgraph.eps} \end{center} } \frame{\ft{the result} ``one fits all'' is not possible hence: different strategies for different goals short-term goal: keep masqmail usable\\ \quad\quad$\rightarrow$ improve existing code long-term goal: make masqmail future-proof\\ \quad\quad$\rightarrow$ recreate it from scratch disadvantage: more work } \secframe{in detail: ch05.1 existing code} \frame{\ft{masqmail's code base} C ~ 9,000 SLOC } \secframe{in detail: ch05.2 new design} \frame{\ft{FIXME} } \secframe{HELP!} \frame{\ft{FIXME} } \frame{ \vfill\vfill \centerline{\textbf{Thanks for your attention}} \vfill } \frame{\ft{links} --all urls-- } \frame{ \ft{software used} Debian GNU/Linux \LaTeX\ with the beamer classes Vim, latexmk, and Mercurial \vfill {\scriptsize The slides are available on \url{http://marmaro.de/docs} \hfill 2009-03-09 } } \end{document} \url{http://ulm.ccc.de/ChaosSeminar/2009/03_masqmail}