annotate thesis/tex/1-Introduction.tex @ 192:4c0ca9fd2246

moved some content
author meillo@marmaro.de
date Wed, 31 Dec 2008 13:57:11 +0100
parents aab8499c9f2f
children c5f44219bc5d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26
fb9ba63f6957 changed to new thesis structure; moved text pieces away; updated project plan
meillo@marmaro.de
parents:
diff changeset
1 \chapter{Introduction}
42
ac4ce4de4154 minor stuff
meillo@marmaro.de
parents: 34
diff changeset
2 \label{chap:introduction}
26
fb9ba63f6957 changed to new thesis structure; moved text pieces away; updated project plan
meillo@marmaro.de
parents:
diff changeset
3
96
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
4 << say what you want to say >>
27
433df94d5476 added pices to thesis ... need rework!
meillo@marmaro.de
parents: 26
diff changeset
5
102
95ebdfe51a55 moved some old text about masqmail
meillo@marmaro.de
parents: 97
diff changeset
6 << the overall goal of the document >>
92
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
7
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
8
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
9
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
10 \section{The \masqmail\ project}
102
95ebdfe51a55 moved some old text about masqmail
meillo@marmaro.de
parents: 97
diff changeset
11 \label{sec:masqmail}
96
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
12
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
13 << about masqmail (some history) >>
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
14
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
15 (include history of email, definition of MTA and sendmail-compatibility in text)
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
16
142
1b0ba5151d1b person names in small caps
meillo@marmaro.de
parents: 135
diff changeset
17 The \masqmail\ program was written by Oliver \person{Kurth}, starting in 1999. His aim was to create a small \mta\ which is especially focused on computers with dial-up connections to the internet. \masqmail\ is easy configurable for situations which are rarely solveable with the common \MTA{}s.
102
95ebdfe51a55 moved some old text about masqmail
meillo@marmaro.de
parents: 97
diff changeset
18
95ebdfe51a55 moved some old text about masqmail
meillo@marmaro.de
parents: 97
diff changeset
19 \masqmail\ queues mail for destinations outside the local network if no connection to the internet is online. If the machine goes online, this mail is sent. Mail to local machines is sent immediately.
95ebdfe51a55 moved some old text about masqmail
meillo@marmaro.de
parents: 97
diff changeset
20
95ebdfe51a55 moved some old text about masqmail
meillo@marmaro.de
parents: 97
diff changeset
21 While the other \MTA{}s are more general purpose \MTA{}s, \masqmail\ aims on special situations only. Nevertheless can it handle ordinary mail transfers too.
95ebdfe51a55 moved some old text about masqmail
meillo@marmaro.de
parents: 97
diff changeset
22
95ebdfe51a55 moved some old text about masqmail
meillo@marmaro.de
parents: 97
diff changeset
23 \masqmail\ is released under the \GPL, which makes it \freesw. The latest stable version is 0.2.21 from November 2005.
95ebdfe51a55 moved some old text about masqmail
meillo@marmaro.de
parents: 97
diff changeset
24
95ebdfe51a55 moved some old text about masqmail
meillo@marmaro.de
parents: 97
diff changeset
25 The program's new homepage \citeweb{masqmail:homepage} provides further information about this \MTA.
96
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
26
92
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
27
160
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
28 \subsubsection*{Target field}
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
29
142
1b0ba5151d1b person names in small caps
meillo@marmaro.de
parents: 135
diff changeset
30 Its original author, Oliver \person{Kurth}, sees \masqmail\ so:
92
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
31 \begin{quote}
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
32 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 ISPs. It replaces sendmail or other MTAs such as qmail or exim.
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
33 \end{quote}
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
34
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
35 \masqmail\ is inteded to cover a specific niche: non-permanent internet connection and different \NAME{ISP}s.
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
36
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
37 Although it can basically replace other \MTA{}s, it is not generally aimed to do so. The package description of \debian\citeweb{packages.debian:masqmail} states this more clearly by changing the last sentence to:
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
38 \begin{quote}
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
39 In these cases, MasqMail is a slim replacement for full-blown MTAs such as sendmail, exim, qmail or postfix.
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
40 \end{quote}
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
41 \masqmail\ is a good replacement ``in these cases'', but not generally, since is lacks features essential for running on mail servers. It is primarily not secure enough for being accessable from untrusted locations.
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
42
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
43 The program is best used in home networks, which are non-permanently connected to the internet. \masqmail\ sends mail to local destinations, like users on the same machine and on other machines in the local net, immediately. Email to recipients outside the local net are queued when offline and sent when a online connection gets established.
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
44
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
45 Further more does \masqmail\ respect online connections through different \NAME{ISP}s; a common thing for dial-up connections. In particular can different sender addresses be set, dependent on the \NAME{ISP} that is used. This prevents mail to be likely classified as spam.
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
46
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
47
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
48
160
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
49 \subsubsection*{Typical usage}
92
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
50 This section describes situations that make senseful use of \masqmail.
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
51
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
52 A home network consisting of some workstations without a server. The network is connected to the internet by dial-up or broadband. Going online is initiated by computers inside the local net. \NAME{IP} addresses change at least once every day.
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
53
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
54 Every workstation would be equiped with \masqmail. Mail transfer within the same machine or within the local net works straight forward. Outgoing mail to the internet is sent, to the concerning \NAME{ISP} for relaying, whenever the router goes online. Receiving of mail from outside needs to be done by a mail fetch program, like the \masqmail\ internal \NAME{POP3} client or \name{fetchmail} for example. The configuration for \masqmail\ would be the same on every computer, except the hostname.
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
55
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
56 For the same network but having a server, one could have \masqmail\ running on the server and using simple forwarders (see \ref{subsec:relay-only}) to the server on the workstations. This setup does only support mail transfer to the server, but not back to a workstation; also sending mail to another user on the same workstation is not possible.
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
57
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
58 A better setup is to run \masqmail\ on every machine %FIXME
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
59
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
60
135
eef80e989616 moved some sentences
meillo@marmaro.de
parents: 133
diff changeset
61 ---
eef80e989616 moved some sentences
meillo@marmaro.de
parents: 133
diff changeset
62
eef80e989616 moved some sentences
meillo@marmaro.de
parents: 133
diff changeset
63 As \masqmail\ is focused on non-permanent Internet connections, online state can be queried by three methods: reading from a file, reading the output of a command, or by asking an \name{mserver}. Each method may return a string indicating one of the available routes being online, or returning nothing to indicate offline state.
eef80e989616 moved some sentences
meillo@marmaro.de
parents: 133
diff changeset
64
eef80e989616 moved some sentences
meillo@marmaro.de
parents: 133
diff changeset
65 Delivery to recipients on the local host or in local nets is done at once; delivery to recipients on the Internet is only done when being online, and queued otherwise. Each online route may have a different mail server to which mail is relayed. Return address headers are modified appropriate if wished.
eef80e989616 moved some sentences
meillo@marmaro.de
parents: 133
diff changeset
66
eef80e989616 moved some sentences
meillo@marmaro.de
parents: 133
diff changeset
67 ---
eef80e989616 moved some sentences
meillo@marmaro.de
parents: 133
diff changeset
68
92
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
69
160
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
70
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
71
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
72
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
73 \subsubsection*{\masqmail's main goal}
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
74
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
75 \masqmail\ does have similar requirements, by being a \sendmail\ replacement, which is a basic goal of the project. The main difference is that \masqmail\ is intended to be used on workstations and in small networks, but \sendmail, \qmail, and \postfix\ are designed to run on large mail servers to handle masses of email. The author of \masqmail, \person{Kurth}, in contrast, warns on the old project's website \citeweb{masqmail:homepage2} about using it to accept connections from the Internet, because of the risk to be an open relay:
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
76 \begin{quote}
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
77 MasqMail is not designed to run on a host with a permanent internet connection. It does not have the ability to check for spam mail and it will relay everything from everywhere to everywhere. Use another mail server such as exim for permanent connections.
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
78 \end{quote}
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
79 Even if some relay control will be added, ``is not designed to'' is a clear indicator for being careful. Issues like high memory consumption, low performance, and denial-of-service attacks---things not regarded by design---may cause serious problems.
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
80
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
81 Here shows a misfit off: On the one hand does \masqmail\ want to be a \sendmail\ replacement. But on the other hand, is it not designed to be used like \sendmail. If \masqmail\ is inteded to replace other \MTA{}s, then one may replace another one with it. Hence it must be secure enough. It either needs the security features or must drop the unsecure funtionality. The second option, however, leads to being \emph{no} replacement for other \MTA{}s. It is a valid decision to not be a replacement for \sendmail\ or thelike, but this is a design decision---the change of a primary goal.
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
82
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
83 If \masqmail\ should be an \MTA\ to replace others, a switch to a better suited architecture that provides good security and extendability by design, seems required. But if \masqmail\ is wanted to cover some special jobs, not to replace common \MTA{}s, then its architecture depends on the special requirements of the specific job; \MTA\ architectures, like discussed by \person{Hafiz}, may be inadequate.
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
84
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
85
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
86 \subsubsection*{Full featured or stripped down}
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
87
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
88 What future is to choose for \masqmail---one to be a full featured \MTA, or one to be a stipped down \MTA\ for special jobs?
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
89
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
90 The critical point to discuss upon is surely the listening on a port to accepte messages from outside via \NAME{SMTP} (herafter also refered to as the \NAME{SMTP}-in channel). This feature is required for an \MTA\ to be a \name{smart host}, to relay mail. But running as deamon and listening on a port requires much more security effort, because the program is put in direct contact with attackers and other bad guys.
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
91
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
92 \MTA{}s without \SMTP-in channels can not receive mail from arbitrary outside hosts. They are only invoked by local users. This lowers the security need a lot---however, security is a general goal and still required, but on a lower level. Unfortunately, as they do not receive mail anymore (except by local submission), they are just better \name{forwarders} that are able to send mail directly to the destination.
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
93
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
94 This is not what \masqmail\ was intended to be. Programs that cover this purpose are available; one is \name{msmtp}.
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
95
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
96 \masqmail\ shall be a complete \mta. It shall be able to replace ones like \sendmail.
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
97
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
98
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
99
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
100
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
101
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
102
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
103
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
104
d8ad54f11e88 added text segment about the main goal of masqmail
meillo@marmaro.de
parents: 150
diff changeset
105 \subsubsection*{What makes it special}
92
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
106
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
107 As main advantage, \masqmail\ makes it easy to set up an \MTA\ on workstations or notebooks without the need to do complex configuration or to be an mail server expert.
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
108
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
109 Workstations use %FIXME
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
110
96
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
111 \textbf{Alternatives?}
92
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
112 % http://anfi.homeunix.org/sendmail/dialup10.html
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
113
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
114
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
115
96
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
116 << explain why masqmail is old and why it is interesting/important however! >> %FIXME
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
117
175
aab8499c9f2f moved ch06s content into other chapters to remove it
meillo@marmaro.de
parents: 160
diff changeset
118 << why is it worth to revive masqmail? >>
aab8499c9f2f moved ch06s content into other chapters to remove it
meillo@marmaro.de
parents: 160
diff changeset
119
96
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
120
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
121
92
e050221efd38 much restructuring again
meillo@marmaro.de
parents: 89
diff changeset
122 \section{Problems to solve}
96
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
123
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
124 << what problems has masqmail? >> %FIXME
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
125
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
126 << what's the intention of this document? >> %FIXME
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
127
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
128 << why is it worth the effort? >> %FIXME
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
129
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
130
150
0d097f4300ce moved typographic conventions from ch01 to preface
meillo@marmaro.de
parents: 142
diff changeset
131 \section{What is not covered here}
96
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
132
150
0d097f4300ce moved typographic conventions from ch01 to preface
meillo@marmaro.de
parents: 142
diff changeset
133 << limit against stuff not covered here >>
96
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
134
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
135
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
136 \section{Further reading}
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
137
150
0d097f4300ce moved typographic conventions from ch01 to preface
meillo@marmaro.de
parents: 142
diff changeset
138
96
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
139 << specify the really important external documents here >> %FIXME
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
140
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
141 << write about the bundled CD, and tell what's included >> %FIXME
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
142
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
143 \NAME{RFC}s, other books, source code, websites
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
144
8db526d7a678 reorganized preface and introduction (feels better now)
meillo@marmaro.de
parents: 93
diff changeset
145
133
653ff21b89be the last commit had a bad message better is:
meillo@marmaro.de
parents: 132
diff changeset
146