comparison thesis/tex/1-Introduction.tex @ 275:003410b64739

new texts and rework in ch01: online routes, why masqmail
author meillo@marmaro.de
date Thu, 15 Jan 2009 15:27:03 +0100
parents ddfb228a62a4
children 591217f50f69
comparison
equal deleted inserted replaced
274:56cc2f5755f8 275:003410b64739
146 \item[Scenario 3:] 146 \item[Scenario 3:]
147 A third scenario is unrelated as it is about notebooks. Notebooks are usually used as mobile workstations. One uses them to work at different locations. With the increasing popularity of wireless networks this gets more and more common. Different networks have different setups: In one network it is best to send mail to an \NAME{ISP} for relay. In another network it might be prefered to use a local mail server. A third network may have no Internet access at all, hence using a local mail server is required. All these different setups can be configured once and then used by simply telling the online state to \masqmail, even automatically within a network setup script. 147 A third scenario is unrelated as it is about notebooks. Notebooks are usually used as mobile workstations. One uses them to work at different locations. With the increasing popularity of wireless networks this gets more and more common. Different networks have different setups: In one network it is best to send mail to an \NAME{ISP} for relay. In another network it might be prefered to use a local mail server. A third network may have no Internet access at all, hence using a local mail server is required. All these different setups can be configured once and then used by simply telling the online state to \masqmail, even automatically within a network setup script.
148 \end{description} 148 \end{description}
149 149
150 150
151
152 In general, all kinds of usage scenarios within a trusted network are possible. Important to notice is that mail can not be send from outside into the trusted network then. For using \masqmail\ on notebooks it is suggested to only accept mail from local users, because notebooks are often in untrusted environments. This limitation leads to the next section. 151 In general, all kinds of usage scenarios within a trusted network are possible. Important to notice is that mail can not be send from outside into the trusted network then. For using \masqmail\ on notebooks it is suggested to only accept mail from local users, because notebooks are often in untrusted environments. This limitation leads to the next section.
153 152
154 153
155 154
156 155
210 \label{fig:masqmail-channels} 209 \label{fig:masqmail-channels}
211 \end{figure} 210 \end{figure}
212 211
213 Outgoing \SMTP\ connections feature \SMTP-\NAME{AUTH} and \SMTP-after-\NAME{POP} authentication, but incoming connections do not. Using wrappers for outgoing connections is supported. This allows encrypted communication through a gateway application like \name{openssl}. 212 Outgoing \SMTP\ connections feature \SMTP-\NAME{AUTH} and \SMTP-after-\NAME{POP} authentication, but incoming connections do not. Using wrappers for outgoing connections is supported. This allows encrypted communication through a gateway application like \name{openssl}.
214 213
215 Mail queuing and alias expansion is both supported. 214 Mail queuing is essential for \masqmail\ and supported of course, alias expansion is also supported.
216 215
217 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. 216 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.
218 %masqmail: mailq, mailrm, runq, rmail, smtpd/in.smtpd 217 %masqmail: mailq, mailrm, runq, rmail, smtpd/in.smtpd
219 %sendmail: hoststat, mailq, newaliases, purgestat, smtpd 218 %sendmail: hoststat, mailq, newaliases, purgestat, smtpd
220 219
223 222
224 223
225 \subsubsection*{Online detection and routes} 224 \subsubsection*{Online detection and routes}
226 \label{sec:masqmail-routes} 225 \label{sec:masqmail-routes}
227 226
228 \masqmail\ focuses on 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. This concept is explained in section \ref{sec:masqmail-routes} in detail. Mail to destinations outside the local network gets queued until an online connections is available. 227 \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.
229 228
230 \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. 229 The background of this concept was the send mail to the Internet while using one of a set of dial-up Internet connection from different \NAME{ISP}s. It was quite common that \NAME{ISP}s accepted mail for relay only if it came over a connection they managed. This means, one was not able to relay mail over the mail server of \NAME{ISP}\,1 while being online over the connection of \NAME{ISP}\,2. \masqmail\ is a solution to the wish of switching the relaying mail server easily.
231 230
232 \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. 231 Related is \masqmail's ability to rewrite the send's email address dependent on which \NAME{ISP} is used. This prevents mail from being likely classified as spam.
233 232
234 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. 233 To react on the different situations, \masqmail\ needs to query the current online state. Is an online connection available, and if it is, which one? Three methods are implemented: (1) Reading from a file, (2) reading the output of a command, and (3) by asking an \name{mserver} system. Each method may return a string naming the routes that is online or returning nothing to indicate offline state.
235 --- 234
236 235
237 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. 236 Mail for hosts within the local network or for users on the local machine is not touched by this concept, it is always sent immediately.
238 237
239 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. 238
240 239
241 --- 240
242 241
243 \masqmail\ focuses on 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, like matching \texttt{From:} or \texttt{To:} headers, to determine if some message is allowed to be sent over it. Mail to destinations outside the local network gets queued until an online connections is available. 242
244 243
245 244
246 245 \section{Why \masqmail\ is worthy}
247 246
248 247 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.
249 248
250 249 Additionally does \masqmail\ make it easy to run an \MTA\ on workstations or notebooks. There is no need to do complex configuration or to be a mail server expert. Only a handful of options need to be set; the hostname, the local networks, and one route for relaying are sufficient in most times. %fixme: is that true?
251 250
252 251 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.
253 252
254 \section{Why \masqmail?} 253
255 254 Although development on \masqmail\ stopped in 2003 it still has its users. Having users is alone reason enough for futher development and maintenance. Especially if the software covers a niche, and especially if requirements for such software in general change.
256 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. 255
257 256 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{debian:popcon} are a try to provided numbers. The statistics report 61 \masqmail\ installations, in January 2009. If it is assumed that two third of all \debian\ users report their installed software, there would be in total around 90 \masqmail\ installations in \debian. As \masqmail\ is also distributed with \name{Ubuntu} and FIXME %fixme
258 Workstations use %FIXME 257 , the number is incremented by the guessed number of further 30 systems with \masqmail\ on it. Including an additional amount of 20 installations on operating systems that do not ship \masqmail\ makes about 140 \masqmail\ installations in total. Of course one person may have \masqmail\ installed on more than one computer, but a total of 100 different users seems to be a good guess.
259 258
260 \textbf{Alternatives?} 259 Software that is used should be developed and maintained.
261 http://anfi.homeunix.org/sendmail/dialup10.html 260
262 261
263 262 % alternative: http://anfi.homeunix.org/sendmail/dialup10.html
264 << explain why masqmail is old and why it is interesting/important however! >> 263
265 264 %<< hikernet >>
266 << why is it worth to revive masqmail? >> 265
266 %<< explain why masqmail is old and why it is interesting/important however! >>
267
268 %<< why is it worth to revive masqmail? >>
267 269
268 270
269 271
270 272
271 273
272 274
273 275
274 \section{Problems to solve} 276 \section{Problems to solve}
275 277
276 << what problems has masqmail? >> 278 A program, that no one has developed further for nearly six years, that is located in a field of operation that changed during that time, surely needs improvement. Security and spam have now highly increased importance compared to 2003. Dial-up connections became rare---broadband flatrates are common now. Other \MTA{}s evolved in respect to theses changes, \masqmail\ did not.
277 279
278 << what's the intention of this document? >> 280 The current and trends for a future market situation needs to be identified. Looks at other \MTA{}s need to be taken. And required work on \masqmail\ needs to be defined in combination with the evaluation of strategies to do this work. Finally a plan for further development should be created.
279
280 << why is it worth the effort? >>
281 281
282 282
283 283
284 284
285 285
286 \section{Delimitation} 286 \section{Delimitation}
287 287
288 << limit against stuff not covered here >> 288 << limit against stuff not covered here >>
289 289
290 pop3 stuff of masqmail is not regarded. 290 No installation guide for \masqmail.
291 291
292 292 No description of \masqmail's source code, bit by bit.
293 293
294 The \NAME{POP3} functionality of \masqmail\ is not regareded.
295
296
297