Mercurial > docs > masqmail-cs
comparison masqmail.tex @ 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 |
comparison
equal
deleted
inserted
replaced
4:1197518aa221 | 5:282b52d9de09 |
---|---|
60 \secframe{about me} | 60 \secframe{about me} |
61 | 61 |
62 | 62 |
63 \frame{\ft{markus schnalke} | 63 \frame{\ft{markus schnalke} |
64 | 64 |
65 \textbf{past} | 65 past: |
66 | 66 |
67 Business Information Systems\\ | 67 \qquad Business Information Systems\\ |
68 at University of Applied Sciences, Ulm | 68 \qquad at University of Applied Sciences, Ulm |
69 | 69 |
70 Diploma Thesis about masqmail | 70 \qquad Diploma Thesis about masqmail |
71 | 71 |
72 | 72 |
73 \textbf{future} | 73 future: |
74 | 74 |
75 Master in Informatics\\ | 75 \qquad Master in Informatics\\ |
76 here at University, Ulm | 76 \qquad here at University, Ulm |
77 | 77 |
78 } | 78 } |
79 | 79 |
80 | 80 |
81 \frame{\ft{I am interested in} | 81 \frame{\ft{I am interested in} |
102 | 102 |
103 2) about masqmail (xx\%) | 103 2) about masqmail (xx\%) |
104 | 104 |
105 3) the thesis (xx\%) | 105 3) the thesis (xx\%) |
106 | 106 |
107 4) help me to help masqmail (xx\%) | 107 4) help wanted (xx\%) |
108 | 108 |
109 } | 109 } |
110 | 110 |
111 | 111 |
112 | 112 |
184 | 184 |
185 1999 -- 2003 | 185 1999 -- 2003 |
186 | 186 |
187 GPL | 187 GPL |
188 | 188 |
189 about 9\,000 SLOC | 189 about 9\,000 lines of C |
190 | 190 |
191 } | 191 } |
192 | 192 |
193 | 193 |
194 \frame{\ft{guessed} | 194 \frame{\ft{guessed} |
254 | 254 |
255 | 255 |
256 \secframe{when I met masqmail} | 256 \secframe{when I met masqmail} |
257 | 257 |
258 | 258 |
259 \frame{\ft{using unmaintained software} | 259 \frame{\ft{Fall 2007} |
260 | 260 |
261 Fall 2007: started to use masqmail | 261 started to use masqmail |
262 | 262 |
263 Spring 2008: realized it is unmaintained in Debian | 263 } |
264 | |
265 \frame{\ft{Spring 2008} | |
266 | |
267 problem: realized it is unmaintained in Debian | |
264 | 268 |
265 A situation to be changed ... but by whom? | 269 A situation to be changed ... but by whom? |
266 | 270 |
267 ... me? No! | 271 \dots me? No! |
268 | 272 |
269 } | 273 } |
270 | 274 |
271 | 275 |
272 \frame{\ft{solving two problems} | 276 \frame{\ft{Summer 2008} |
273 | |
274 Summer 2008: | |
275 | 277 |
276 problem: find a topic for the diploma thesis | 278 problem: find a topic for the diploma thesis |
277 | 279 |
280 } | |
281 | |
282 | |
283 \frame{\ft{while lying in bed some night} | |
284 | |
278 the great idea: solve both problems in once | 285 the great idea: solve both problems in once |
279 | 286 |
280 - \textbf{use the diploma thesis to revive masqmail} | 287 1) \textbf{use the diploma thesis to revive masqmail} |
281 | 288 |
282 - \textbf{use masqmail to do a great diploma thesis} | 289 2) \textbf{use masqmail to do a great diploma thesis} |
283 | 290 |
284 } | 291 } |
285 | 292 |
286 | 293 |
287 \frame{\ft{advising professor} | 294 \frame{\ft{advising professor} |
288 | 295 |
289 Professor Sch\"affter | 296 professor Markus Sch\"affter |
290 | 297 |
291 thanks! | 298 thanks! |
292 | 299 |
293 } | 300 } |
294 | 301 |
295 | 302 |
296 | 303 |
297 | 304 |
298 \frame{\ft{motivation} | 305 \frame{\ft{logical decisions} |
299 | 306 |
300 \textbf{motivation} | 307 motivation: |
301 | 308 |
302 - for myself | 309 \qquad for myself |
303 | 310 |
304 - for the community | 311 \qquad for the community |
305 | 312 |
306 \textbf{thus} | 313 thus: |
307 | 314 |
308 - in English | 315 \qquad write in English |
309 | 316 |
310 - free available | 317 \qquad make the thesis free available |
311 | 318 |
312 } | 319 } |
313 | 320 |
314 | 321 |
315 | 322 |
459 | 466 |
460 | 467 |
461 | 468 |
462 \frame{\ft{MTAs} | 469 \frame{\ft{MTAs} |
463 | 470 |
464 - relay-only MTAs (forwarders): nullmailer, ssmtp | 471 relay-only MTAs (forwarders): |
465 | 472 |
466 - groupware: Lotus Notes, Exchange, opengroupware.org | 473 \qquad nullmailer, ssmtp |
467 | 474 |
468 - ``real'' MTAs: sendmail, exim, qmail, postfix, masqmail | 475 groupware: |
476 | |
477 \qquad Lotus Notes, Exchange, opengroupware.org | |
478 | |
479 ``real'' MTAs: | |
480 | |
481 \qquad sendmail, exim, qmail, postfix, masqmail | |
469 | 482 |
470 } | 483 } |
471 | 484 |
472 | 485 |
473 | 486 |
517 | 530 |
518 \frame{\ft{why not postfix} | 531 \frame{\ft{why not postfix} |
519 | 532 |
520 - too large | 533 - too large |
521 | 534 |
535 - too complex | |
536 | |
522 - not designed for masqmail's scenario | 537 - not designed for masqmail's scenario |
523 | 538 |
524 } | 539 } |
525 | 540 |
526 \frame{\ft{in summary} | 541 \frame{\ft{in summary} |
581 } | 596 } |
582 | 597 |
583 | 598 |
584 \frame{\ft{further development} | 599 \frame{\ft{further development} |
585 | 600 |
586 - improve existing code | 601 1) improve existing code |
587 | 602 |
588 - add wrappers and interposition filters | 603 2) add wrappers and interposition filters |
589 | 604 |
590 - redesign and rewrite from scratch | 605 3) redesign and rewrite from scratch |
606 | |
607 \quad | |
608 | |
609 $1) + 2) = 13$ \quad vs. \quad $3) = 17$ | |
591 | 610 |
592 } | 611 } |
593 | 612 |
594 | 613 |
595 \frame{\ft{architecture} | 614 \frame{\ft{architecture} |
607 ``one fits all'' is not possible | 626 ``one fits all'' is not possible |
608 | 627 |
609 hence: different strategies for different goals | 628 hence: different strategies for different goals |
610 | 629 |
611 short-term goal: keep masqmail usable\\ | 630 short-term goal: keep masqmail usable\\ |
612 \quad\quad$\rightarrow$ improve existing code | 631 \qquad $\rightarrow$ improve existing code |
613 | 632 |
614 long-term goal: make masqmail future-proof\\ | 633 long-term goal: make masqmail future-proof\\ |
615 \quad\quad$\rightarrow$ recreate it from scratch | 634 \qquad $\rightarrow$ recreate it from scratch |
616 | 635 |
617 disadvantage: more work | 636 disadvantage: more work |
618 | 637 |
619 } | 638 } |
620 | 639 |
621 | 640 |
641 \oneline{questions?} | |
622 | 642 |
623 | 643 |
624 | 644 |
625 | 645 |
626 | 646 |
629 \secframe{in detail: ch05.1 existing code} | 649 \secframe{in detail: ch05.1 existing code} |
630 | 650 |
631 | 651 |
632 | 652 |
633 | 653 |
634 \frame{\ft{masqmail's code base} | 654 \frame{\ft{TODO 1: Encryption} |
635 | 655 |
636 C | 656 STARTTLS |
637 | 657 |
638 ~ 9,000 SLOC | 658 qmail patch as template |
639 | 659 |
640 } | 660 affected files: smtp\_in.c, smtp\_out.c, conf.c |
641 | 661 |
642 | 662 } |
663 | |
664 | |
665 | |
666 \frame{\ft{TODO 2: Authentication} | |
667 | |
668 static: TCP Wrapper | |
669 | |
670 dynamic: SMTP-AUTH with SASL | |
671 | |
672 affected files: smtp\_in.c, smtp\_out.c, conf.c | |
673 | |
674 } | |
675 | |
676 | |
677 | |
678 \frame{\ft{TODO 3: Security} | |
679 | |
680 mail security layers | |
681 | |
682 \begin{center} | |
683 \includegraphics[width=\textwidth]{fig/proxy-setup.eps} | |
684 \end{center} | |
685 | |
686 } | |
687 | |
688 | |
689 \oneline{questions?} | |
643 | 690 |
644 | 691 |
645 | 692 |
646 | 693 |
647 | 694 |
648 | 695 |
649 | 696 |
650 \secframe{in detail: ch05.2 new design} | 697 \secframe{in detail: ch05.2 new design} |
651 | 698 |
652 \frame{\ft{FIXME} | 699 \frame{\ft{design goals} |
653 | 700 |
654 } | 701 throughout compartmentalization |
655 | 702 |
656 | 703 free internal system from in and out channels |
657 | 704 |
658 | 705 single point for scanning |
659 | 706 |
660 | 707 concentrate on mail transfer |
661 \secframe{HELP!} | 708 |
662 | 709 keep it simple, clear, and general |
663 | 710 |
664 \frame{\ft{FIXME} | 711 } |
712 | |
713 \frame{\ft{incoming channels} | |
714 | |
715 arbitrary protocol handlers | |
716 | |
717 one single module that puts the mail into the queue | |
718 | |
719 } | |
720 | |
721 \frame{\ft{queueing} | |
722 | |
723 reliable queue | |
724 | |
725 preferably the system's native format | |
726 | |
727 } | |
728 | |
729 \frame{\ft{mail sanitizing} | |
730 | |
731 qmail: ``don't parse'' $\rightarrow$ parse very carefully | |
732 | |
733 Jon Postel's robustness principle | |
734 | |
735 } | |
736 | |
737 \frame{\ft{authentication and encryption} | |
738 | |
739 in receiving and sending modules (?) | |
740 | |
741 with library code | |
742 | |
743 } | |
744 | |
745 \frame{\ft{spam and malware handling} | |
746 | |
747 receiving modules vs. a scanning module | |
748 | |
749 in both places? | |
750 | |
751 } | |
752 | |
753 \frame{\ft{route management} | |
754 | |
755 the thing special to masqmail | |
756 | |
757 done just before the outgoing modules | |
758 | |
759 } | |
760 | |
761 \frame{\ft{outgoing channels} | |
762 | |
763 modules for each protocol | |
764 | |
765 no own MDA, only a pipe module | |
766 | |
767 } | |
768 | |
769 \frame{\ft{the proposed architecture} | |
770 | |
771 \begin{center} | |
772 \includegraphics[width=0.9\textwidth]{fig/masqmail-arch-new.eps} | |
773 \end{center} | |
774 | |
775 } | |
776 | |
777 | |
778 \oneline{questions?} | |
779 | |
780 | |
781 | |
782 | |
783 | |
784 \secframe{help wanted!} | |
785 | |
786 | |
787 \frame{\ft{work to do} | |
788 | |
789 add encryption, authentication, security | |
790 | |
791 fix bugs | |
792 | |
793 documentation | |
794 | |
795 user guides and ``marketing'' | |
796 | |
797 create the new masqmail | |
798 | |
799 } | |
800 | |
801 | |
802 \frame{\ft{current team} | |
803 | |
804 \tiny me | |
805 | |
806 } | |
807 | |
808 | |
809 \frame{\ft{} | |
810 | |
811 project site: | |
812 | |
813 \qquad \url{http://prog.marmaro.de/masqmail} | |
814 | |
815 mailing list: | |
816 | |
817 \qquad masqmail@marmaro.de | |
818 | |
819 } | |
820 | |
821 | |
822 \frame{\ft{Debian} | |
823 | |
824 I search for a DD to sponsor my masqmail work | |
825 | |
826 please contact me! | |
827 | |
828 } | |
829 | |
830 | |
831 \frame{\ft{you!} | |
832 | |
833 I welcome your help! | |
834 | |
835 I appreciate your advice! | |
836 | |
837 I am thankful for your comments! | |
838 | |
839 \quad | |
840 | |
841 \textbf{help masqmail} | |
665 | 842 |
666 } | 843 } |
667 | 844 |
668 | 845 |
669 | 846 |
693 | 870 |
694 \LaTeX\ with the beamer classes | 871 \LaTeX\ with the beamer classes |
695 | 872 |
696 Vim, latexmk, and Mercurial | 873 Vim, latexmk, and Mercurial |
697 | 874 |
875 diagrams: PIC and groff | |
876 | |
698 \vfill | 877 \vfill |
699 | 878 |
700 {\scriptsize The slides are available on \url{http://marmaro.de/docs} \hfill 2009-03-09 } | 879 {\scriptsize The slides are available on \url{http://marmaro.de/docs} \hfill 2009-03-09 } |
701 | 880 |
702 } | 881 } |