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 source
1 % chaos seminar talk about masqmail
2 %
3 % markus schnalke <meillo@marmaro.de>
4 % since 2009-02-24
7 \documentclass{beamer}
9 \title{masqmail}
10 \author{markus schnalke}
11 \date{2009-03-09}
13 \usepackage[utf8]{inputenc}
14 \usepackage{url}
15 \usepackage{graphicx}
16 \setlength{\parskip}{2.0ex plus 1.0ex minus 0.5ex}
18 \newcommand{\secframe}[1]{
19 \section{#1}
20 \frame{ \vfill\vfill \centerline{ \huge #1 } \vfill }
21 }
23 \newcommand{\ft}[1]{
24 \frametitle{#1}
25 }
27 \newcommand{\oneline}[1]{
28 \frame{
29 \vfill\vfill
30 \centerline{#1}
31 \vfill
32 }
33 }
37 \begin{document}
40 \frame{
42 \vspace{8em}
43 \begin{center}
45 {\huge\bf masqmail}
47 a mail transfer agent for workstations and small networks
49 \vspace{6em}
51 { \tiny
52 markus schnalke \textless{}meillo@marmaro.de\textgreater{}
53 }
55 \end{center}
56 }
60 \secframe{about me}
63 \frame{\ft{markus schnalke}
65 \textbf{past}
67 Business Information Systems\\
68 at University of Applied Sciences, Ulm
70 Diploma Thesis about masqmail
73 \textbf{future}
75 Master in Informatics\\
76 here at University, Ulm
78 }
81 \frame{\ft{I am interested in}
83 Unix Philosophy
85 suckless software
87 Free Software
89 Debian
91 }
96 \secframe{this talk}
99 \frame{ \ft{overview}
101 1) prerequisites (xx\%)
103 2) about masqmail (xx\%)
105 3) the thesis (xx\%)
107 4) help me to help masqmail (xx\%)
109 }
118 \secframe{email? MTA? \dots}
121 \frame{\ft{What are MTAs}
123 MTA = Mail Transfer Agent
125 the post offices of email
127 MTAs transfer mail from senders to recipients
129 }
132 \frame{\ft{mail agents}
134 \begin{center}
135 \includegraphics[width=0.8\textwidth]{fig/mail-agents.eps}
136 \end{center}
138 }
141 \oneline{questions?}
153 \secframe{about masqmail}
157 \frame{ \ft{what is masqmail}
159 an MTA
161 a small one
163 one for special setups
165 }
168 \frame{ \ft{masqmail's niche}
170 non-permanent online connections
172 over multiple providers
174 especially for workstations and small networks
176 also notebooks
178 }
181 \frame{ \ft{history}
183 written by Oliver Kurth
185 1999 -- 2003
187 GPL
189 about 9\,000 SLOC
191 }
194 \frame{\ft{guessed}
196 initially written to use masqdialer-controlled online connections
198 thus: source of the name (``masq\dots'') (not ``\dots qmail'')
200 }
204 \frame{ \ft{masqmail today}
206 development stopped in 2003
208 not maintained
210 even its website is down
212 but included in Debian, Ubuntu, Arch, Mandriva, FreeBSD
214 }
217 \frame{ \ft{value of masqmail}
219 covers a niche
221 has unique features
223 has users!
225 }
228 \frame{ \ft{problems of masqmail}
230 no further development
232 unfixed bugs
234 emailing has changed
236 }
239 \oneline{questions?}
256 \secframe{when I met masqmail}
259 \frame{\ft{using unmaintained software}
261 Fall 2007: started to use masqmail
263 Spring 2008: realized it is unmaintained in Debian
265 A situation to be changed ... but by whom?
267 ... me? No!
269 }
272 \frame{\ft{solving two problems}
274 Summer 2008:
276 problem: find a topic for the diploma thesis
278 the great idea: solve both problems in once
280 - \textbf{use the diploma thesis to revive masqmail}
282 - \textbf{use masqmail to do a great diploma thesis}
284 }
287 \frame{\ft{advising professor}
289 Professor Sch\"affter
291 thanks!
293 }
298 \frame{\ft{motivation}
300 \textbf{motivation}
302 - for myself
304 - for the community
306 \textbf{thus}
308 - in English
310 - free available
312 }
316 \frame{\ft{guiding principle}
318 \begin{center}
319 \it
320 Do what you think is interesting,\\
321 do something that you think is fun and worthwhile,\\
322 because otherwise you won't do it well anyway.
324 ---Brian~W.\ Kernighan---
325 \end{center}
327 }
335 \secframe{the thesis in short}
339 %\frame{\ft{planned was}
340 %
341 %1) purpose and structure of an MTA/of masqmail
342 %
343 %2) security analysis
344 %
345 %3) code improvements
346 %
347 %4) documentation, test, distribution
348 %
349 %With the goal to release a new version and get it into Debian
350 %
351 %}
352 %
353 %
354 %\frame{\ft{however, it resulted in}
355 %
356 %1) introduction
357 %
358 %2) market analysis
359 %
360 %3) mail transfer agents
361 %
362 %4) masqmail's present and future
363 %
364 %5) improvement plans
365 %
366 %Became pretty theoretic (I don't worry)
367 %
368 %}
376 \frame{ \ft{ch01: introduction}
378 general prerequisites
380 the masqmail project
382 value and problems of masqmail
384 \textbf{$\Rightarrow$ reasons to do this thesis}
386 }
390 \frame{ \ft{ch02: market analysis}
392 classification, life cycle, and trends of electronic communication
394 SWOT and trends for email
396 \textbf{$\Rightarrow$ show that email is expected to survive}
398 }
401 \frame{ \ft{ch03: mail transfer agents}
403 classification of MTAs
405 masqmail's competitors
407 short comparison
409 \textbf{$\Rightarrow$ provide knowledge for following chapters}
411 }
416 \frame{ \ft{ch04: masqmail's present and future}
418 the goal (revive masqmail)
420 requirements
422 \quad\quad fulfilled requirements
424 \quad\quad work to do
426 ways for further development
428 result
430 \textbf{$\Rightarrow$ the core of the thesis: a plan to revive masqmail}
432 }
436 \frame{ \ft{ch05: improvement plans}
438 more detailed descriptions of the work tasks
440 \textbf{$\Rightarrow$ recommendations how to do the proposed changes}
442 }
445 \oneline{questions?}
458 \secframe{in detail: ch03 MTAs}
462 \frame{\ft{MTAs}
464 - relay-only MTAs (forwarders): nullmailer, ssmtp
466 - groupware: Lotus Notes, Exchange, opengroupware.org
468 - ``real'' MTAs: sendmail, exim, qmail, postfix, masqmail
470 }
474 \frame{\ft{market shares}
476 \input{tbl/mta-market-share.tbl}
478 }
482 \frame{\ft{comparison}
484 \input{tbl/mta-comparison.tbl}
486 }
490 \frame{\ft{why not sendmail}
492 - too large
494 - too complex
496 - structurally insecure
498 - simply obsolete
500 }
502 \frame{\ft{why not exim}
504 - too large
506 - designed for always online hosts
508 }
510 \frame{\ft{why not qmail}
512 - outdated
514 - designed for always online hosts with fast connections
516 }
518 \frame{\ft{why not postfix}
520 - too large
522 - not designed for masqmail's scenario
524 }
526 \frame{\ft{in summary}
528 - other MTAs are bad substitutes for masqmail
530 - though they seem to be generally able to be substitutes
532 }
535 \oneline{comments and annotations?}
551 \secframe{in detail: ch04 present and future}
554 \frame{\ft{functional requirements}
556 \input{tbl/func-requirements.tbl}
558 }
560 \frame{\ft{non-functional requirements}
562 \input{tbl/nonf-requirements.tbl}
564 }
566 \frame{\ft{work tasks}
568 TODO\,1: Encryption
570 TODO\,2: Authentication
572 TODO\,3: Security
574 TODO\,4: Reliability
576 TODO\,5: Spam handling
578 TODO\,6: Extendability
581 }
584 \frame{\ft{further development}
586 - improve existing code
588 - add wrappers and interposition filters
590 - redesign and rewrite from scratch
592 }
595 \frame{\ft{architecture}
597 \begin{center}
598 \includegraphics[width=0.8\textwidth]{fig/callgraph.eps}
599 \end{center}
601 }
605 \frame{\ft{the result}
607 ``one fits all'' is not possible
609 hence: different strategies for different goals
611 short-term goal: keep masqmail usable\\
612 \quad\quad$\rightarrow$ improve existing code
614 long-term goal: make masqmail future-proof\\
615 \quad\quad$\rightarrow$ recreate it from scratch
617 disadvantage: more work
619 }
629 \secframe{in detail: ch05.1 existing code}
634 \frame{\ft{masqmail's code base}
636 C
638 ~ 9,000 SLOC
640 }
650 \secframe{in detail: ch05.2 new design}
652 \frame{\ft{FIXME}
654 }
661 \secframe{HELP!}
664 \frame{\ft{FIXME}
666 }
674 \frame{
675 \vfill\vfill
676 \centerline{\textbf{Thanks for your attention}}
677 \vfill
678 }
681 \frame{\ft{links}
683 --all urls--
685 }
690 \frame{ \ft{software used}
692 Debian GNU/Linux
694 \LaTeX\ with the beamer classes
696 Vim, latexmk, and Mercurial
698 \vfill
700 {\scriptsize The slides are available on \url{http://marmaro.de/docs} \hfill 2009-03-09 }
702 }
707 \end{document}
713 \url{http://ulm.ccc.de/ChaosSeminar/2009/03_masqmail}