]> Pileus Git - ~andy/fetchmail/blob - TODO.txt
c473bab25838c4bb80c1e0448019395497aac87b
[~andy/fetchmail] / TODO.txt
1 Note that there is a separate todo.html with different content than this.
2
3 soon - MUST:
4 - Debian Bug #475239, MIME decoder may break up words (need to quote results)
5 - put bare IP addresses in brackets for SMTP (check if there are RFC
6   1123/5321/5322 differences)
7 - Debian Bug #531589: fetchmail ignores SIGUSR1 in idle mode.
8
9 soon - SHOULD:
10 - replace " \n" by "\n" (and similar) - but make sure translators have
11   time to catch up.
12 - make sure the man page completely lists all options (f. i. sslcertpath) in
13   the tables.
14 - allow \Deleted without \Seen, rf. 
15   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=466299
16 - document IMAP4 ACL requirements
17 - CRYPTO: log configured server name on certificate mismatch (perhaps pay
18   attention to via entries and stuff like that)
19 - CRYPTO: BerliOS Bug #11576, thread on fetchmail users "Invalid SSL certificate" by
20   Philip Susi, SSL negotiation does not use ERR_error_string(3ssl) to report
21   errors in a readable way, we just report socket errors with no good reason.
22 - CRYPTO: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=432618
23   * write a table of combinations of TLS/SSL options
24 - add To: header to warning mails (authfail for instance)
25 - Fix TOCTOU race around prc_filecheck*
26 - Read CAPABILITY from greeting if present, saves one round trip.
27 - Check if LAST argument is properly validated against message count.
28 - find a solution for the "invalid header" discards message problem
29   (escape headers and stuff reminder into body)
30 - add Message-ID: header and other SHOULD headers to warning mails?
31 - report multiline SMTP errors properly (sample in private mail from 
32   Earl Chew, 2007-07-30T02:28), Debian Bug #529899
33   => requires reworking SMTP_ok to actually not only read the last line 
34      of multiline replies, but buffer.
35
36 soon - MAY:
37 - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=471176
38   => fetchmail: support utf-8 encoding in log file
39   Revisit http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=400719
40   => syslog messages are localised
41   http://lists.debian.org/debian-devel/2006/11/msg01068.html
42 - when logging to syslog, disable locale?
43 - Get rid of peeking in socket.c? MSG_PEEK seems non-portable.
44 - revise ticker, and add something like .........20%.... ... 100%
45   (suggested by Yue Wu)
46
47
48 questionable:
49 - Convert POP3 UIDs to X-UIDL?
50 - fetch IMAP message in one go (fetchmail-devel by Adam Simpkins
51   <simpkins@cisco.com> around Nov 2nd)?
52
53 6.4:
54 - Remove stupid options, such as spambounce, or deferred bounces for anything
55   but wrong addresses
56 - Do not ever guess envelope from content headers such as To:/Cc:/Resent-To: or
57   similar.
58 - Replace sscanf/fscanf by functions that do range checking
59   (strtol/strtoul), and make arguments unsigned long.
60 - drop LAST support
61 - use PS_PROTOCOL for pre-/post-connect command failures - 6.3 uses 
62   PS_SYNTAX, and that's not necessarily the case. At least if the 
63   command terminates with a signal, we should report PS_PROTOCOL.
64 - revisit maximum allowed rcfile permissions, fix inconsistency
65   (silently allowing g+x).
66 - make UID code more efficient, parsing is O(n^2), should be no worse
67   than O(n log n), lookup is O(n), should be O(log n).
68 - help systematic debugging
69     - by making logging more strict (Postfix's msg_* as example??)
70     - by adding a --loggingtest or something that emits 
71       a set of test log messages at various severity levels, in order to 
72       make sure people get complete logs.
73     - by adding messages where fetchmail stuffed its output.
74 - Debian Bug #454291 fetchmail --quit: should check, that pid file 
75   really contains pid of fetchmail process (Dmitry Nezhevenko)
76   => use fcntl() lock?
77 - feature to skip first N or all messages upon first download, or fetch
78   last N.
79 - download only messages whose headers match a filter (by Toby, Usenet
80   Nov 2007 de.comm.software.mailserver
81   Message-ID: <1195033726.123704.296060@k79g2000hse.googlegroups.com>)
82 - feature request by Daniel Goering <g_daniel@gmx.net> on
83   fetchmail-devel 2007-11-15: populate .fetchids from current messages.
84   (it'll probably be useful to limit this to "all but the 10 latest" or
85   "all before date this-and-that")
86 - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374514
87   "Deleting fetchids file" vs. POP3 - probably unneeded if we use IMAP UIDs.
88 - CRYPTO: change SSL/TLS UI incompatibly, making it easier to use
89 - CRYPTO: allow selection of SSL/TLS Ciphers
90 - CRYPTO: perhaps switch to libgsasl and libgnutls (which doesn't talk SSLv2,
91   but we should abandon that anyways).
92 - CRYPTO: perhaps port to NSS? Check license and features and required procedure
93   changes. - Redhat Bugs #333741 (crypto consolidation), #346891 (port fetchmail to NSS)
94 - CRYPTO: make the SSL default v3 (rather than v23).
95 - CRYPTO: remove sslfingerprint? too easily abused (see NEWS)
96 - CRYPTO: force sslcertck
97 - CRYPTO: by default forbid cleartext or other compromising password
98   schemes over insecure connections?
99 - put more hints to the FAQ (should we call it FGA?) as first support place
100 - make sure we print socket error messages such as connection reset by
101   peer to hint users the problem is not in fetchmail
102 - require envelope option for multidrop ; if not found in header, defer message?
103 - > b) When the envelope header is specified, but it isn't found, a
104   > warning is logged and the mail is forwarded to the postmaster
105   > ("WARNING: Envelope header $HEADER found, cannot identify the
106   > recipient.  Forwarding to the postmaster")
107   Rob MacGregor 2007-03-16 Patch to the man page, fetchmail-devel@
108 - integrate Isaac Wilcox's test rig
109 - look at Tony Earnshaw's .spec file
110 - look at Gentoo patches
111 - remove dead replacement functions: strdup (Andreas Krennmair), ...
112 - more SMTP/LMTP error detail on message rejections even outside verbose mode.
113   Ian D. Allen, fetchmail-users. Two messages with examples.
114   What goes here? fetchmailrc location, server, port, user, folder, anything else?
115 - see if "AUTH SSH" can be made to work for POP3
116 - revisit BerliOS patches
117 - check recent list mail
118 - check Debian BTS and other bug trackers
119 - better logging (log all headers, log forward destination + method)
120 - check strict envelope N Received parsing,
121   see mail from Admin Att on fetchmail-users
122 - 6.3.4-pending-deletes.patch
123 - fetchmail -s with running daemon complains rather than silently
124   restarting daemon
125 - send warning message when connection fails?
126 - check FAQ O5 - do we really prefer From: over envelope?!?
127 - add code to allow safe authentication schemes if TLS fails
128 - make APOP an authenticator, integrate with regular auto authentication
129   but stuff it at the end
130 - allow forcing RETR (RETR vs. TOP, fetchmail-users, drbob 2008-01-11)
131 - CRYPTO: use SASL?
132 - make logfile more useful (redirect not only in daemon mode)
133 - for virtual mapping, we don't currently support local user aliases or 
134   regexp matching with replacement. This would be useful for hosting 
135   several virtual domains in one multidrop mailbox, as in 
136   qmail/courier's:
137
138   @one.example:bob-one
139   @two.example:bob-two
140
141   Result:
142   some@one.example maps to bob-one-some@serverdomain
143   another@two.example maps to bob-two-example@serverdomain
144
145   we can strip the bob-*, but but we don't support domain catchalls 
146   here, and we cannot currently delegate or rewrite the remaining 
147   one-* or two-* users in a useful way. All local parts of the upstream 
148   domains must be known and mapped in the configuration file.
149   (See fetchmail-users, Michelle Konzack, 2009-05-03, "4 multidrop but one 
150    destination server" and followup)
151
152   This probably entails some form of extended user mapping inside 
153   fetchmail, for map_name() in transact.c, and possibly 
154   find_server_names() ibidem.
155
156 DOCUMENTATION:
157 - Add info whether Keywords are global, server or user keywords
158 - consolidate multidrop documentation