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 }