docs/diploma

diff thesis/tex/1-Introduction.tex @ 370:664716b256e1

applied changes that were suggested by schaeffter
author meillo@marmaro.de
date Sat, 31 Jan 2009 15:06:43 +0100
parents 63fb9fba6c77
children d51894e48762
line diff
     1.1 --- a/thesis/tex/1-Introduction.tex	Sat Jan 31 10:50:02 2009 +0100
     1.2 +++ b/thesis/tex/1-Introduction.tex	Sat Jan 31 15:06:43 2009 +0100
     1.3 @@ -1,7 +1,7 @@
     1.4  \chapter{Introduction}
     1.5  \label{chap:introduction}
     1.6  
     1.7 -This chapter first introduces some basic email concepts that are essential for understanding the rest of the thesis. Then \masqmail---the program of interest---is presented. History, typical usage, and the function it provides are described. After an explanation of \masqmail's worth, its problems are pointed out. These problems which are to solve are the topics that are covered throughout this thesis.
     1.8 +This chapter introduces some basic email concepts that are essential for understanding the remainder of the thesis. Then \masqmail---the program of interest---is presented. History, typical usage, and the function it provides are described. After an explanation of \masqmail's relevance, its weaknesses are pointed out. Solving these weaknesses is the topics that is covered throughout this thesis.
     1.9  
    1.10  
    1.11  
    1.12 @@ -11,19 +11,19 @@
    1.13  
    1.14  Electronic mail is a service on the Internet and thus, like other Internet services, defined and standardized by \RFC{}s under management of the \name{Internet Engineering Task Force} (short: \NAME{IETF}). \RFC{}s are highly technical documents and it is not required that the readers of this thesis are familiar with them.
    1.15  
    1.16 -This section gives an introduction into the basic internals of the email system in a low-technical language. It is intended to make the reader familiar with the essential concepts of email. They are assumed to be known in the rest of the thesis.
    1.17 +This section gives an introduction into the basic internals of the email system in a low-technical language. It is intended to make the reader familiar with the essential concepts of email as they are essential throughout the thesis.
    1.18  
    1.19  
    1.20  \subsubsection{Mail agents}
    1.21  
    1.22 -This thesis will frequently use the three terms: \MTA, \NAME{MUA}, and \NAME{MDA}. They name the three different kinds of software that are the nodes of the email infrastructure. Here they are explained with references to the ``snail mail'' system which is known from everyday life. Figure \ref{fig:mail-agents} shows the relation between those three mail agents and the way an email message takes trough the system.
    1.23 +This thesis will frequently use the three terms: \MTA, \NAME{MUA}, and \NAME{MDA}, naming the three different kinds of nodes of the email infrastructure. Here, they are explained with references to the ``snail mail'' system which is known from everyday life. Figure \ref{fig:mail-agents} shows the relation between those three mail agents and the way an email message takes when passing through the system.
    1.24  
    1.25  \begin{description}
    1.26  \item[\MTA:]
    1.27 -\name{Mail Transfer Agents} are the post offices for electronic mail. The basic job of an \MTA\ is to transport mail from senders to recipients, or more pedantic: from \MTA\ to \MTA. \sendmail, \exim, \qmail, \postfix, and of course \masqmail\ are \MTA{}s. \MTA{}s are explained in more detail in chapter \ref{chap:mail-transfer-agents}.
    1.28 +\name{Mail Transfer Agents} are the post offices for electronic mail. The basic job of an \MTA\ is to transport mail from senders to recipients, or more pedantic: from \MTA\ to \MTA. \sendmail, \exim, \qmail, \postfix, and, of course, \masqmail\ are \MTA{}s. \MTA{}s are explained in more detail in chapter \ref{chap:mail-transfer-agents}.
    1.29  
    1.30  \item[\NAME{MUA}:]
    1.31 -\name{Mail User Agents} are the software the user deals with. He writes and reads email with it. The \NAME{MUA} passes outgoing mail to the nearest \MTA. Also the \NAME{MUA} displays the contents of the user's mailbox. Well known \NAME{MUA}s are \name{Mozilla Thunderbird} and \name{mutt} on \unix\ systems, and \name{Microsoft Outlook} on \name{Windows}.
    1.32 +\name{Mail User Agents} are the software users deal with. A user writes and reads email with it. The \NAME{MUA} passes outgoing mail to the nearest \MTA. Also the \NAME{MUA} displays the contents of the user's mailbox. Well known \NAME{MUA}s are \name{Mozilla Thunderbird} and \name{mutt} on \unix\ systems, and \name{Microsoft Outlook} on \name{Windows}.
    1.33  
    1.34  \item[\NAME{MDA}:]
    1.35  \name{Mail Delivery Agents} correspond to postmen in the real world. They receive mail, destined to recipients they are responsible for, from an \MTA, and deliver it to the mailboxes of those recipients. Many \MTA{}s include an own \NAME{MDA}, but independent ones exist: \name{procmail} and \name{maildrop} are examples.
    1.36 @@ -82,15 +82,15 @@
    1.37  \section{The \masqmail\ project}
    1.38  \label{sec:masqmail}
    1.39  
    1.40 -The \masqmail\ project was started by \person{Oliver Kurth} in 1999. His aim was to create a small \MTA\ that is especially focused on computers with dial-up Internet connections. Throughout the next four years he worked steadily on it, releasing new versions every few weeks. In total it were 53 releases which is in average a new version every 20 days.
    1.41 +The \masqmail\ project was initiated by \person{Oliver Kurth} in 1999. His aim was to create a small \MTA\ that is especially focused on computers with dial-up Internet connections. Throughout the next four years he worked steadily on it, releasing new versions every few weeks. During the active phase of development 53 version have been released. In average, this is a new version every 20 days.
    1.42  
    1.43 -This thesis bases on the latest release of \masqmail---version 0.2.21 from November 2005. It was released after a 28 month gap. The source code of 0.2.21 is the same as of 0.2.20, only build documents were modified. The release tarball can be retrieved from the \debian\ package pool\footnote{The \NAME{URL} is: \url{http://ftp.de.debian.org/debian/pool/main/m/masqmail/masqmail_0.2.21.orig.tar.gz}\,.} \citeweb{packages.debian}. It seems as if this version was only put into public there because \masqmail's homepage \citeweb{masqmail:homepage2} does not include it.
    1.44 +This thesis is based on the latest release of \masqmail---version 0.2.21, dated November 2005. It was released after a 28 month gap of inactivity. The source code of 0.2.21 is the same as of 0.2.20, with only build documents modified. The homepage of \masqmail\ \citeweb{masqmail:homepage2} does not include this latest release, but it can be retrieved from the \debian\ package pool\footnote{The \NAME{URL} is:\\\url{http://ftp.de.debian.org/debian/pool/main/m/masqmail/masqmail_0.2.21.orig.tar.gz}} \citeweb{packages.debian}.
    1.45  
    1.46 -\masqmail\ is covered by the \name{General Public License} (short: \NAME{GPL}) which qualifies it as \freesw.
    1.47 +\masqmail\ is covered by the \name{General Public License} (short: \NAME{GPL}) \cite{fsf:gpl} which qualifies it as Free Software \cite{fsf:freesw-definition}.
    1.48  
    1.49 -\person{Kurth} abandoned \masqmail\ after 2005 and no one adopted the project since then. Thus, the author of this thesis decided to take responsibility for \masqmail\ now. He received \person{Kurth}'s permission to do so.
    1.50 +\person{Kurth} abandoned \masqmail\ after 2005 and no one adopted the project since then. Thus, the author of this thesis decided to take over responsibility for \masqmail\ now. He received \person{Kurth}'s permission to do so in private telephone conversation with \person{Kurth} on September 4, 2008.
    1.51  
    1.52 -The program's new homepage \citeweb{masqmail:homepage} is a collection of available information about this \MTA.
    1.53 +The program's new homepage \citeweb{masqmail:homepage} includes a collection of available information about this \MTA.
    1.54  
    1.55  
    1.56  
    1.57 @@ -98,7 +98,7 @@
    1.58  \subsection{Target field}
    1.59  \label{sec:masqmail-target-field}
    1.60  
    1.61 -The intention \person{Kurth} had when creating \masqmail\ is best told in his own words:
    1.62 +\person{Kurth}'s intention when creating \masqmail\ is best told in his own words:
    1.63  \begin{quote}
    1.64  MasqMail is a mail server designed for hosts that do not have a permanent internet connection eg. a home network or a single host at home. It has special support for connections to different \NAME{ISP}s. It replaces sendmail or other \MTA{}s such as qmail or exim.
    1.65  \hfill\citeweb{masqmail:homepage2}
    1.66 @@ -116,7 +116,7 @@
    1.67  
    1.68  While many other \MTA{}s are general purpose \MTA{}s, \masqmail\ aims on special situations. Nevertheless, it can be used as general purpose \MTA, too. Especially this was a design goal of \masqmail: To be a replacement for \sendmail, or similar well known \MTA{}s.
    1.69  
    1.70 -\masqmail\ is designed to run on workstations and on servers in small networks, like home networks.
    1.71 +\masqmail\ is designed to run on workstations and on servers in small networks, like they are common in \NAME{SOHO}s (\name{Small Offices/Home Offices}).
    1.72  
    1.73  
    1.74  
    1.75 @@ -230,20 +230,20 @@
    1.76  
    1.77  Mail queuing is essential for \masqmail\ and thus supported of course, alias expansion is also supported.
    1.78  
    1.79 -The \masqmail\ executable can be called under various names for sendmail-compatibility reasons. As many programs expect the \MTA\ to be located at \path{/usr/lib/sendmail} or \path{/usr/sbin/sendmail}, symbolic links are pointing from there to the \masqmail\ executable. Further more does \sendmail\ supports calling it with a different name instead of supplying command line arguments. The best known of these shortcuts is \path{mailq} which is equivalent to calling it with the argument \verb+-bq+. \masqmail\ recognizes the shortcuts \path{mailq}, \path{smtpd}, \path{mailrm}, \path{runq}, \path{rmail}, and \path{in.smtpd}. The first two are inspired by \sendmail. Not implemented is the shortcut \path{newaliases} because \masqmail\ does not generate binary representations of the alias file.\footnote{A shell script named \path{newaliases} that invokes \texttt{masqmail -bi} can provide the command to satisfy software that depends on a \path{newaliases} program.} \path{hoststat} and \path{purgestat} are missing for complete sendmail-compatibility.
    1.80 +The \masqmail\ executable can be called by various names for sendmail-compatibility reasons. As many programs expect the \MTA\ to be located at \path{/usr/lib/sendmail} or \path{/usr/sbin/sendmail}, symbolic links are pointing from there to the \masqmail\ executable. Further more does \sendmail\ supports calling it with a different name instead of supplying command line arguments. The best known of these shortcuts is \path{mailq} which is equivalent to calling it with the argument \verb+-bq+. \masqmail\ recognizes the shortcuts \path{mailq}, \path{smtpd}, \path{mailrm}, \path{runq}, \path{rmail}, and \path{in.smtpd}. The first two are inspired by \sendmail. Not implemented yet is the shortcut \path{newaliases} because \masqmail\ does not generate binary representations of the alias file.\footnote{A shell script named \path{newaliases} that invokes \texttt{masqmail -bi} can provide the command to satisfy strict requirements.} \path{hoststat} and \path{purgestat} are missing for complete sendmail-compatibility.
    1.81  %masqmail: mailq, mailrm, runq, rmail, smtpd/in.smtpd
    1.82  %sendmail: hoststat, mailq, newaliases, purgestat, smtpd
    1.83  
    1.84 -Additional to the \mta\ job, \masqmail\ also offers mail retrieval services by being a \NAME{POP3} client. It can fetch mail from different remote locations dependent on the active online connection. Such functionality is especially useful in a setup like \name{Scenario 2} on page \pageref{scenario2}.
    1.85 +Additional to the \mta\ job, \masqmail\ also offers mail retrieval services by acting as a \NAME{POP3} client. It can fetch mail from different remote locations, also dependent on the active online connection. Such functionality is especially useful in a setup like \name{Scenario 2} on page \pageref{scenario2}.
    1.86  
    1.87  
    1.88  
    1.89 -\subsubsection*{Online detection and routes}
    1.90 +\subsubsection*{Online detection and online routes}
    1.91  \label{sec:masqmail-routes}
    1.92  
    1.93  \masqmail\ focuses on handling different non-permanent online connections, thus a concept of online routes is used. One may configure any number of routes to send mail. Each route can have criteria to determine if some message is allowed to be sent over it. Mail to destinations outside the local network gets queued until a suitable online connections is available.
    1.94  
    1.95 -The idea behind this concept is sending mail to the Internet through the mail server of the same \NAME{ISP} over which one had dialed in. It was quite common that \NAME{ISP}s accepted mail for relay only if it came from as online connection they managed. This means, one was not able to relay mail through the mail server of one \NAME{ISP} while being online through the connection of another \NAME{ISP}. \masqmail\ is a solution to the wish of switching the relaying mail server easily.
    1.96 +The idea behind this concept is sending mail to the Internet through the mail server of the same \NAME{ISP} over which one had dialed in. It was quite common that \NAME{ISP}s accepted mail for relay only if it came from a online connection they managed. This means, it was not possible to relay mail through the mail server of one \NAME{ISP} while being online through the connection of another \NAME{ISP}. \masqmail\ is a solution to the wish of switching the relaying mail server easily.
    1.97  
    1.98  Related is \masqmail's ability to rewrite the sender's email address dependent on which \NAME{ISP} is used. This prevents mail from being likely classified as spam.
    1.99  
   1.100 @@ -267,7 +267,7 @@
   1.101  
   1.102  
   1.103  
   1.104 -\section{Why \masqmail\ is worthy}
   1.105 +\section{Why \masqmail\ is worth it}
   1.106  
   1.107  First of all, \masqmail\ is better suited for its target field of operation (multiple non-permanent online connections) than every other \MTA. Especially is such usage easy to set up because \masqmail\ was designed for that. Many alternative \MTA{}s were not designed for those scenarios at all as the following two example show: ``Exim is designed for use on a network where most messages can be delivered at the first attempt.'' \cite[page~30]{hazel01}. ``qmail was designed for well-connected hosts: those with high-speed, always-on network connectivity.'' \cite[page9]{sill02}.
   1.108  
   1.109 @@ -289,7 +289,7 @@
   1.110  \hfill\citeweb[post~\#8]{ubuntuforums:simple-mailer}
   1.111  \end{quote}
   1.112  
   1.113 -Not to forget is \masqmail's size. It is much smaller than full-blown \MTA{}s like \sendmail, \postfix, or \exim, and still smaller than \qmail. (See section \ref{sec:mta-comparison} for details.) This makes \masqmail\ a good choice for workstations or even embedded computers.
   1.114 +Not to forget \masqmail's size. \masqmail\ is much smaller than full-blown \MTA{}s like \sendmail, \postfix, or \exim, and still smaller than \qmail. (See section \ref{sec:mta-comparison} for details.) This makes \masqmail\ a good choice for workstations or even embedded computers.
   1.115  
   1.116  Again words of a user who chose \masqmail\ as \MTA\ on his old laptop with a 75 megahertz processor and eight megabytes of \NAME{RAM}:
   1.117  \begin{quote}
   1.118 @@ -299,7 +299,7 @@
   1.119  
   1.120  
   1.121  
   1.122 -Although the development on \masqmail\ stopped in 2003 it still has its users. Having users is already reason enough for further development and maintenance. This applies especially when the software covers a niche and when requirements for such software in general changed. Both is the case for \masqmail.
   1.123 +Although the development on \masqmail\ has been stopped in 2003, \masqmail\ still has its users. Having users is already reason enough for further development and maintenance. This applies especially when the software covers a niche and when requirements for such software in general changed. Both is the case for \masqmail.
   1.124  
   1.125  It is difficult to get numbers about users of Free Software because no one needs to tell anyone when he uses some software. \debian's \name{popcon} statistics \citeweb{popcon.debian} are a try to provided numbers. For January 2009, the statistics report 60 \masqmail\ installations of which 49 are in active use. If it is assumed that one third of all \debian\ users report their installed software\footnote{One third is a high guess as it means there would be only about 230 thousand \debian\ installations in total. But according to the \name{Linux Counter} \citeweb{counter.li.org} between 490 thousand and 12 million \debian\ users can be estimated.}, there would be in total around 150 active \masqmail\ installations in \debian. \name{Ubuntu} which also does \name{popcon} statistics \citeweb{popcon.ubuntu}, counts 82 installations with 13 active ones. If here also one third of all systems submit their data, 40 active installations can be added. Including a guessed amount of additional 30 installations on other \unix\ operating systems makes about 220 \masqmail\ installations in total. Of course one person may have \masqmail\ installed on more than one computer, but a total of 150 different users seems to be realistic.
   1.126  
   1.127 @@ -320,7 +320,7 @@
   1.128  
   1.129  \section{Problems to solve}
   1.130  
   1.131 -A program that was neglected for nearly six years in a field of operation that changed during this time surely needs improvement. Security and spam have highly increased in importance since 2003. Dial-up connections became rare, instead broadband flat rates are common now. Other \MTA{}s evolved in respect to theses changes---\masqmail\ did not.
   1.132 +A program that is neglected for more than five years in a field of operation that changed during this time surely needs improvement. Security and spam have highly increased in importance since 2003. Dial-up connections became rare, instead broadband flat rates are common now. Other \MTA{}s evolved in respect to theses changes---\masqmail\ did not.
   1.133  
   1.134  The current market situation and trends for the future need to be identified. Looks at other \MTA{}s need to be taken. Required work on \masqmail\ needs to be defined in combination with the evaluation of strategies to do this work. And a plan for further development should be created.
   1.135