# HG changeset patch # User meillo@marmaro.de # Date 1223977738 -7200 # Node ID d52fa235013727088ee6cbb6baeab55f5690e997 # Parent d3312a3b6e70dbd27ff7fce737b5432ded245d74 split up into one sentence per line diff -r d3312a3b6e70 -r d52fa2350137 thesis/tex/0-preface.tex --- a/thesis/tex/0-preface.tex Tue Oct 14 11:48:47 2008 +0200 +++ b/thesis/tex/0-preface.tex Tue Oct 14 11:48:58 2008 +0200 @@ -8,15 +8,21 @@ \section*{Audience} -This document is targeted for \masqmail\ users and for people interested in mail systems in general. Security problems in electronic mail, \unix\ and the \NAME{C} programming language will also be discussed. Additional ones planning to take over an unmaintained software project will find real life experience in here. +This document is targeted for \masqmail\ users and for people interested in mail systems in general. +Security problems in electronic mail, \unix\ and the \NAME{C} programming language will also be discussed. +Additional ones planning to take over an unmaintained software project will find real life experience in here. -In each topic, basic knowledge is preconditioned. Nevertheless introductions are given and sources for further reading will be mentioned. +In each topic, basic knowledge is preconditioned. +Nevertheless introductions are given and sources for further reading will be mentioned. -This work focuses on the \unix\ operating system. Experience in usage, administration and program development is assumed. This includes the basic toolchain (e.g. \name{tar}, \name{grep}, etc.), user, file and permission management, as well as writing, compiling and installing programs written in the \NAME{C} language. +This work focuses on the \unix\ operating system. +Experience in usage, administration and program development is assumed. +This includes the basic toolchain (e.g.\ \name{tar}, \name{grep}, etc.), user, file and permission management, as well as writing, compiling and installing programs written in the \NAME{C} language. General information about \unix\ can be found in \cite{unixprogenv} %FIXME: references . %FIXME: references -explain about administrating \unix. And developing programs in \NAME{C} may be learned from \cite{cprog} and \cite{advunixprog}. %FIXME: references +explain about administrating \unix. +And developing programs in \NAME{C} may be learned from \cite{cprog} and \cite{advunixprog}. %FIXME: references %TODO: should I tell them to send email to me when having questions? Or somewhere else? diff -r d3312a3b6e70 -r d52fa2350137 thesis/tex/1-Introduction.tex --- a/thesis/tex/1-Introduction.tex Tue Oct 14 11:48:47 2008 +0200 +++ b/thesis/tex/1-Introduction.tex Tue Oct 14 11:48:58 2008 +0200 @@ -5,27 +5,40 @@ %TODO: have a quote from Bell Labs about email here %FIXME: add references to text -Electronic mail (short: \name{email}) is a basic concept in \unix. On \unix\ machines, a lot of information is distributed by \name{system mail}, which is email sent by the operating system. Beside that, email is the common communication system between humans working on computers. +Electronic mail\index{electronic mail@electronic mail (email)} (short: \name{email}) is a basic concept in \unix. +On \unix\ machines, a lot of information is distributed by \name{system mail}, which is email sent by the operating system. +Beside that, email is the common communication system between humans working on computers. -The \unix\ operating system supports email since 1979 through the \name{mail user agent} (\NAME{MUA}) \path{/bin/mail}. For transporting mail in between two systems, the \NAME{UUCP} protocol (for ``\unix\ to \unix\ copy'') was invented. +The \unix\ operating system supports email since 1979 through the \name{mail user agent} (\NAME{MUA}) \path{/bin/mail}. +For transporting mail in between two systems, the \NAME{UUCP} protocol (for ``\unix\ to \unix\ copy'') was invented. %FIXME: what about `uuxqt' and `rmail' -As generally known, the early development of \unix\ was not only made in the \name{Bell Labratories} of \NAME{AT\&T}. But also the \name{Univerity of California at Berkeley} worked on their version of a \unix\ operating system, called \NAME{UCB} \unix, or \name{Berkeley} \unix. +As generally known, the early development of \unix\ was not only made in the \name{Bell Labratories} of \NAME{AT\&T}. +But also the \name{Univerity of California at Berkeley} worked on their version of a \unix\ operating system, called \NAME{UCB} \unix, or \name{Berkeley} \unix. -This lead to a second \NAME{MUA} from Berkeley: \name{Mail} (with a capital `M'). Also, no \NAME{UUCP} network was set up at Berkeley but an own creation called \name{BerkNet} was used. +This lead to a second \NAME{MUA} from Berkeley: \name{Mail} (with a capital `M'). +Also, no \NAME{UUCP} network was set up at Berkeley but an own creation called \name{Berknet} was used. %FIXME: why? license issues? closed source? %TODO: what about `mailx'? Further more there was a third network type: the \NAME{ARPAnet}, based on the \name{transmission control protocol} (\NAME{TCP}). %FIXME: where did it came from? -Each of the three network types could transfer email between different machines. The file transfer itself was made using \NAME{FTP}, but the higher layered logic of the transfer was different in each. For example was the addressing schema not the same: \NAME{UUCP} used a flat-style schema, while \NAME{ARPAnet} was hierachical. +Each of the three network types could transfer email between different machines. +The file transfer itself was made using \NAME{FTP}, but the higher layered logic of the transfer was different in each. +For example was the addressing schema not the same: \NAME{UUCP} used a flat-style schema, while \NAME{ARPAnet} was hierachical. -Mail transport from one machine using one kind of network to a second machine using another kind was a problem. This showed up at Berkeley where some departments of the university had switched to \NAME{ARPAnet}, and some to \NAME{UUCP}, while the rest was \name{BerkNet}. +Mail transport from one machine using one kind of network to a second machine using another kind was a problem. +This showed up at Berkeley where some departments of the university had switched to \NAME{ARPAnet}, and some to \NAME{UUCP}, while the rest was \name{Berknet}. -It was around 1982, when Eric Allman, then a student at Berkeley, wrote \name{delivermail}. Its purpose was to transform email from one network to another. \name{delivermail} like its successor, the more flexible \sendmail, intermediated between the different networks. They were able to transform email messages from any network to any other. +It was around 1982, when Eric Allman, then a student at Berkeley, wrote \name{delivermail}. +Its purpose was to transform email from one network to another. +\name{delivermail} like its successor, the more flexible \sendmail, intermediated between the different networks. +They were able to transform email messages from any network to any other. -Todays email structure is basicly the same as then. The major difference is the uniformity of the underlying network, which is nearly always the \NAME{ARPAnet}-based \name{Internet}. Most other differences are organized as extensions to the old model of electronic mail. +Todays email structure is basicly the same as then. +The major difference is the uniformity of the underlying network, which is nearly always the \NAME{ARPAnet}-based \name{Internet}. +Most other differences are organized as extensions to the old model of electronic mail. More information about electronic mail and its history can be found at: %FIXME: add books and websites here @@ -35,7 +48,7 @@ \section{Transporting mail} %TODO: include definitions from others here (cites) %TODO: when was the term ``mail transfer agent'' established? -The basic job of a \name{mail transfer agent} (or \name{mail transport agent}, short \NAME{MTA}) is to transfer/transport \name{electronic mail} (short \name{email}) from one host to another. +The basic job of a \name{mail transfer agent} (or \index{mail transport agent|see{mail transfer agent}}\name{mail transport agent}, short \NAME{MTA}) is to transfer/transport \name{electronic mail} (short \name{email}) from one host to another. @@ -47,7 +60,9 @@ % FIXME: is that true? It was the first \NAME{MTA} and had no real alternative for a long time. -All other existing substitutes, which are mainly \name{postfix}, \name{exim}, \name{qmail} and the here regarded \name{masqmail}, mimic \name{sendmail}'s behavior. Especially, they all create a symbolic link named ``sendmail'' pointing to their own executable. This is because a lot of programs assume there is an executable called ``sendmail'' on every computer system. +All other existing substitutes, which are mainly \name{postfix}, \name{exim}, \name{qmail} and the here regarded \name{masqmail}, mimic \name{sendmail}'s behavior. +Especially, they all create a symbolic link named ``sendmail'' pointing to their own executable. +This is because a lot of programs assume there is an executable called ``sendmail'' on every computer system. Besides being the ``standard'', \name{sendmail} probably is the most scalable and powerful solution for transfering emails and definatly the most flexible one. diff -r d3312a3b6e70 -r d52fa2350137 thesis/tex/1-Masqmail.tex --- a/thesis/tex/1-Masqmail.tex Tue Oct 14 11:48:47 2008 +0200 +++ b/thesis/tex/1-Masqmail.tex Tue Oct 14 11:48:58 2008 +0200 @@ -25,13 +25,26 @@ %TODO: let oliver prove read it! %FIXME: add references -The date of the first release (version 0.0.1) is unknown. The only information available is, that it was packaged for \debian\ at 15\nth\ of September in 1999. Further releases were made every few weeks or month during 2000, 2001 and 2002. Development ended in mid-2003 in a hard stop. The last release known to me is version 0.2.20, released on 4\nth\ of June in 2003. +The date of the first release (version 0.0.1) is unknown. +The only information available is, that it was packaged for \debian\ at 15\nth\ of September in 1999. +Further releases were made every few weeks or month during 2000, 2001 and 2002. +Development ended in mid-2003 in a hard stop. +The last release known to me is version 0.2.20, released on 4\nth\ of June in 2003. -During the time of development, Oliver released 53 versions. That means a new release in less than every 20 days in average! +During the time of development, Oliver released 53 versions. +That means a new release in less than every 20 days in average! Mentionable are the four \emph{beta} releases of version 0.1.8 (named with the trailing letters `a' to `d') in winter 2000/2001 and the security-fix 0.1.15.1 in 2002. -One extra release (version 0.2.21) was made by him in November 2005. This one is only available from the \debian\ pool. Comparing it to version 0.2.20 shows, that no source code was altered. Only building documents (like Makefiles) and \debian\ packageing documents were changed. That leeds to the assumption that this last release was specificly created for the needs of \debian---to fix some errors in the package. +One extra release (version 0.2.21) was made by him in November 2005. +This one is only available from the \debian\ pool. +Comparing it to version 0.2.20 shows, that no source code was altered. +Only building documents (like Makefiles) and \debian\ packageing documents were changed. +That leeds to the assumption that this last release was specificly created for the needs of \debian---to fix some errors in the package. -In May 2000 the minor version number increased to `1'. Nothing special is mentioned in the documentation about that. When it increased again to start the 0.2.x releases, Oliver titled them as the ``development branch'' of \masqmail. At that second time, he started developing the 0.2.x ``development branch'', continuing to work on the 0.1.x series. His parallel work on both branches lasted for four month, and one additional last release, numbered 0.1.17, one more year later. +In May 2000 the minor version number increased to `1'. +Nothing special is mentioned in the documentation about that. +When it increased again to start the 0.2.x releases, Oliver titled them as the ``development branch'' of \masqmail. +At that second time, he started developing the 0.2.x ``development branch'', continuing to work on the 0.1.x series. +His parallel work on both branches lasted for four month, and one additional last release, numbered 0.1.17, one more year later. diff -r d3312a3b6e70 -r d52fa2350137 thesis/tex/2-FreeSoftwareProjects.tex --- a/thesis/tex/2-FreeSoftwareProjects.tex Tue Oct 14 11:48:47 2008 +0200 +++ b/thesis/tex/2-FreeSoftwareProjects.tex Tue Oct 14 11:48:58 2008 +0200 @@ -4,7 +4,7 @@ To understand \freesw\ projects, one needs to understand \freesw\ itself first. \section{About \freesw} -The term ``Free Software'' was coined by the \name{Free Software Foundation} (short: \NAME{FSF}), founded by Richard~M.~Stallman (known as ``RMS'') in 1985. %FIXME: check date +The term ``Free Software'' was coined by the \name{Free Software Foundation} (short: \NAME{FSF}), founded by Richard M.\ Stallman (known as ``RMS'') in 1985. %FIXME: check date Although various licenses make software free, none of them represents the thinking of \freesw\ like the the \GNU\ \gpl\ (short: \GPL), which was written by Stallman in 1983. One could say, the \GPL\ ``powered'' the \name{Free Software movement}. @@ -45,7 +45,7 @@ The other, now less common, method is a more closed group, developing in a ``sealed'' room, but releasing finished versions to the public. -Eric~S.~Raymond discusses about these methods, which he named \name{the bazaar} and \name{the cathedral}. %FIXME: add reference +Eric S.\ Raymond discusses about these methods, which he named \name{the bazaar} and \name{the cathedral}. %FIXME: add reference The following text will focus on the ``bazaar'' model. diff -r d3312a3b6e70 -r d52fa2350137 thesis/tex/3-General.tex --- a/thesis/tex/3-General.tex Tue Oct 14 11:48:47 2008 +0200 +++ b/thesis/tex/3-General.tex Tue Oct 14 11:48:58 2008 +0200 @@ -1,5 +1,5 @@ \chapter{In general} -\section{Problems of email} +\section{Problems of electronic mail} \section{Problems of \unix/\NAME{C}} \section{Problems of \MTA{}s} diff -r d3312a3b6e70 -r d52fa2350137 thesis/tex/titlepage.tex --- a/thesis/tex/titlepage.tex Tue Oct 14 11:48:47 2008 +0200 +++ b/thesis/tex/titlepage.tex Tue Oct 14 11:48:58 2008 +0200 @@ -12,18 +12,20 @@ \section*{\centering Abstract} \masqmail\ is a \mta\ for workstations and small networks. It is a drop-in replacement for \sendmail, but much smaller. -This diploma thesis analyzes the structure and concepts of \masqmail, and its security and safety. Based on this knowledge, the source code will get improved and everything will be written down for documentation. +This diploma thesis analyzes the structure and concepts of \masqmail, and its security and safety. +Based on this knowledge, the source code will get improved and everything will be written down for documentation. After successful tests in a real environment, a new version of \masqmail\ will be released and it will be packaged for the \gnulinux\ Distribution \debian. \vspace*{12ex} -Diploma thesis of Markus \textsc{Schnalke} (matriculation number: 039131).\\ -Course \name{Business Information Systems} at the \name{University of Applied Sciences Ulm}.\\ +{\bfseries Diploma thesis} of Markus \textsc{Schnalke} (matriculation number: 039131).\\ +Course \emph{Business Information Systems} at the \emph{University of Applied Sciences Ulm}.\\ Year 2009. +\medskip Supervisor:\\ -Prof.~Dr.~rer.~nat. Markus \textsc{Schäffter}, \name{University of Applied Sciences Ulm}. +Prof.\ Dr.\ rer.\ nat.\ Markus \textsc{Schäffter}, \emph{University of Applied Sciences Ulm}. \vfill