"Fossies" - the Fresh Open Source Software Archive 
Member "tin-2.6.2/doc/TODO" (4 Nov 2022, 46354 Bytes) of package /linux/misc/tin-2.6.2.tar.xz:
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
See also the latest
Fossies "Diffs" side-by-side code changes report for "TODO":
2.6.1_vs_2.6.2.
1 Items which are showstoppers for the next major release are marked with '!'
2 in front of them (feel free to up/downgrade and/or add or fix bugs, this
3 file is not read only ,-).
4
5 Bugs
6 ----
7 o replying via email to an article with
8 From: =?us-ascii?q?<a@example.com>,?= <b@example.org>
9 will result in
10 To: <a@example.com>, <b@example.org>
11 [20141230 Urs Janssen <urs@tin.org>]
12
13 o get_respcode() doesn't handle the 401 response code. as we have to
14 evaluate the response text as well we have to fix every
15 nntp_command(..., NULL, 0) call.
16 [20100429 Urs Janssen <urs@tin.org>]
17
18 o col_response is a misnomer as the counter doesn't count responses
19 anymore (except on the very first article). The man-page is outdated too.
20 [20080826 Urs Janssen <urs@tin.org>]
21
22 o unexpected multiline responses confuse tin, e.g.:
23 | 240 Article posted =?ISO-8859-1?Q?=3C=3D=3Fiso=2D8859=2D1=3Fq=3F=3F=3D87r7k8na?=
24 | =?ISO-8859-1?Q?vt=2Efsf=40urs=2Did=2Etest=2Eka=2Enu=3E?=
25 (the servers response should be a single line (INN 2.2))
26 [20050207 Urs Janssen <urs@tin.org>]
27
28 o better integrate saving of MIME/non-MIME articles when not using libuu.
29 MIME sections are saved by the 's'ave operations, uuencoded sections
30 are saved as part of the postprocess backend
31 [mostly done]
32 [Jason Faultless <jason@altarstone.com>]
33
34 o batch mode has several bugs
35 - -Z and giving a cmd-line group the cmd-line group is not displayed in
36 the statistics nor taken into account for the 'any unread news' status.
37 - -vc could be more verbose (like -vcZ is)
38 - -o currently is not a 'batch_mode' option
39 - -u could be faster if not building threads etc. pp.
40 (build_references(), filter_articles(), make_threads())
41 [Urs Janssen <urs@tin.org>]
42
43 o add version number to other config-files (e.g. tin.defaults)
44 and do the same checks as for TINRC_VERSION/tinrc. for the
45 tinrc, filter and attributes file store the charset the file is written
46 in (e.g. ISO-8859-x vs. unicode) and for the filter file the filter method
47 used (wildmat or regexp (or TRE))
48 [Urs Janssen <urs@tin.org>]
49
50 o overview file caching code is over-complex
51 - cache the original overview info instead of rebuilding it from
52 the processed (decoded etc.) data, no matter if it's broken (e.g.
53 contains raw 8 bit data) as we have to deal with that anyway. if there
54 are no original overviews, cache the original data from the postings
55 headers (after unfolding and tab removal).
56 - Add docs to explain how to create system-wide overviews
57
58 o iso2asc conversion is missing for 'internal' strings (e.g. 'M'enu)
59 [20020319 Urs Janssen <urs@tin.org>]
60
61 o comments in attributes get lost (we need to do something like we do for
62 the filter file)
63 [20080425 Urs Janssen <urs@tin.org>]
64
65 o if falling back to HEAD/NEXT ([X]OVER not working) tinrc.getart_limit
66 isn't honored
67 [20090112 Urs Janssen <urs@tin.org>]
68
69 o the keys GroupToggleSubjDisplay / GROUP_TOGGLE_SUBJECT_DISPLAY and
70 ThreadToggleSubjDisplay / THREAD_TOGGLE_SUBJECT_DISPLAY are misnamed,
71 as they toggle the display of the sender address, not the subject.
72 [20130839 Urs Janssen <urs@tin.org>]
73
74 o the key ToggleHelpDisplay / GLOBAL_TOGGLE_HELP_DISPLAY is misnamed
75 (like txt_help_global_toggle_mini_help, but at least text now is
76 updated) wrong as it toggles tinrc.beginner_level which also controls
77 displaying the posting etiquette
78 [20210106 Urs Janssen <urs@tin.org>]
79
80 o there is a memleak in read_cmd_line_options(envargs()) if $TINRC is set
81
82 Pager Problems
83 --------------
84
85 Posting Problems
86 ----------------
87 o 8bit chars in some headers are RFC-2047-encoded where this is not allowed
88 according to usefor (Newsgrous, Distribution, ...) - do_rfc15211522_encode()
89 simply encodes all headers no matter if any of them must not be encoded
90 (see parse_rfc822_headers()).
91 [20090112 Urs Janssen <urs@tin.org>]
92
93 o remove Message-IDs with 8bit chars in them when they occur in
94 Message-ID or References header
95 [done for References in replies/followups, Urs]
96
97 o keep RFC 6532 in mind as parts of it will sooner or later make it into
98 NNTP (sic!).
99 [20120220 Urs Janssen <urs@tin.org>]
100
101 o repost ('x') ignores some ~/.tin/attributes
102 [fixed for mailing_list, Urs]
103
104 o forged cancelling via Supersedes:/Also-Control:/Control:-header is possible
105 if it is supplied by hand (inews_prog=--internal)
106
107 o when last articles in a newsgroup were cancelled, it shows that there are
108 new articles in that group (except when using -n cmd-line flag)
109
110 o mailers other than sendmail (f.e. mutt) and use_mailreader_i=OFF may lead
111 to 'duplicated'-headers and multiple signatures
112
113 New features
114 ------------
115 o add code for other TLS/SSL libraries (wolfSSL, mbed TLS, ...)
116 (<mbedtls/version.h> MBEDTLS_VERSION_STRING_FULL
117 <wolfssl/version.h> LIBWOLFSSL_VERSION_STRING || OPENSSL_VERSION_TEXT)
118
119 o add "COMPRESS DEFLATE" support
120 <https://www.rfc-editor.org/rfc/rfc8054.txt>
121 [20100122 Urs Janssen <urs@tin.org>]
122
123 o add possibility to dump the current key mapping to a file
124
125 o make the group status flag (moderated, new, bogus, ...) configurable
126 like the thread and article flag (select.c:build_gline(%f))
127 [20210709 Urs Janssen <urs@tin.org>]
128
129 o add configure check for cl_clear_secret() in libcanlock and CL_API_MAJOR,
130 CL_API_MINOR in canlock.h and if suitable prefer over bundled
131 libcanlock (--with-canlock).
132 [20190212 Urs Janssen <urs@tin.org>]
133
134 o update included libcanlock to >= 3.3.0
135 [20211024 Urs Janssen <urs@tin.org>]
136
137 o allow per server cache_overview_files setting via serverrc.
138 [20180215 Urs Janssen <urs@tin.org>]
139
140 o add something like default_cmd_line_opts (acting like $TINRC) to serverrc?
141 precedence [low to high] = serverrc.def_cmd_line_opts, $TINRC, cmd-line?
142 [20190205 Urs Janssen <urs@tin.org>]
143
144 o if we extend serverrc it should also get some 'M'enu.
145 [20190205 Urs Janssen <urs@tin.org>]
146
147 o implement SAVE_APPEND_FILE_ALL ('A') and SAVE_OVERWRITE_ALL ('O') keys
148 which just ask once if file(s) already exist (open_save_filename()).
149 [20170811 Urs Janssen <urs@tin.org>]
150
151 o add second pipe command when piping multiple articles to use one
152 pipe per article (currently it is one pipe for all). ':' could be
153 used as key (only in use at the pager where this feature doesn't make
154 sense).
155 [20160412 Urs Janssen <urs@tin.org>]
156
157 o allow to cancel piping / saving multiple articles, ESC/'z' just stops the
158 current one
159 [20160409 Urs Janssen <urs@tin.org>]
160
161 o add per scope getart_limit via attributes
162 [20131114 Urs Janssen <urs@tin.org>]
163
164 o add support for %A (Address), %C (Firstname), %N (Fullname) to
165 group_format and thread_format
166 (what about "conflicting" settings for show_author and %[ACIN]?)
167 [20130925 Urs Janssen <urs@tin.org>]
168
169 o add a key to "drop" pending data from the server (either by
170 disconnect/reconnect (fast but reconnect may fail due to rate limit or ...)
171 or via calling drain_buffer() (might be slow if there is much pending
172 data)) so one doesn't have to quit and restart tin if the client/server
173 communication gets desynced (i.e by reading an article which has a non
174 dot-stuffed lone '.' in it or the like)
175 [20130615 Urs Janssen <urs@tin.org>]
176
177 o x_body currently doesn't allow cmd. execution via ! like x_headers
178 [20110912 Urs Janssen <urs@tin.org>]
179
180 o add nntp_default_server to tin.defaults to override compile time setting.
181 if given strings starts with / or ~ the value is taken from the referenced
182 file, if it starts with $ it is read from the referenced variable.
183 [20101118 Urs Janssen <urs@tin.org>]
184
185 o the old space_goto_next_article=ON && space_goto_next_unread=OFF is not
186 possible with the new goto_next_unread rc-var, we need something like
187 an additional goto_next_read rc-var
188 [20101101 Urs Janssen <urs@tin.org>]
189
190 o add DEFAULT_SIGDASHES_REGEX and related 'M'enu-entry for signature
191 detection in cook.c
192 [20080925 Urs Janssen <urs@tin.org>]
193
194 o allow remapping of the 'z' abort-key (lynx style) in wait_for_input().
195
196 o add more user defined screen layout at different levels (e.g. posting
197 history screen)
198 (mostly done for selection, group and thread level)
199 [20041025 Urs Janssen <urs@tin.org>]
200
201 o allow a Message-ID on the cmd. line to jump to the given article
202 [20170718 Urs Janssen <urs@tin.org>]
203
204 o add more AUTHINFO SASL (RFC 4643, RFC 5802) support (DIGEST-MD5,
205 EXTERNAL, ...) and a fallback if no libgsasl is found (e.g cyrus-sasl
206 or a handrolled version for at least PLAIN)
207 [20080316 Urs Janssen <urs@tin.org>]
208
209 o make 'GNKSA'-parser RFC5322/USEFOR compliant (e.g.
210 misc.c:gnksa_dequote_plainphrase()) and fix bugs
211
212 o add XZVER (and XZHDR) support (zlib compressed yyencoded overview data)
213 <http://helpdesk.astraweb.com/index.php?_m=news&_a=viewnews&newsid=9>
214
215 o the TLD checking in the 'GNKSA'-parser needs some rework, keeping the
216 list of valid TLDs up to date is more or less impossible with the ~1400
217 pending new TLDs
218 [20131024 Urs Janssen <urs@tin.org>]
219
220 o add In-Reply-To threading for mailgroups
221 [20030518 Urs Janssen <urs@tin.org>]
222
223 o make auto'S'ave also work for inrange groups
224 (unfortunately 'S' at select level is used for something else)
225 [20030508 Urs Janssen <urs@tin.org>]
226
227 o turn ask_for_metamail into $MM_NOASK support (see metamail(1))
228 [20030314 Urs Janssen <urs@tin.org>]
229
230 o fetch overview data in chunks (e.g. 100 arts/chunk) to allow
231 faster read interruption.
232 [20020326 Dirk Nimmich <nimmich@muenster.de>]
233
234 o add bold-italic, bold-underline, italic-underline, bold-italic-underline
235 word highlightings.
236 [20020721 Urs Janssen <urs@tin.org>]
237
238 o allow bold, underline, italic, ... as color substitution for
239 monochrome terminals (map green=underline, italic=yellow)
240 (see also
241 <nntp://news.tin.org/20020416202232.A4575@bloatware.reston01.va.comcast.net>)
242 [20030218 Serge Matveev <sm@cl.spb.ru>]
243
244 o hierarchical 'M'enu, e.g. put all art_marked_*into a 'submenu',
245 restructure/sort 'M'enu items, some display-options (render BiDi) are
246 currently under expert options, some options in display options are
247 navigation options (catchup thread, use mouse, ...)
248 [20020322 Urs Janssen <urs@tin.org>]
249
250 o add a postponed 'browser' (store postponed arts in MH or maildir
251 format to make things easier?)
252 [20020305 Dirk Nimmich <nimmich@muenster.de>]
253
254 o add postpone option for mail-actions;
255 reusing p'o'stponed articles in mailing_list groups doesn't work
256 (possible fix: store Newsgroups (and other info) via msg_add_header()
257 (to overwrite any old values) in X-Tin-Postponed:-header and remove it
258 before posting.)
259 [20010623 Urs Janssen <urs@tin.org>]
260
261 o should the postponed 'file' (and posted messages 'file') be in
262 mailbox_format (even if that's a one file/message format, thus
263 the 'file' actually needs to be a directory?).
264
265 o add maildir/maildir++ support (besides MBOX{O,RD} and MMDF},
266 MH (not only reading but also writing), mailstore, BABYL, Kendra (MMDF
267 like with 20*CTRL-A as sep.), MBX and MIX (indexed MBOX from UW-IMAP)
268 and add man-pages for the various formats.
269 (see <https://quimby.gnus.org/notes/BABYL> for BABYL,
270 <http://www.qmail.org/man/man5/maildir.html> for maildir,
271 <http://www.qmail.org/man/man5/mbox.html> for MBOXCL and MBOXCL2,
272 <http://www.washington.edu/imap/listarch/2000/msg00363.html> for MBX,
273 <http://www.washington.edu/imap/documentation/mixfmt.txt.html for MIX)
274 [20020215 Urs Janssen <urs@tin.org>]
275
276 o add $LOCKEXT support
277 [20030611 Urs Janssen <urs@tin.org>]
278
279 o add xxencode (<http://www.debath.co.uk/code/xxencode.c>),
280 base224 (<http://b-news.sf.net/>), xBin <http://www.xbin.org/>,
281 base91 (<http://base91.sourceforge.net/>) and yenc (hide/decode-)support
282 (see <http://yydecode.sourceforge.net/> for readable code, ignore
283 the crap on <http://www.yenc.org/>). also check
284 <http://www.exit109.com/~jeremy/news/binaries/> which might replace yenc
285 etc.pp. some day.
286 [20020216 Urs Janssen <urs@tin.org>]
287
288 o add "Face:" (incompatible "X-Face:"-replacement) support?
289 [20040107 Urs Janssen <urs@tin.org>]
290
291 o turn CA_ERROR_SPACE_IN_NEWSGROUPS, CA_ERROR_NEWLINE_IN_NEWSGROUPS,
292 CA_ERROR_SPACE_IN_FOLLOWUP_TO, CA_ERROR_NEWLINE_IN_FOLLOWUP_TO into
293 CA_WARNING_s (see RFC 5536 3.1.4. and 3.2.6.) and mark them
294 for removal in the future.
295 [define ALLOW_FWS_IN_NEWSGROUPLIST to turn the mentioned errors into
296 warnings. 20011226 Urs Janssen <urs@tin.org>]
297
298 o support "Suggested Minimal Digest Format"
299 <ftp://rtfm.mit.edu/pub/usenet/news.answers/faqs/minimal-digest-format>
300
301 o add new threading method: thread by reference, but split threads on
302 subject change
303 [Urs Janssen <urs@tin.org>]
304
305 o rewrite thread-method selection that users can easily combine different
306 threading methods (THREAD_SUBJ + THREAD_MULTI || THREAD_REFS +
307 THREAD_MULTI || ...) - see also note in art.c
308 [20011117 Urs Janssen <urs@tin.org>]
309
310 o add counter to post-processing commands (processing file x of y)
311 (Is post-processing really that slow? [Jason Faultless
312 <jason@altarstone.com>] no but if you post-process more than a
313 handful of files it would be useful [Urs Janssen <urs@tin.org>])
314
315 o add key to toggle article and thread sorting preferences on the fly
316 (like 'u' for threading)
317
318 o check if servers high mark is lower than the one in users newsrc, if so
319 issue a warning and allow the luser to reset the highmark in the newsrc
320 to the servers 'l'ow or the servers 'h'igh mark or 'i'gnore it.
321
322 o check if the articles Subject/From in the pager matches (minus
323 whitespaces) the one on the overview file (if available) - if not
324 issue a warning that the servers overviews seem to be broken. trust
325 the headers, not overviews. (see note in rfc2046.c)
326 do the same with the article numbers in the (cached) overview
327 data (we already do this, but currently this will lead to article "loss").
328 if they are higher than the server's high-mark don't trust them (and
329 discard the locally cached data).
330
331 o attributes (still) needs some work; See doc/config-anomalies.
332 [20030303 Dirk Nimmich <nimmich@muenster.de>]
333
334 o add IPv6 support
335 (add protocol independent wrappers which use IPv6 (functions)
336 whenever possible).
337 there are two small problems with the minimalistic IPv6 support which is
338 currently in tin: when getaddrinfo() is used to get the name/ip of the
339 newsserver it always uses DNS (gethostbyname()/gethostbyaddr() checked
340 /etc/hosts first) and getaddrinfo() seems to have a (huge) delay in some
341 cases. use getipnodebyname()/getipnodebyaddr() (if available) instead.
342 check for gethostbyaddr_r()/gethostbyname_r() and use them instead
343 of gethostbyaddr()/gethostbyname() if available.
344
345 o add cmd-line/tinrc-switch to fetch only headers of unread articles;
346 in that case, make 'r' reading the rest of the articles
347 [-G is a start]
348 allow setting a per group limit via attributes
349
350 o check if server supports 'LIST MODERATORS' and/or 'LIST DISTRIB.PATS' and
351 if it does parse the output so it can be shown to the user. (e.g. when
352 posting to a moderated group, show the moderators mail-address, but still
353 leave the mailing to the server; if the group has limited distribution
354 inform the user, ...)
355
356 o if using "-n" command-line switch you can't subscribe to newsgroups not
357 present in your newsrc - a simple check against the server
358 (e.g. GROUP $newsgroup or if !NNTP try to stat the dir) would help.
359 if the server understands "LIST ACTIVE grp" we could also get the group's
360 attribute (moderated, etc.) and with "LIST NEWSGROUPS grp" it's
361 description.
362
363 o item_by_item_etiquette_warnings [compile-time?]
364 (e.g. enable x-posts without f'up warning, disable long-sig warning)
365
366 o posted_articles_file is not available in attributes
367 [20130628 Urs Janssen <urs@tin.org>]
368
369 o unify Fcc and posted_articles_file
370 [20031012 Dirk Nimmich <nimmich@muenster.de>]
371
372 o MIME-pgp support according to RFC 2015, RFC 3156 - (should be easy now)
373 and/or in the format that used by signcontrol/pgpverify (see also
374 tinews.pl)
375 As MIME-pgp verification needs the undecoded mime-part with its headers
376 storing the raw-offset of each part in the article would be very helpful.
377
378 o pgpverify invocation with a single key instead of '|''a''pgpverify' or a
379 built-in pgpverify solution.
380
381 o pgp-{6,7} support
382
383 o use runtime config for pgp instead of hardcoded values depending on
384 compile time detection, i.e. have tinrc vars for pgp_decode, pgp_verify, ...
385 like in mutt and/or
386
387 o add check for GPGME (<http://www.gnupg.org/related_software/gpgme/>) and if
388 found use it for pgp actions.
389
390 o add feature Cc:
391
392 o add feature show_new_newsgroups_since
393
394 o add new key which tags articles based on a prompted regex, could be used
395 for GROUP_MARK_THREAD_READ,PAGE_MARK_THREAD_READ,THREAD_MARK_ARTICLE_READ
396 and/or something like GROUP_SELECT_THREAD/THREAD_SELECT_ARTICLE which
397 works on tagged arts (the later might be useful in conjunction with
398 GROUP_MARK_UNSELECTED_ARTICLES_READ)
399 [20051110 Urs Janssen <urs@tin.org>]
400
401 o Additions to the thread menu:
402 ']' (GLOBAL_QUICK_FILTER_KILL)
403 '[' (GLOBAL_QUICK_FILTER_SELECT)
404 'r' (reply to) /* not 'R' cause it conflicts with mail_bugreport */
405 '' r should be toggle show all/show only unread
406 'f' (post a followup) (maybe also 'F', '^W', ...)
407 'N' (next unread article)
408 'P' (previous unread article)
409 'V' (View/pipe/save multimedia attachments)
410 'X' (mark all unread articles that have not been selected as read)
411 ';' (mark unread arts as hot if >= 1 art in thread is hot)
412 '+' (mark thread as hot)
413 '=' (mark pattern as hot)
414 '@' (toggle selections)
415 'Y' (check for new articles in thread)
416 '%' (toggle rot13 encoding of screen content)
417 'x' (repost)
418 'e' (edit mailgroup article)
419 keys to go to previous/next thread
420
421 o Additions to the group menu:
422 'V' (View/pipe/save multimedia attachments)
423 'Y' (check for new articles in group)
424 '%' (toggle rot13 encoding of screen content)
425
426 o Additions to the select menu:
427 '%' (toggle rot13 encoding of screen content)
428 key to toggle groupname abbreviation
429
430 o Add to the 'M'enu:
431 '&' (GLOBAL_TOGGLE_COLOR)
432 and maybe a way to change built in path like DEFAULT_MAILER, PATH_PGP, ...
433
434 o Add to the attachment menu ('V'):
435 'F' post followup to current article, not including current attachment
436 'f' post followup to current article, including current (or tagged)
437 attachment(s)
438 'm' mail attachment
439 'o' print attachment
440 'r' reply through mail to author, including current attachment
441 '' reply through mail to author, not including current attachment
442 ('R' is already taken by GLOBAL_BUGREPORT)
443 't' tag attachments for '|', 'p', 's', 'm' (done for 's')
444 '#' tag range of attachments (n-m)
445 'x' repost current attachment to another group
446 '%' (toggle rot13 encoding of screen content)
447 '&' (GLOBAL_TOGGLE_COLOR)
448
449 o Add to the posting history screen (W'):
450 'M' OptionMenu
451
452 o Add to the URL Menu ('U'):
453 'M' OptionMenu
454
455 o integrate multi-part tagging with regular tagging, eg.
456 "This article appears to have multi-parts, try and find them (y/n)?"
457
458 o Add a command-line switch (-V) that prints out all values of cpp-symbols
459 etc. [partly done, but should be cleaned up]
460
461 o Reorganize tinrc into related sections for easier editing
462 e.g., Display, Posting etc.
463
464 o A system-wide tinrc configuration file (to hold some defaults).
465 [done: /etc/tin/tinrc] A key code to reset to the system defaults.
466 Maybe a second file which could be used to force settings (eg.
467 inews & mailer) (tin.defaults [--with-defaults-dir] is a start)
468
469 o when From: only contains "First-name Last-name" tin strips the
470 Last-name in group/thread/page-level
471 [20020319 Urs Janssen <urs@tin.org>]
472
473 o Bounce duplicate Message-ID's when the headers are read. This will
474 make the threading code happier too.
475 [Jason Faultless <jason@altarstone.com>]
476
477 o Merge the selection code with the range code. Having two similar methods
478 of picking articles with similar goals is wasteful.
479 [Jason Faultless <jason@altarstone.com>]
480
481 o add check for liblzma/libbzip2/zlib (>=1.1.4)/[mini]lzo, lzlib, liblz4,
482 liblrzip, libzstd, ...
483 (<http://tukaani.org/xz/>, <http://sources.redhat.com/bzip2/>,
484 <https://zlib.net/>, <http://www.oberhumer.com/opensource/lzo/>,
485 <http://lzip.nongnu.org/lzlib.html>, <http://code.google.com/p/lz4/>,
486 <http://freecode.com/projects/long-range-zip>,
487 <https://github.com/facebook/zstd>) and add an option to
488 write/read *zipped local overviews.
489 the libs might also be used for post-processing articles.
490
491 o rewrite/cleanup all the debugging code, the output in /tmp is messy; the
492 on screen output either slows down things dramatically or is unreadable;
493 split DEBUG_MISC?
494 [Urs Janssen <urs@tin.org>]
495
496 o replace gettimeofday() with clock_gettime() if available in parsdate.y
497 as POSIX.1-2008 marks gettimeofday() as obsolete.
498 [20110910 Urs Janssen <urs@tin.org>]
499
500 o Add 'M'enu option to define chars for utf8_graphics.
501
502 o allow user defined mouse button bindings (like keymap).
503
504 Posting enhancements
505 --------------------
506 o sort Followup-To:/Newsgroups: after stripping doubled newsgroups and
507 before checking if they are identical, if so, strip Followup-To: and
508 use unsorted but stripped Newsgroups:-line only
509 ulBuildArgv() would be good for this
510
511 o if Newsgroups:-line has groups in it which are not present in the users
512 active file ask the user if he wants to strip these groups from the
513 newsgroups-line (N/y)
514 do the same for Followup-To:
515
516 o check if any valid groups are in the Followup-To:-line and if not inform
517 the user and use Newsgroups: instead (at the start of post_response())
518
519 o bring up a warning on a long Newsgroups: (>=5) line and
520 force the user to confirm every single group he wants to post (or
521 redirect followups to) in. (N/y)
522
523 o bring up a warning when trying to f'up into a binary group
524 (use a regexp to detect binary groups e.g.:
525 (?:\.binae?r|de\.alt\.dateien\.))
526 (Warning, sending a followup to a binary group is undesired, post it
527 anyway? N/y)
528 [Urs Janssen <urs@tin.org>]
529
530 o posting to a binary group should warn if no followup is set to another
531 group/poster (you have not set a target for a possible discussion on your
532 post, would you like to go on anyway? N/y)
533 [Urs Janssen <urs@tin.org>]
534
535 o when posting to a group containing uppercase-letters: bring up a
536 warning: "Newsgroup-names should be all lowercase, correct it? (Y/n)"
537
538 o Enhance -n to take newsgroup name as argument and use group_get_art_info()
539 to allow posting to groups other than those in newsrc.
540
541 o add config option for (external) viewer to show postings stored in
542 keep_posted_articles_file
543 [20021003 Michael Gerhards <HM-Gerhards@uni.de>]
544
545 Filtering enhancements
546 ----------------------
547 o add Xref + Path filter to the filter-menu
548
549 o add used filter-type to filter file or filter rule or use different
550 filter files for wildmat/regexp
551
552 o add command: mark all articles older/newer than <date> (or <days>) as
553 read (useful when subscribing to a new group with high-traffic...)
554
555 o fix kill/hot mechanism so that it is possible to match articles on
556 arbitrary headers
557 [done for Path, Dennis]
558
559 o don't strip "Re: " out of the subject before applying the filter on it
560
561 o allow any given amount of days in default_filter_days not only
562 {1, 2, 4} * 28 days
563
564 o allow expiring filter entries n-days after the last time they matched
565
566 o add command to generate filter rules for all currently tagged articles
567
568 o allow editing of the strings presented in the kill-Menu for
569 "Kill Subject", "Kill From", "Kill Msg-Id" without having to edit
570 the full filter-file
571 [20120201 Urs Janssen <urs@tin.org>]
572
573 o allow ranges in gnksa-filters "gnksa=200-399" or "gnksa=101,103,201"
574 [20200709 Urs Janssen <urs@tin.org>]
575
576 Pager enhancements
577 ------------------
578 o add 'autoview' (spawn external viewer) 'autohide' (don't even show info
579 about that part) for different content-types
580
581 o add Content-Language (RFC 3282 or even RFC 8255) analysis
582
583 o suppress hide_uue=2 checking unless first line in an article or following
584 a blank line
585
586 o add missing mailcap (RFC 1524) features: %n, %F, copiousoutput, print,
587 if no %s appears in the view-command (or edit fields) the body part needs
588 to be passed to the command as standard input, ...
589 [20111205 Urs Janssen <urs@tin.org>]
590
591 o add BiDi handling to page header
592
593 Internal Changes
594 ----------------
595 o use tin_gettime() in *StopWatch() instead of ftime(3)
596 [Urs Janssen <urs@tin.org>]
597
598 o merge refs.c:valid_msgid() and post.c:damaged_id()
599 [Urs Janssen <urs@tin.org>]
600
601 o in ENABLE_NLS case replace PLURAL() macro with proper use of
602 ngettext(3) (if found by configure) to support languages with
603 more than one plural form.
604 [20150113 Urs Janssen <urs@tin.org>]
605
606 o rename disable_gnksa_domain_check to enable_gnksa_domain_check and
607 invert logic now the default changed
608 [20131119 Urs Janssen <urs@tin.org>]
609
610 o curses.c:input_pending() and curses.c:get_arrow_key() have
611 #ifdef HAVE_SELECT and a code path for the case when we don't have
612 select(2), but read.c:wait_for_input() has no code path for the
613 !HAVE_SELECT case. we should add a !HAVE_SELECT case there (or at
614 least have adjusted messages in txt_reading_article and txt_group)
615 [20110506 Urs Janssen <urs@tin.org>]
616
617 o ditch MAX_MSG_HEADERS (post.c)
618 [20110212 Urs Janssen <urs@tin.org>]
619
620 o always display (also) the servers error response string to the user,
621 currently tin sometimes gives generic messages (e.g. when authentication
622 fails), but the servers response may include additional info (like
623 bandwidth exceeded)
624 [20101230 Urs Janssen <urs@tin.org>]
625
626 o rewrite mini-help, remove the long strings and generate them dynamically
627 one help text for each key makes translations more easy and unique and can
628 use the available space on the screen much better if not running on 80
629 columns.
630 [20100326 Urs Janssen <urs@tin.org>]
631
632 o rewrite auth.c
633 - turn t_bool authinfo_user, authinfo_sasl, authinfo_state into
634 enum authinfo { NONE = 0, USER = 1, SASL = 2 }
635
636 o fix aclocal.m4:CF_FUNC_SYSTEM and/or misc.c:invoke_cmd() that
637 --enable-broken-system-fix/IGNORE_SYSTEM_STATUS isn't needed anymore.
638 [20090520 Urs Janssen <urs@tin.org>]
639
640 o move several (server related) files into the per-server dir e.g.:
641 ${TIN_INDEX_NEWSDIR-"${TIN_HOMEDIR-"$HOME"}/.tin"}/.news${NNTPSERVER+"-$NNTPSERVER"}/
642 should be
643 ${TIN_INDEX_NEWSDIR-"${TIN_HOMEDIR-"$HOME"}/.tin"}${NNTPSERVER+"/$NNTPSERVER"}/.news/
644 [20050807 Urs Janssen <urs@tin.org>]
645
646 o remove untranslatable constructs like txt_prefix_*, txt_marked_as_*, ...
647 [20050413 Urs Janssen <urs@tin.org>]
648
649 o keys which could be renamed/merged:
650 - 'l' GroupListThd, PageListThd
651 - 'm' GroupMail, PageMail, PostMail, ThreadMail
652 - 'D' GroupCancel, PageCancel, ThreadCancel
653 - 'N' GroupNextUnreadArt, PageNextUnreadArt, (SelectNextUnreadGrp)
654 - 'S' GroupAutoSave, PageAutoSave, ThreadAutoSave
655 - 'P' GroupPrevUnreadArt, PagePrevUnreadArt
656 - '@' GroupReverseSel, ThreadReverseSel
657 - '~' GroupUndoSel, ThreadUndoSel
658 [20050408 Urs Janssen <urs@tin.org>]
659
660 o read_overview() calls eat_re() which strips the "Re: " out of the
661 subject. the modified subject is used for batch_mode opperatios (-N/-M)
662 which might not be what ppl. expect and eat_re() is the only function
663 which needs the 'regex' overhead in batch_mode... (see also the note
664 about "Re: "-stripping at "Filtering enhancements").
665 [20050225 Urs Janssen <urs@tin.org>]
666
667 o use new_nntp_command() instead of nntp_command() in the rest of the
668 code (where useful; if we do a global change, rename it to
669 nntp_command()). see check_extensions() for a sample usage.
670 [20050211 Urs Janssen <urs@tin.org>]
671
672 o replace various occurrence of "US-ASCII" by DEFAULT(_MIME)_CHARSET
673 and define that to "US-ASCII" (to make 'updates' easier).
674 [20040929 Urs Janssen <urs@tin.org>]
675
676 o get rid of CURR_GROUP, use t_group instead
677 create a global t_group *CURR_GROUP instead of the current macro
678 reduce dependencies on my_group[] & selmenu outside of select.c
679 [20030501 Urs Janssen <urs@tin.org>]
680
681 o clean up $AUTOSUBSCRIBE code (the NNTP code path is a mess)
682 [20030412 Urs Janssen <urs@tin.org>]
683
684 o make configure look for strrstr() in libpub & publib.h
685 [Urs Janssen <urs@tin.org>]
686
687 o reorder several structs to avoid padding e.g. t_capabilities (but that's
688 just used once, no big win here). (see gcc -Wpadded and/or pahole(1))
689 [Urs Janssen <urs@tin.org>]
690
691 o what type is base[]? (long, see memory.c:init_alloc()~102)
692 There is a lot of confusion internally over how it is used
693 compare setup_hard_base() with find_base() etc..
694 [Jason Faultless <jason@altarstone.com>]
695
696 o check where PRODUCT should be used instead of tin_progname and/or "tin"
697 [Urs Janssen <urs@tin.org>]
698
699 o check where NEWSRC_FILE should be used in lang.c instead of "newsrc"
700
701 o check where iKeyAbort should be used instead of ESC (etc.pp.)
702 (AFAICS all fixed except prompt.c and read.c/'z')
703 [Urs Janssen <urs@tin.org>]
704
705 o close potential security holes:
706 - remove fixed length buffers (find_nov_file(), print_from(),
707 quote_space_to_dash(), escape_shell_meta(), backup_article(),
708 build_messageid(), get_secret(), get_host_name(), get_domain_name(),
709 get_fqdn(), get_user_name(), get_full_name(), build_sender(), ...)
710 - change all system()/popen() calls to fork() and exec() calls
711 - check where we should use snprintf() instead of sprintf()
712 - check where we should use strncat() instead of strcat()
713 - check where we should use strncpy() instead of strcpy()
714 - check possible races with access()/link()/rename()/stat()/
715 unlink()/chdir()/fopen()/fstat()/open()/
716 opendir()/t_open()/tmpfile()
717 - check getenv() results before using it
718 - check where my_strncpy() or STRCPY() should be used
719 [Urs Janssen <urs@tin.org>]
720
721 o split tin.h/proto.h for better dependencies in Makefile
722
723 o check where int/long/... should be replaced by size_t, uid_t, mode_t,
724 off_t, ...
725 [Urs Janssen <urs@tin.org>]
726
727 o check code with
728 valgrind (<http://valgrind.org/>),
729 cppcheck (<https://trac.cppcheck.net/>),
730 Coverity (<https://scan.coverity.com/projects/993>),
731 gcc-10 -fanalyzer
732 (<https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html>),
733 clang-analyzer (<http://clang-analyzer.llvm.org/>),
734 infer (<http://fbinfer.com/>)
735 Splint (LCLint) <http://www.splint.org/>,
736 zzuf (<http://caca.zoy.org/wiki/zzuf>) and
737 aflnet (<https://github.com/aflnet/aflnet>)
738
739 o strip Xref:-header if saving news in batch mode (-S)?
740 [Urs Janssen <urs@tin.org>]
741
742 o rewrite code to use INEWS_PATH instead of INEWSDIR
743 [20021007 Urs Janssen <urs@tin.org>
744
745 o remove built in path of external commands (metamail, ispell, ...)
746 [for ispell $ISPELL can be used to override systempath and progname]
747
748 o add configure-switch for DISABLE_PIPELINING
749 [20090612 Urs Janssen <urs@tin.org>]
750
751 o mask inline pgp signature/key block like we do for uu-sections
752 [20090722 Urs Janssen <urs@tin.org>]
753
754 o some non fixed width strings could be formatted nicer (warp on last space
755 before cCOLS), e.g. txt_warn_downgrade
756 [20110325 Urs Janssen <urs@tin.org>]
757
758 o too much code is compiled when configured NO_POSTING
759 [20210206 Urs Janssen <urs@tin.org>]
760
761 Unicode
762 -------
763 o make mm_network_charset an "option_list" to avoid junk input or
764 undesired (UTF-1, UTF-7, UTF-16*, UTF-32*, UCS-2, UCS-4, ...) encodings.
765 add configure check for the hard coded charsets (try iconv_open(x,
766 us-ascii) on each...) and disable those not available.
767 (think about more network charsets (GB2312, GB18030, Shift_JIS,
768 ISO-8859-6[-{I,E}], ISO-8859-8[-{I,E}], ISO-8859-11, VISCII, VIQR;
769 check whether KOI8-RU is still used/valid))
770 [done except configure check 20010907 urs@tin.org]
771
772 o make mm_network_charset a user configurable item list
773 ("US-ASCII:ISO-8859-1:ISO-8859-9:ISO-8859-15:UTF-8",
774 "US-ASCII:ISO 8859-5:KOI8-R:UTF-8",
775 "EUC-CN:ISO-2022-CN:ISO-2022-CN-EXT:Big5:UTF-8", whatever)
776 and try all given charsets in order till the one is found which matches
777 best (i.e. can display most (all) of the chars in the article).
778 (see also RFC 2046 4.1.2)
779 [20050805 <urs@tin.org>]
780
781 o add IDNA 2003 (RFC 3490ff.) and IDNA 2008 (RFC 5890ff.) support,
782 (<http://www.gnu.org/software/libidn/> IDNA 2003,
783 <http://jprs.co.jp/idn/index-e.html> IDNA 2008,
784 <http://site.icu-project.org/> IDNA (uidna_IDNToUnicode()
785 and/or with ICU >=4.6 uidna_nameToUnicode(uidna_openUTS46)),
786 <http://www.gnu.org/s/libidn/#libidn2> IDNA 2008)
787 (added minimalistic IDNA decoding support if a recent libidn is found, urs)
788 [20030917 Urs Janssen <urs@tin.org>]
789
790 o add normalization
791 (via <http://site.icu-project.org/> or
792 <http://www.gnu.org/software/libidn/> or
793 <http://www.gnu.org/software/libunistring/>)
794 (done for search strings and threading, missing for filtering etc. pp.)
795 [20031209 Michael Bienia <michael@vorlon.ping.de>]
796
797 o rewrite ICU configure checks
798 [20180710 Urs Janssen <urs@tin.org>]
799
800 o check for wcsftime() and if found use it instead of strftime() (at
801 least in page.c).
802 [20130129 Urs Janssen <urs@tin.org>]
803
804 o BiDi handling to select-, group-, thread-level
805
806 Docs/online help
807 ----------------
808 o document the difference between
809 - "-D 1" (nntp dialog with likely long multilines responses skipped)
810 - "-vD 1" (full nntp dialog)
811 - "-vvD 1" (full nntp dialog plus diagnostic messages)
812
813 o the documentation of PageFollowupQuoteHeaders (^W) and
814 PageReplyQuoteHeaders (^E) is wrong as not all headers but just those
815 visible via news_headers_to_display (or all if raw mode is on
816 (PageToggleHeaders (^H)) are included.
817 [20100911 Urs Janssen <urs@tin.org>]
818
819 o the online help of GroupMarkUnselArtRead 'X' is unclear as it doesn't
820 say that the article are marked read
821 [20090814 Urs Janssen <urs@tin.org>]
822
823 o document the different signals/actions
824 [20080209 Urs Janssen <urs@tin.org>]
825
826 o review the Spanish, Swedish and Russian translations
827 (es.po, sv.po, ru.po); add/finish missing man-page translation(s).
828
829 o add installation guide (in html?)
830
831 o add cross-compilation hints
832 CC="crosscc" LD="crossld" AR="crossar" RANLIB=":" MAKE="crossmake" \
833 ./configure --with-build-cc=gcc --with-build-cpp=cpp \
834 --target=cross-traget-triple --without-x # usual configure flags
835
836 o better document keymap feature
837
838 o man page always needs work and proof reading
839 e.g. 'U', 'V' in pager need better documentation, random organization
840 feature isn't documented at all.
841
842 o submit short invocation examples to tldr
843 <https://github.com/tldr-pages/tldr> and/or eg
844 <https://github.com/srsudar/eg>
845
846 o replace "\\" by "\e" in man pages (portable?)
847
848 o integrate doc/auth.txt into tin.1 man page
849
850 o document ${HOST:-"$HOSTNAME"} fallback if gethostname(2) and uname(2)
851 do not return a hostname
852
853 o the limited pgp support (inline pgp as of RFC 4880, just signature
854 verification or key import but no decryption ...) is nearly undocumented
855 in the man page
856
857 Not yet classified
858 ------------------
859 o should -X (no overwrite) and/or -G/tinrc.getart_limit with
860 cache_overview_files=ON warn that tin will not cache the overviews?
861
862 o verbatim regions can't be nested, should they?
863
864 o allow per group cancel_lock_algo setting via attributes?
865 [20170810 Urs Janssen <urs@tin.org>]
866
867 o allow per group cache_overview_files setting via attributes?
868 [20180215 Urs Janssen <urs@tin.org>]
869
870 o DIRSEP (set in tin.h (to '/')) is used in places in the code
871 and hardcoded '/' elsewhere (i.e. joinpath(), ...); the DIRSEP
872 looks like a leftover from when removing the non UNIX code
873 [20210112 Urs Janssen <urs@tin.org>]
874
875 o exit HEAD/NEXT loop on 5xx responses to HEAD? (see
876 art.c:open_art_header())
877 [20161011 Urs Janssen <urs@tin.org>]
878
879 o follow $LC_COLLATE (e.g. add strxfrm() to subj_comp_*/from_comp_*)?
880 [20160421 Urs Janssen <urs@tin.org>]
881
882 o IDNA decode news_headers_to_display?
883 [20160227 Urs Janssen <urs@tin.org>]
884
885 o sometimes we convert the supplied server name to lowercaes (for cached
886 overviews) and sometimes we don't (nrctbl.c code and -g arg). Thus
887 -g Foo.bAr.eXample may result in file not found
888 for entries like '* ~/.tin/.newsrcs/${NNTPSERVER-localhost}'
889 even there is a ~/.tin/.newsrcs/foo.bar.example file.
890 Should we always lowercase $NNTPSERVER / -g? (but still allow
891 upper/camelcase for -f or a fixed filename in newsrctable).
892 [20160225 Urs Janssen <urs@tin.org>]
893
894 o add "host:port" notation support for -g as shortcut for -p port -g host
895 [20160222 Urs Janssen <urs@tin.org>]
896
897 o allow "begin-base64"/"====\n" as start/end marker for UUE-blocks besides
898 the traditional "begin"/"end\n"?
899 [20151204 Urs Janssen <urs@tin.org>]
900
901 o cache_overview_files also affects $TIN_INDEX_MAILDIR and $TIN_INDEX_SAVEDIR
902 overviews, is this desired?
903 [20151112 Urs Janssen <urs@tin.org>]
904
905 o articles without a Message-ID are skipped as the code currently depends
906 on Message-IDs, but they might show up in mailgroups - assign a pseudo
907 Message-ID to them?
908 [20151111 Urs Janssen <urs@tin.org>]
909
910 o create missing dir(s) in path to newsrc, right now get_newsrcname()
911 usually comes up with
912 "No permissions to go into /home/$USER/.tin/${NNTPSERVER}"
913 if one uses something like
914 * ~/.tin/${NNTPSERVER-localhost}/.newsrc
915 in newsrctable
916 [20150121 Urs Janssen <urs@tin.org>]
917
918 o make --with-defaults-dir= default to $sysconfdir/tin
919 (=/usr/local/etc/tin)?
920 [20110809 Urs Janssen <urs@tin.org>]
921
922 o Supersedes (and repost) don't reuse the Reply-To: header of the original
923 article
924 [20110808 Urs Janssen <urs@tin.org>]
925
926 o what about !us-ascii chars in username/password when using
927 AUTHINFO USER/PASS? Currently they are sent as is, RFC 3977 says
928 "The character set for all NNTP commands is UTF-8", RFC 4643 doesn't
929 mention any special handling.
930 [20101104 Urs Janssen <urs@tin.org>]
931
932 o charset conversion fails when converting articles from multibyte charsets
933 with 0 bytes (UCS2, UCS4, UTF-16[[LB]E], UTF-32[[LB]E], ...), currently
934 we just skip over such parts instead of handling them properly
935 [20100905 Urs Janssen <urs@tin.org>]
936
937 o the documentation suggests that novrootdir/$TIN_NOVROOTDIR defaults to
938 spooldir/$TIN_SPOOLDIR if unset, which is not exactly what happens as
939 this default is set at configure/compile time, not at runtime, so
940 setting $TIN_SPOOLDIR to something different than the default will not
941 automatically adjust $TIN_NOVROOTDIR at runtime. we should either
942 fix the documentation or the behaviour.
943 [20100103 Urs Janssen <urs@tin.org>]
944
945 o un/subscribe_pattern() is very slow on servers with a huge active file
946 [20091223 Urs Janssen <urs@tin.org>]
947
948 o replace wildmat.c with uwildmat.c
949 <http://inn.eyrie.org/trac/browser/trunk/lib/uwildmat.c>? It knows poison
950 patterns and can handle UTF-8 strings
951 [20091223 Urs Janssen <urs@tin.org>]
952
953 o support $XDG_CONFIG_HOME[S] / $XDG_DATA_HOME[S] / $XDG_RUNTIME_DIR /
954 $XDG_CACHE_HOME (eg. for cached NEWSGROUPS_FILE)
955 <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>
956 [20081010 Urs Janssen <urs@tin.org>]
957
958 o add //IGNORE iconv-option like //TRANSLIT?
959 [20080824 Urs Janssen <urs@tin.org>]
960
961 o what about REDIRECT_OUTPUT? shouldn't we better add this to DEFAULT_PRINTER
962 so ppl. can override it via the 'M'enu? and shouldn't DEFAULT_PRINTER be
963 detected via configure?
964 [20080625 Urs Janssen <urs@tin.org>]
965
966 o create debug output in
967 ${TIN_HOMEDIR-"$HOME"}/.tin"}${NNTPSERVER+"/$NNTPSERVER"}
968 instead of in $TMPDIR (as it may contain username and password,
969 access restrictions in $TMPDIR are a bad idea as other users
970 need to be able to overwrite the file (multi user system)).
971 [20080211 Urs Janssen <urs@tin.org>]
972
973 o -M/-N report is mailed to userid, should we use tinrc.mail_address
974 instead?
975
976 o tin uses the first sig-isolator as recent one, USEFOR says it should
977 use the last. There is no consensus that tin should follow this USEFOR
978 requirement.
979
980 o 'K' is still a bit inconsistent:
981 - in the group and thread menu it marks current item read & jumps to the
982 next unread item.
983 - in the article pager (page.c) it marks the rest of the current thread
984 read and jumps to the next unread article. should we let 'K' behave
985 like <TAB> in the pager?
986
987 o rename prompt_followupto (to prompt_extra_headres) and make it an option
988 list like {"Followup-To"; "Summary"; "Keywords";
989 "Followup-To & Summary"; "Followup-To & Keywords";
990 "Summary & Keywords"; "Followup-To, Summary & Keywords"} or make it a
991 user-definable text field like news_headers_to_display? or leave this
992 entirely to the user - he could tweak attributes accordingly.
993 [20060503 Urs Janssen <urs@tin.org>]
994
995 o in several places only the latest keybinding is shown in prompts
996 (e.g. "q=quit, e=edit, i=ispell, g=pgp, M=menu, w=post, o=postpone: w"
997 with "PostPost p y w" in keymaps)
998 should we try to show them all?
999 [20050718 Urs Janssen <urs@tin.org>]
1000
1001 o remove hard coded keys (eg. 'q') from txt_filter_global_rules,
1002 txt_reading_article, txt_select_config_file_option, txt_group and
1003 replace with actual keybinding (after making it rebindable).
1004 [20200526 Urs Janssen <urs@tin.org>]
1005
1006 o add PGP_INCLUDE_KEY to pgp_mail_keys?
1007 [20050426 Urs Janssen <urs@tin.org>]
1008
1009 o there is no command to undo a range ('#') selection
1010
1011 o 'article loss' reported in
1012 <nntp://news.tin.org/20020915165856.GA1541@martinkl.dialup.fu-berlin.de>
1013
1014 o should 'tin -z foo.bar' only start up if there is any unread news in
1015 foo.bar?
1016 [20040325 Urs Janssen <urs@tin.org>]
1017
1018 o trn and perls Net::NNTP::Auth use ~/.nntpauth (format is
1019 "^server\s+user\s+password"), shall we also try ~/.nntpauth if we can't
1020 find a matching entry in ~/.newsauth? and should we look for
1021 ${TIN_HOMEDIR:-"$HOME"}/.tin/.newsauth if ~/.newsauth is not found?
1022 [20040128 Urs Janssen <urs@tin.org>]
1023
1024 o allow a different port in newsauth- and/or newsrctable-file
1025 (server:port [...])? if we do, what's the precedence?
1026 [high] -p, newsauth, newsrctable, $NNTPORT, 119 [low]?
1027 [20140504 Urs Janssen <urs@tin.org>]
1028
1029 o what todo if in a CTE: x-uue the CD: filename differs from the one given
1030 in the begin line? IMHO we should use the one from the begin line for
1031 saving and in the overview in the pager.
1032 [urs@tin.org]
1033
1034 o inverse_okay's Menu description isn't accurate (inverse is also used for
1035 URL highlighting). mono_mark* do allow "Reverse video" even if
1036 inverse_okay=FALSE.
1037
1038 o --disable-inverse-video seems to be ignored - do we still need it?
1039
1040 o move tinrc.defaults for certain comannds to a pre-filled .inputhistory?
1041 (if so, also move last_search there)
1042 [Jason Faultless]
1043
1044 o what about -a cmd-line flag? is this really needed? IMHO this can be
1045 dropped, '&' can be used for runtime color toggling.
1046 [20021106 Urs Janssen <urs@tin.org>]
1047
1048 o commas in real-name might cause problems in mail-replies
1049 'From: Last, First <user@example.com>' (which was illegal in RFC 1036 but
1050 is no longer with RFC 5536) leads to 'To: Last, First<user@example.com>'
1051 which is 'last@localhost,user@example.com' should we try to fix things and
1052 quote the realname part?
1053 [20021007 Urs Janssen <urs@tin.org>]
1054
1055 o setting TIN_HOMEDIR to a non-existent dir gives a "Filesystem full"
1056 error-message (but doesn't force quit) instead of creating the dir. bug?
1057 feature? if the later we should give a more exact error-message.
1058 [20011112 Urs Janssen <urs@tin.org>]
1059
1060 o update gettext stuff to > gettext-0.12.1 (or drop it?)
1061
1062 o shows up cross-postings multiple times even if read once before getting
1063 a resync/reread active/newsrc-file
1064
1065 o think about group numbering in "only unread" display mode
1066 (using different numbers in show all/show only unread leads to some
1067 problems, f.e. group moving)
1068
1069 o doesn't handle symlinks for .oldnewsrc
1070 (see <20021003021508.GA28021@akk10.akk.uni-karlsruhe.de> for details, urs.
1071 if we're going to 'fix' this we must be careful to avoid symlink
1072 attacks (<http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-1999-1091>)
1073 [20020627 Jeff Sheinberg <jeffsh@erols.com>]
1074
1075 o missing newsrc file and connecting to a server without groups leads to the
1076 question "Try and save newsrc file again? (Y/n)" but a newsrc file doesn't
1077 get written. Same may occur on quitting if newsrc file had been removed
1078 while tin was running. Useful? Should write_newsrc() try to create a newsrc
1079 file if it is missing instead of just leaving?
1080 [20061102 Dirk Nimmich <nimmich@muenster.de>]
1081
1082 o configure checks for fdopen(3) and defines HAVE_FDOPEN if found, but we
1083 don't have any code guarded with that macro nor any fallback code if not
1084 found.
1085
1086 o re add innlib support? (the old one was dropped as the lib has retired
1087 all (which were not that many) features we used and our code didn't
1088 use the innlibs code where ever it was possible (and useful).
1089 [20080211 Urs Janssen <urs@tin.org>]
1090
1091 o add check for libarchive <http://www.libarchive.org/>
1092 and use for post-processing?
1093 [20111225 Urs Janssen <urs@tin.org>]
1094
1095 o add check for liblockfile and/or liblock and use if found?
1096
1097 o add check for heapsort(3) in libbsd? <http://libbsd.freedesktop.org/wiki/>
1098 [20130305 Urs Janssen <urs@tin.org>]
1099
1100 o add check for libtre and offer TRE as matching method for "wildcard"?
1101 <http://laurikari.net/tre/about/>, <https://github.com/laurikari/tre/>
1102 [20130706 Urs Janssen <urs@tin.org>]
1103
1104 o eval $NEWSHOST if $NNTPSERVER is unset (like Net::NNTP(3perl))
1105 [20141225 Urs Janssen <urs@tin.org>]