From 66df9b24a8e0bebd7b355fe349abb93c684bc506 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Wed, 20 Jul 2005 10:26:14 +0000 Subject: Add new design notes document. svn path=/trunk/; revision=4126 --- Makefile.am | 11 +++-- NEWS | 6 +++ design-notes.html | 112 +++++++++++++++++++++++++++++++++++++++++++++++++ esrs-design-notes.html | 6 ++- fetchmail-FAQ.html | 7 ++-- specgen.sh | 1 + 6 files changed, 135 insertions(+), 8 deletions(-) create mode 100644 design-notes.html 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 ; } diff --git a/NEWS b/NEWS index fbacf44a..2982c161 100644 --- a/NEWS +++ b/NEWS @@ -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 @@ + + + + +Updated design notes on fetchmail + + + + + + + + + + + +
Back to Fetchmail Home Page$Date: 2003/02/28 11:26:47 $
+ +
+

Design Notes On Fetchmail

+ +

Introduction

+ +

This document is supposed to complement Eric S. Raymond's (ESR's) + design notes. 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.

+ +

SMTP forwarding

+ +

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.

+ +

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.

+ +

Server-side vs. client-side state.

+ +

Why we need client-side tracking

+ +

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 by this client – and that is exactly what +we need to do.

+ +

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 client-side tracking of the state is +indispensable. This is also needed to match behavior to ETRN and ODMR.

+ +

Present and future

+ +

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.

+ +

This will also mean that the UID handling code be revised an perhaps +use one file per account or per folder.

+ +

Concurrent queries/concurrent fetchmail instances

+ +

ESR refused to make fetchmail query multiple hosts or accounts +concurrently, on the grounds that finer-grained locks would be hard to +implement portably.

+ +

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.

+ +

Multidrop issues

+ +

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 my + article "Requisites for working multidrop + mailboxes".

+ +

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.

+ +
+ + + + + +
Back to Fetchmail Home Page$Date: 2003/02/28 11:26:47 $
+ +
+
Matthias Andree <matthias.andree@gmx.de>
+ + 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"> -Design notes on fetchmail + Eric S. Raymond's former Design notes on fetchmail @@ -16,13 +16,15 @@ +
Forward to Updated design + notes Back to Fetchmail Home Page $Date: 2003/02/28 11:26:47 $

-

Design Notes On Fetchmail

+

Eric S. Raymond's former Design Notes On Fetchmail

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.

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 design -notes.

+from the same instance of fetchmail) see ESR's design +notes. Note that this document is partially obsoleted by the +updated design notes.

Fetchmail is a mature project, no longer in constant active development. It is no longer my top project, and I am going to be diff --git a/specgen.sh b/specgen.sh index bb493cc0..a1bc30bc 100755 --- a/specgen.sh +++ b/specgen.sh @@ -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 -- cgit v1.2.3