]> Pileus Git - ~andy/fetchmail/blobdiff - design-notes.html
Send # to stdout.
[~andy/fetchmail] / design-notes.html
index 8586189fba87482a21e91e7a4ed9cb57b4609e0c..2054f435929603fd5b37aac251d843f34a6f1bb0 100644 (file)
@@ -10,7 +10,7 @@
 <table width="100%" cellpadding=0><tr>
 <td width="30%">Back to <a href="/~esr/index.html">Fetchmail Home Page</a>
 <td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 2000/04/04 07:27:16 $
+<td width="30%" align=right>$Date: 2001/07/31 05:54:40 $
 </table>
 <HR>
 <H1 ALIGN=CENTER>Design Notes On Fetchmail</H1>
@@ -57,10 +57,10 @@ in its class.  The name change quickly followed.<P>
 
 <H1>The rewrite option</H1>
 
-RFC 1123 stipulates that MTAs ought to canonicalize the addresses of
-outgoing mail so that From:, To:, Cc:, Bcc: and other address headers
-contain only fully qualified domain names.  Failure to do so can break
-the reply function on many mailers.<P>
+MTAs ought to canonicalize the addresses of outgoing non-local mail so
+that From:, To:, Cc:, Bcc: and other address headers contain only
+fully qualified domain names.  Failure to do so can break the reply
+function on many mailers.  (Sendmail has an option to do this.)<P>
 
 This problem only becomes obvious when a reply is generated on a
 machine different from where the message was delivered.  The
@@ -300,7 +300,7 @@ ABOUT_NLS in the source distribution).  This places some
 minor constraints on the code.<P>
 
 Strings that must be subject to translation should be wrapped with _() 
-or N_() -- the former in functuib arguments, the latter in static
+or N_() -- the former in function arguments, the latter in static
 initializers and other non-function-argument contexts.<p>
 
 <H1>Checklist for Adding Options</H1>
@@ -330,17 +330,16 @@ following minimum steps.
 
 <LI>Add code to dump the option value in <code>fetchmail.c:dump_params</code>.
 
-<LI>Add proper <code>FLAG_MERGE</code> actions in fetchmail.c's
-    optmerge() function.  (If it's a global option, add an override 
-    at the end of load_params.)
+<LI> For a per-site or per-user option, add proper
+    <code>FLAG_MERGE</code> actions in fetchmail.c's optmerge()
+    function.  For a global option, add an override at the end of
+    load_params; this will involve copying a "cmd_run."  field to a
+    corresponding "run." field, see the existing code for models.
 
 <LI>Document the option in fetchmail.man.  This will require at least
     two changes; one to the collected table of options, and one full
     text description of the option.
 
-<LI>Add the new token and a brief description to the header comment of
-    sample.rcfile.
-
 <LI>Hack fetchmailconf to configure it.  Bump the fetchmailconf version.
 
 <LI>Hack conf.c to dump the option so we won't have a version-skew problem.
@@ -389,8 +388,8 @@ hours spent looking for subtle pathologies.<P>
 
 <H3>3. IMAP is a Good Thing.</H3>
 
-If there were a standard IMAP equivalent of the POP3 APOP validation,
-POP3 would be completely obsolete.<P>
+Now that there is a standard IMAP equivalent of the POP3 APOP validation
+in CRAM-MD5, POP3 is completely obsolete.<P>
 
 <H3>4. SMTP is the Right Thing</H3>
 
@@ -456,15 +455,15 @@ all shaped the design in one way or another.<P>
 
 <DL>
 <DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc821.txt">RFC821</A>
-<DD>  SMTP protocol
+<DD> SMTP protocol
 <DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc822.txt">RFC822</A>
-<DD>  Mail header format
+<DD> Mail header format
 <DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc937.txt">RFC937</A>
-<DD>  Post Office Protocol - Version 2
+<DD> Post Office Protocol - Version 2
 <DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc974.txt">RFC974</A>
-<DD>  MX routing
+<DD> MX routing
 <DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc976.txt">RFC976</A>
-<DD>  UUCP mail format
+<DD> UUCP mail format
 <DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc1081.txt">RFC1081</A>
 <DD> Post Office Protocol - Version 3
 <DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc1123.txt">RFC1123</A>
@@ -483,6 +482,8 @@ all shaped the design in one way or another.<P>
 <DD> Transition of Internet Mail from Just-Send-8 to 8-bit SMTP/MIME
 <DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc1460.txt">RFC1460</A>
 <DD> Post Office Protocol - Version 3
+<DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc1508.txt">RFC1508</A>
+<DD> Generic Security Service Application Program Interface
 <DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc1521.txt">RFC1521</A>
 <DD> MIME: Multipurpose Internet Mail Extensions
 <DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc1869.txt">RFC1869</A>
@@ -535,13 +536,26 @@ all shaped the design in one way or another.<P>
 <DD> POP3 Extension Mechanism
 <DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc2683.txt">RFC2683</A>
 <DD> IMAP4 Implementation Recommendations
+<DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc2595.html">RFC2595</A>
+<DD> Using TLS with IMAP, POP3 and ACAP
+<DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc2645.html">RFC2645</A>
+<DD>On-Demand Mail Relay: SMTP with Dynamic IP Addresses
+<DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc2821.html">RFC2821</A>
+<DD> Simple Mail Transfer Protocol
+<DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc2822.txt">RFC2822</A>
+<DD>Internet Message Format
 </DL>
+<!--
+RFC2192 IMAP URL Scheme
+RFC2193 IMAP4 Mailbox Referrals
+RFC2221 IMAP4 Login Referrals
+-->
 
 <HR>
 <table width="100%" cellpadding=0><tr>
 <td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
 <td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 2000/04/04 07:27:16 $
+<td width="30%" align=right>$Date: 2001/07/31 05:54:40 $
 </table>
 
 <P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com">&lt;esr@snark.thyrsus.com&gt;</A></ADDRESS>