meillo@0: % @file meillo@0: % @brief diploma presentation about masqmail meillo@0: % @author markus schnalke meillo@0: % @since 2009-02-11 meillo@0: meillo@0: meillo@0: \documentclass{beamer} meillo@0: meillo@1: \title{masqmail} meillo@1: \author{markus schnalke} meillo@1: \date{2009-02-12} meillo@0: meillo@1: \usepackage[utf8]{inputenc} meillo@1: \usepackage{url} meillo@1: \usepackage{graphicx} meillo@1: \setlength{\parskip}{2.0ex plus 1.0ex minus 0.5ex} meillo@0: meillo@1: \newcommand{\secframe}[1]{ meillo@1: \section{#1} meillo@1: \frame{ \vfill\vfill \centerline{ \huge #1 } \vfill } meillo@1: } meillo@1: meillo@1: meillo@0: meillo@0: \begin{document} meillo@0: meillo@0: meillo@0: \frame{ meillo@0: meillo@1: \vspace{8em} meillo@1: \begin{center} meillo@0: meillo@1: {\huge\bf masqmail} meillo@0: meillo@1: a mail transfer agent for workstations and small networks meillo@0: meillo@1: \vspace{6em} meillo@1: meillo@1: { \tiny meillo@1: markus schnalke \textless{}meillo@marmaro.de\textgreater{} meillo@1: } meillo@1: meillo@1: \end{center} meillo@0: } meillo@0: meillo@0: meillo@0: meillo@0: \frame{ \frametitle{overview} meillo@0: meillo@0: 1) about masqmail meillo@0: meillo@1: 2) short explanation of the thesis meillo@0: meillo@0: 3) experiences meillo@0: meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: \secframe{about masqmail} meillo@0: meillo@0: meillo@0: meillo@0: \frame{ \frametitle{what is masqmail} meillo@0: meillo@0: a small mail transfer agent (MTA) meillo@0: meillo@0: for non-permanent online connections meillo@0: meillo@0: over multiple providers meillo@0: meillo@0: written by Oliver Kurth between 1999-2003 meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: \frame{ \frametitle{value of masqmail} meillo@0: meillo@0: covers a niche meillo@0: meillo@0: has unique features meillo@0: meillo@0: has users! meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: \frame{ \frametitle{problems of masqmail} meillo@0: meillo@0: no further development since 2003 meillo@0: meillo@0: unmaintained meillo@0: meillo@0: emailing has changed meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@1: \secframe{short explanation of the thesis} meillo@0: meillo@0: meillo@0: meillo@0: \frame{ \frametitle{ch01: introduction} meillo@0: meillo@0: prerequisites meillo@0: meillo@0: the masqmail project meillo@0: meillo@0: value and problems of masqmail meillo@0: meillo@0: \textbf{$\Rightarrow$ reasons for this thesis} meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: meillo@0: \frame{ \frametitle{ch02: market analysis} meillo@0: meillo@0: classification, life cycle, and trends of electronic communication meillo@0: meillo@0: SWOT and trends for email meillo@0: meillo@0: \textbf{$\Rightarrow$ show that email will survive} meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: \frame{ \frametitle{ch03: mail transfer agents} meillo@0: meillo@0: classification of MTAs meillo@0: meillo@0: masqmail's competitors meillo@0: meillo@0: short comparison meillo@0: meillo@0: \textbf{$\Rightarrow$ provide knowledge for next chapters} meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: \frame{ \frametitle{ch04: masqmail's present and future} meillo@0: meillo@0: the goal (revive masqmail) meillo@0: meillo@0: requirements meillo@0: meillo@0: fulfilled requirements meillo@0: meillo@0: work to do meillo@0: meillo@0: ways for further development meillo@0: meillo@0: result meillo@0: meillo@0: \textbf{$\Rightarrow$ the core of the thesis: how to revive masqmail} meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: meillo@0: \frame{ \frametitle{digression: the result} meillo@0: meillo@0: ``one fits all'' is not possible meillo@0: meillo@0: hence: different strategies for different goals meillo@0: meillo@0: short-term goal: keep masqmail usable\\ meillo@0: \quad$\rightarrow$ improve existing code meillo@0: meillo@0: long-term goal: make masqmail future-proof\\ meillo@0: \quad$\rightarrow$ recreate it from scratch meillo@0: meillo@0: disadvantage: more work meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: \frame{ \frametitle{ch05: improvement plans} meillo@0: meillo@0: improvements of current code meillo@0: meillo@0: a new design meillo@0: meillo@0: \textbf{$\Rightarrow$ recommendations how to do the proposed changes} meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: \frame{ meillo@0: \vfill\vfill meillo@0: \centerline{ \Large want more information? } meillo@0: \vfill meillo@0: } meillo@0: meillo@0: meillo@0: \frame{ \frametitle{come to my talk} meillo@0: meillo@0: CCC Ulm: ChaosSeminar meillo@0: meillo@0: 2009-03-09 20:00 meillo@0: meillo@0: room H20, Uni Ulm meillo@0: meillo@0: \url{http://ulm.ccc.de/ChaosSeminar/2009/03_masqmail} meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: \secframe{experiences} meillo@0: meillo@0: meillo@0: \frame{ \frametitle{recommendations (to improve)} meillo@0: meillo@0: use your time (lazy beginning) meillo@0: meillo@0: focus early on structure meillo@0: meillo@0: early and good literature search meillo@0: meillo@0: keep a time buffer meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: \frame{ \frametitle{recommendations (what I did well)} meillo@0: meillo@0: good backup (nightly!) meillo@0: meillo@0: latex (know it already) meillo@0: meillo@0: structure, structure, structure meillo@0: meillo@0: never hesitate to throw stuff away meillo@0: meillo@0: rework, rework, rework meillo@0: meillo@0: } meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: meillo@0: \frame{ meillo@0: \vfill\vfill meillo@0: \centerline{\textbf{Thanks for your attention}} meillo@0: \vfill meillo@0: } meillo@0: meillo@0: meillo@0: meillo@0: \frame{ \frametitle{software used} meillo@0: meillo@0: Debian GNU/Linux meillo@0: meillo@0: \LaTeX\ with the beamer classes meillo@0: meillo@0: Vim, latexmk, and Mercurial meillo@0: meillo@0: \vfill meillo@0: meillo@0: {\scriptsize The slides are available on \url{http://marmaro.de/docs} \hfill 2009-02-12 } meillo@0: meillo@0: } meillo@0: meillo@0: meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: \secframe{BACKUP} meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: \secframe{structure of the thesis through time} meillo@1: meillo@1: meillo@1: meillo@1: \frame{ \frametitle{structure of 2008-09-16} meillo@1: meillo@1: purpose and structure of an MTA/of masqmail meillo@1: meillo@1: security analysis meillo@1: meillo@1: code improvements meillo@1: meillo@1: documentation, test, distribution meillo@1: meillo@1: } meillo@1: meillo@1: meillo@1: meillo@1: \frame{ \frametitle{structure of 2008-10-18} meillo@1: meillo@1: mail transfer agents meillo@1: meillo@1: \textbf{the masqmail project} meillo@1: meillo@1: \textbf{requirements} meillo@1: meillo@1: implementation meillo@1: meillo@1: summary meillo@1: meillo@1: } meillo@1: meillo@1: meillo@1: meillo@1: \frame{ \frametitle{structure of 2008-11-16} meillo@1: meillo@1: \textbf{introduction} meillo@1: meillo@1: mail transfer agents meillo@1: meillo@1: market analysis meillo@1: meillo@1: \textbf{masqmail's future} meillo@1: meillo@1: implementation meillo@1: meillo@1: \textbf{release} meillo@1: meillo@1: summary meillo@1: meillo@1: } meillo@1: meillo@1: meillo@1: meillo@1: \frame{ \frametitle{structure of 2008-12-31} meillo@1: meillo@1: introduction meillo@1: meillo@1: \textbf{market analysis} meillo@1: meillo@1: mail transfer agents meillo@1: meillo@1: masqmail's present and future meillo@1: meillo@1: improvements meillo@1: meillo@1: \textbf{new design} meillo@1: meillo@1: summary meillo@1: meillo@1: } meillo@1: meillo@1: meillo@1: meillo@1: \frame{ \frametitle{final structure of 2009-01-11} meillo@1: meillo@1: introduction meillo@1: meillo@1: market analysis meillo@1: meillo@1: mail transfer agents meillo@1: meillo@1: masqmail's present and future meillo@1: meillo@1: \textbf{improvement plans} meillo@1: meillo@1: summary meillo@1: meillo@1: } meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: \secframe{figures} meillo@1: meillo@1: meillo@1: meillo@1: \frame{ \frametitle{ Mail agents and the way a mail message takes} meillo@1: \includegraphics[width=\textwidth]{fig/mail-agents.eps} meillo@1: } meillo@1: meillo@1: meillo@1: \frame{ \frametitle{ Typical usage scenarios for masqmail} meillo@1: \includegraphics[width=\textwidth]{fig/masqmail-typical-usage.eps} meillo@1: } meillo@1: meillo@1: meillo@1: \frame{ \frametitle{ Incoming and outgoing channels of masqmail} meillo@1: \includegraphics[width=\textwidth]{fig/masqmail-channels.eps} meillo@1: } meillo@1: meillo@1: meillo@1: \frame{ \frametitle{ Classification of electronic communication technologies} meillo@1: \includegraphics[width=\textwidth]{fig/comm-classification.eps} meillo@1: } meillo@1: meillo@1: meillo@1: \frame{ \frametitle{ Life cycle of electronic communication technologies} meillo@1: \includegraphics[width=\textwidth]{fig/comm-lifecycle.eps} meillo@1: } meillo@1: meillo@1: meillo@1: \frame{ \frametitle{ SWOT analysis for email} meillo@1: \includegraphics[width=\textwidth]{fig/email-swot.eps} meillo@1: } meillo@1: meillo@1: meillo@1: \frame{ \frametitle{ Required incoming and outgoing channels} meillo@1: \includegraphics[width=\textwidth]{fig/mta-channels.eps} meillo@1: } meillo@1: meillo@1: meillo@1: \frame{ \frametitle{ Using stunnel for incoming connections} meillo@1: \includegraphics[width=\textwidth]{fig/stunnel.eps} meillo@1: } meillo@1: meillo@1: meillo@1: \frame{ \frametitle{ Internal structure of masqmail, showed by a call graph} meillo@1: \begin{center} meillo@1: \includegraphics[scale=0.5]{fig/callgraph.eps} meillo@1: \end{center} meillo@1: } meillo@1: meillo@1: meillo@1: \frame{ \frametitle{ A setup with a proxy} meillo@1: \includegraphics[width=\textwidth]{fig/proxy-setup.eps} meillo@1: } meillo@1: meillo@1: meillo@1: \frame{ \frametitle{ The new designed architecture for masqmail} meillo@1: \includegraphics[width=\textwidth]{fig/masqmail-arch-new.eps} meillo@1: } meillo@1: meillo@1: meillo@1: \frame{ \frametitle{ State diagram of the IPC protocol} meillo@1: \includegraphics[width=\textwidth]{fig/ipc-protocol.eps} meillo@1: } meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: meillo@0: \end{document} meillo@0: meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: meillo@1: