meillo@86: \chapter{Use cases} meillo@86: meillo@86: Here follow typical use cases for \masqmail. If other \MTA{}s are better suited for certain use cases, it will be mentioned. The use cases are prestage for defining the requirements. meillo@86: meillo@86: %FIXME: rewrite! meillo@86: % How do I write use cases?? meillo@86: % Are use cases the right tool for what I need, at all?? meillo@86: meillo@86: The user writes email with one of the common programs (e.g. \path{/bin/mail} or \name{mutt}). \masqmail\ must provide an interface, to that prepared mail can be handled over. meillo@86: meillo@86: \masqmail\ must deliver mail to its destination. meillo@86: meillo@86: Mail must be send with different settings, if someone uses more than one internet connection. meillo@86: meillo@86: If the machine is offline, no mail, destinated to the internet, must be send. It needs to be queued until an online connection gets established. meillo@86: meillo@86: If the computer goes online, all mail for outside destinations, should be send through the active route. meillo@86: meillo@86: Local mail should be send at once, independent of the online state. meillo@86: meillo@86: \masqmail\ may act as \NAME{SMTP} server. To receive email from other hosts. meillo@86: meillo@86: Mail for local users should be delivered by \masqmail\ itself or passed to \name{mail delivery agent}s. meillo@86: meillo@86: \masqmail\ needs to provide the same interface as \sendmail\ has, for being a drop-in replacement. meillo@86: meillo@86: meillo@86: %TODO: add Schaeffter's ideas here meillo@86: \chapter{Requirements} meillo@86: meillo@86: \section{Structure} meillo@86: \section{Security} meillo@86: \section{Usability} meillo@86: \chapter{Security issues} meillo@86: meillo@86: %TODO: write about: meillo@86: % #ifdefs in code meillo@86: % the single setuid root binary