docs/diploma

diff thesis/tex/1-Introduction.tex @ 306:7f33aa4eb791

added some last missing texts in ch01
author meillo@marmaro.de
date Tue, 20 Jan 2009 19:00:32 +0100
parents 5e788fee62a8
children f3a86ce788ec
line diff
     1.1 --- a/thesis/tex/1-Introduction.tex	Tue Jan 20 18:42:19 2009 +0100
     1.2 +++ b/thesis/tex/1-Introduction.tex	Tue Jan 20 19:00:32 2009 +0100
     1.3 @@ -1,10 +1,7 @@
     1.4  \chapter{Introduction}
     1.5  \label{chap:introduction}
     1.6  
     1.7 -<< say what you want to say >>
     1.8 -
     1.9 -<< the overall goal of the document >>
    1.10 -
    1.11 +This chapter first introduces some basic email concepts that are essential to understand 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 explaination 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.12  
    1.13  
    1.14  
    1.15 @@ -12,7 +9,9 @@
    1.16  
    1.17  \section{Email prerequisites}
    1.18  
    1.19 -email and everything is defined in RFCs
    1.20 +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 Engeneering Task Force} (short: \NAME{IETF}). \RFC{}s are highly technical documents and it is not expected that the readers of this thesis are familiar with them.
    1.21 +
    1.22 +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.23  
    1.24  
    1.25  \subsubsection{Mail agents}
    1.26 @@ -59,9 +58,9 @@
    1.27  
    1.28  \subsubsection{Mail messages}
    1.29  
    1.30 -Mail messages consist of two parts with defined format. This format is specified in \RFC822, and the successors \RFC2822 and \RFC5322.
    1.31 +Mail messages consist of text in a specific format. This format is specified in \RFC822, and the successors \RFC2822 and \RFC5322.
    1.32  
    1.33 -The two parts of a message are the \name{header} and the \name{body}. The header of an email message is similar to the header of a (formal) letter. It spans the first lines of the message up to the first empty line. The header consists of several lines, called \name{header lines} or simply \name{headers}. They specify the sender, the address(es) of the recipient(s), the date, and possibly further information. Their order is irrelevant. Headers are named after the colon separated start of those lines, for example the ``\texttt{Date:}'' header. A user may write the header himself, but normally the \NAME{MUA} does this job.
    1.34 +A message has two parts, the \name{header} and the \name{body}. The header of an email message is similar to the header of a (formal) letter. It spans the first lines of the message up to the first empty line. The header consists of several lines, called \name{header lines} or simply \name{headers}. They specify the sender, the address(es) of the recipient(s), the date, and possibly further information. Their order is irrelevant. Headers are named after the colon separated start of those lines, for example the ``\texttt{Date:}'' header. A user may write the header himself, but normally the \NAME{MUA} does this job.
    1.35  
    1.36  The body is the payload of the message. It is under full control of the user. From the view point of the \SMTP\ protocol, it must consist of only 7-bit \NAME{ASCII} text. But arbitrary content can be included by encoding it to 7-bit \NAME{ASCII}. \NAME{MIME} is the common \SMTP\ extension to handle such convertion automatically in \NAME{MUA}s.
    1.37  
    1.38 @@ -186,7 +185,7 @@
    1.39  
    1.40  \subsubsection*{The source code}
    1.41  
    1.42 -\masqmail\ is written in the C programming language. The program, as of version 0.2.21, consists of 34 source code and eight header files, containing about 9,000 lines of code\footnote{Measured with \name{sloccount} by David A.\ Wheeler.}. Additionally, it includes a \name{base64} implementation (about 300 lines) and \name{md5} code (about 150 lines). For systems that do not provide \name{libident}, this library is distributed as well (circa 600 lines); an available shared library has higher precedence in linking, though.
    1.43 +\masqmail\ is written in the C programming language. The program, as of version 0.2.21, consists of 34 source code and eight header files, containing about 9,000 lines of code\footnote{Measured with \name{sloccount} by David A.\ Wheeler \citeweb{sloccount}.}. Additionally, it includes a \name{base64} implementation (about 300 lines) and \name{md5} code (about 150 lines). For systems that do not provide \name{libident}, this library is distributed as well (circa 600 lines); an available shared library has higher precedence in linking, though.
    1.44  
    1.45  The only mandatory dependency is \name{glib}---a cross-platform software utility library, originated in the \NAME{GTK+} project. It provides safe replacements for many standard library functions, especially for the string functions. It also offers handy data containers, easy-to-use implementations of data structures, and much more.
    1.46  
    1.47 @@ -213,7 +212,7 @@
    1.48  
    1.49  Mail queuing is essential for \masqmail\ and supported of course, alias expansion is also supported.
    1.50  
    1.51 -The \masqmail\ executable can be called under various names for sendmail-compatibility reasons (see section \ref{sec:sendmail-compat}). This is organized by symbolic links with different names pointing to the \masqmail\ executable. The \sendmail\ names are \path{/usr/lib/sendmail} and \path{/usr/sbin/sendmail} because many programs expect the \mta\ to be located there. Further more \sendmail\ supports calling it with a different name instead of supplying command line arguments. The best known of this 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 other software needing it.} \path{hoststat} and \path{purgestat} are missing for complete sendmail-compatibility.
    1.52 +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 this 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 other software needing it.} \path{hoststat} and \path{purgestat} are missing for complete sendmail-compatibility.
    1.53  %masqmail: mailq, mailrm, runq, rmail, smtpd/in.smtpd
    1.54  %sendmail: hoststat, mailq, newaliases, purgestat, smtpd
    1.55  
    1.56 @@ -304,13 +303,9 @@
    1.57  
    1.58  \section{Delimitation}
    1.59  
    1.60 -<< limit against stuff not covered here >>
    1.61 +This thesis is neigher a installation guide for \masqmail\ nor a bit by bit explanation of \masqmail's source code. Installation and setup guides can be found on \masqmail's homepage \citeweb{masqmail:homepage}.
    1.62  
    1.63 -No installation guide for \masqmail.
    1.64 +Also not regarded is the \NAME{POP3} functionality of \masqmail.
    1.65  
    1.66 -No description of \masqmail's source code, bit by bit.
    1.67  
    1.68 -The \NAME{POP3} functionality of \masqmail\ is not regareded.
    1.69  
    1.70 -
    1.71 -