diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2005-07-20 10:26:14 +0000 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2005-07-20 10:26:14 +0000 |
commit | 66df9b24a8e0bebd7b355fe349abb93c684bc506 (patch) | |
tree | 707025529c87fb57ba2a0f08c952536f8907bc6c | |
parent | 6169ea7ebd574d50136f3769efc86575ed54feb0 (diff) | |
download | fetchmail-66df9b24a8e0bebd7b355fe349abb93c684bc506.tar.gz fetchmail-66df9b24a8e0bebd7b355fe349abb93c684bc506.tar.bz2 fetchmail-66df9b24a8e0bebd7b355fe349abb93c684bc506.zip |
Add new design notes document.
svn path=/trunk/; revision=4126
-rw-r--r-- | Makefile.am | 11 | ||||
-rw-r--r-- | NEWS | 6 | ||||
-rw-r--r-- | design-notes.html | 112 | ||||
-rw-r--r-- | esrs-design-notes.html | 6 | ||||
-rw-r--r-- | fetchmail-FAQ.html | 7 | ||||
-rwxr-xr-x | specgen.sh | 1 |
6 files changed, 135 insertions, 8 deletions
diff --git a/Makefile.am b/Makefile.am index 6166c4a3..58892b41 100644 --- a/Makefile.am +++ b/Makefile.am @@ -71,7 +71,7 @@ fetchmail.spec: Makefile.in specgen.sh $(srcdir)/specgen.sh $(VERSION) >fetchmail.spec DISTDOCS= FAQ FEATURES NOTES OLDNEWS fetchmail-man.html \ - fetchmail-FAQ.html esrs-design-notes.html todo.html \ + fetchmail-FAQ.html design-notes.html esrs-design-notes.html todo.html \ fetchmail-features.html README.SSL README.NTLM # extra directories to ship @@ -86,8 +86,13 @@ FAQ: fetchmail-FAQ.html FEATURES: fetchmail-features.html AWK=$(AWK) $(SHELL) $(srcdir)/dist-tools/html2txt $(srcdir)/fetchmail-features.html >$@ || { rm -f $@ ; exit 1 ; } -NOTES: esrs-design-notes.html - AWK=$(AWK) $(SHELL) $(srcdir)/dist-tools/html2txt $(srcdir)/esrs-design-notes.html >$@ || { rm -f $@ ; exit 1 ; } +NOTES: design-notes.html esrs-design-notes.html + echo "This file contains two articles reformatted from HTML." > $@ \ + && echo "------------------------------------------------------" >> $@ \ + && echo "" >> $@ \ + && AWK=$(AWK) $(SHELL) $(srcdir)/dist-tools/html2txtx $(srcdir)/design-notes.html >>$@ \ + && AWK=$(AWK) $(SHELL) $(srcdir)/dist-tools/html2txt $(srcdir)/esrs-design-notes.html >>$@ \ + || { rm -f $@ ; exit 1 ; } TODO: todo.html AWK=$(AWK) $(SHELL) $(srcdir)/dist-tools/html2txt $(srcdir)/todo.html >$@ || { rm -f $@ ; exit 1 ; } @@ -113,6 +113,12 @@ fetchmail 6.3.0 (not yet released officially): since -pre4: * Make tracepolls a server option, as documented. Fixes Debian bug #156094. Matthias Andree. +* Updated some translations. (MA) +* Fix some minor inaccuracies (RFC-1893 related, grammar/spelling) in + the manual page. +* Rename ESR's design notes to esrs-design-notes.html and add a new + design-notes.html document. The NOTES file will contain both of them. + Matthias Andree. fetchmail-6.2.5 (Wed Oct 15 18:39:22 EDT 2003), 23079 lines: diff --git a/design-notes.html b/design-notes.html new file mode 100644 index 00000000..ffd82bf8 --- /dev/null +++ b/design-notes.html @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Updated design notes on fetchmail</title> +<link rev="made" href="mailto:matthias.andree@gmx.de" /> +<meta name="description" content="Updated design notes on fetchmail." /> +<meta name="keywords" content="fetchmail, POP, POP2, POP3, IMAP, ETRN, ODMR, remote mail" /> +<style type="text/css"> +/*<![CDATA[*/ + h1.c1 {text-align: center} +/*]]>*/ +</style> +</head> +<body> +<table width="100%" cellpadding="0" summary="Canned page header"> +<tr> +<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a></td> +<td width="30%" align="right">$Date: 2003/02/28 11:26:47 $</td> +</tr> +</table> + +<hr /> +<h1 class="c1">Design Notes On Fetchmail</h1> + +<h2>Introduction</h2> + +<p>This document is supposed to complement <a + href="esrs-design-notes.html">Eric S. Raymond's (ESR's) + design notes.</a> The new maintainers don't agree with some of the decisions +ESR made previously, and the differences and new directions will be laid +out in this document. It is therefore a sort of a TODO document, until +the necessary code revisions have been made.</p> + +<h2>SMTP forwarding</h2> + +<p>Fetchmails multidrop and rewrite options will process addresses +received from remote sites. Special care must be taken so these +features cannot be abused to relay mail to foreign sites.</p> + +<p>ESR's attempt to make fetchmail use SMTP exclusively failed, +fetchmail got LMTP and --mda options – the latter has a lot of +flaws unfortunately, is inconsistent with the SMTP forwarder and needs +to be reviewed and probably bugfixed. --mda doesn't properly work with +multiple recipients, it cannot properly communicate errors and is best +avoided for now.</p> + +<h2>Server-side vs. client-side state.</h2> + +<h3>Why we need client-side tracking</h3> + +<p>ESR asserted that server-side state were essential and those persons +repsonsible for removing the LAST command from POP3 deserved to +suffer. ESR is right in stating that the POP3 UID tracks which messages +have been read <em>by this client</em> – and that is exactly what +we need to do.</p> + +<p>If fetchmail is supposed to retrieve all +mail from a mailbox reliably, without being disturbed by someone +occasionally using another client on another host, or a webmailer, or +similar, then <em>client</em>-side tracking of the state is +indispensable. This is also needed to match behavior to ETRN and ODMR.</p> + +<h3>Present and future</h3> + +<p>Fetchmail supports client-side state in POP3 if the UIDL option is +used (which is strongly recommended). Similar effort needs to be made to +track IMAP state by means of UIDVALIDITY and UID.</p> + +<p>This will also mean that the UID handling code be revised an perhaps +use one file per account or per folder.</p> + +<h2>Concurrent queries/concurrent fetchmail instances</h2> + +<p>ESR refused to make fetchmail query multiple hosts or accounts +concurrently, on the grounds that finer-grained locks would be hard to +implement portably.</p> + +<p>The idea of using one file per folder or account to track UIDs on the +client-side will make solving this locking problem easy – the lock can +be placed on the UID file instead.</p> + +<h2>Multidrop issues</h2> + +<p>Fetchmail tries to guess recipients from headers that are not routing +relevant, for instance, To:, Cc:, or Resent-headers (which are rare +anyways). It is important that fetchmail insists on the real envelope +operation for multidrop. This is detailed in <a + href="http://home.pages.de/~mandree/mail/multidrop">my + article "Requisites for working multidrop + mailboxes"</a>.</p> + +<p>As Terry Lambert pointed out in the FreeBSD-arch mailing list on +2001-02-17 under the subject "UUCP must stay; fetchmail sucks", +fetchmail performs DNS MX lookups to determine domains for which +multidrop is valid, on the assumption that the receiving SMTP host +upstream were the same as the IMAP or POP3 server.</p> + +<hr /> +<table width="100%" cellpadding="0" summary="Canned page footer"> +<tr> +<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a></td> +<td width="30%" align="right">$Date: 2003/02/28 11:26:47 $</td> +</tr> +</table> + +<br clear="left" /> +<address>Matthias Andree <a + href="mailto:matthias.andree@gmx.de"><matthias.andree@gmx.de></a></address> +</body> +</html> diff --git a/esrs-design-notes.html b/esrs-design-notes.html index 29ba0fb9..e7fbf147 100644 --- a/esrs-design-notes.html +++ b/esrs-design-notes.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> -<title>Design notes on fetchmail</title> + <title>Eric S. Raymond's former Design notes on fetchmail</title> <link rev="made" href="mailto:esr@snark.thyrsus.com" /> <meta name="description" content="Design notes on fetchmail." /> <meta name="keywords" content="fetchmail, POP, POP2, POP3, IMAP, remote mail" /> @@ -16,13 +16,15 @@ <body> <table width="100%" cellpadding="0" summary="Canned page header"> <tr> +<td width="30%">Forward to <a href="design-notes.html">Updated design + notes</a></td> <td width="30%">Back to <a href="index.html">Fetchmail Home Page</a></td> <td width="30%" align="right">$Date: 2003/02/28 11:26:47 $</td> </tr> </table> <hr /> -<h1 class="c1">Design Notes On Fetchmail</h1> +<h1 class="c1">Eric S. Raymond's former Design Notes On Fetchmail</h1> <p>These notes are for the benefit of future hackers and maintainers. The following sections are both functional and diff --git a/fetchmail-FAQ.html b/fetchmail-FAQ.html index acf0b27c..19065384 100644 --- a/fetchmail-FAQ.html +++ b/fetchmail-FAQ.html @@ -414,9 +414,10 @@ fetchmail simple so it stays reliable.</p> <p>For reasons fetchmail doesn't have other commonly-requested features (such as password encryption, or multiple concurrent polls -from the same instance of fetchmail) see the <a -href="http://fetchmail.berlios.de/esrs-design-notes.html">design -notes</a>.</p> +from the same instance of fetchmail) see <a +href="esrs-design-notes.html">ESR's design +notes</a>. Note that this document is partially obsoleted by the +<a href="design-notes.html">updated design notes.</a></p> <p>Fetchmail is a mature project, no longer in constant active development. It is no longer my top project, and I am going to be @@ -168,6 +168,7 @@ rm -rf \$RPM_BUILD_ROOT %doc NOTES OLDNEWS README README.SSL %doc contrib %doc fetchmail-features.html fetchmail-FAQ.html esrs-design-notes.html +%doc design-notes.html %attr(644, root, man) %{_mandir}/man1/fetchmail.1* %attr(755, root, root) /usr/bin/fetchmail # Uncomment the following to support internationalization |