home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Beijing Paradise BBS Backup
/
PARADISE.ISO
/
software
/
BBSDOORW
/
SNWS191S.ZIP
/
TODO
< prev
next >
Wrap
Text File
|
1993-08-25
|
8KB
|
186 lines
Things to change in snews 1.91 (93-08-23 DTF)
---------------------------------------------
modify expire so it:
- just displays groups & sizes with -l (list) or -d (display) switch
- defaults to taking expire times for each group from a config file
- uses Expires: lines to expire old articles (easy)
- uses Supersedes: lines to expire old articles (more difficult)
- uses Control: messages to cancel articles (more difficult)
- allows -i interactive switch switch to interactively delete articles (no need
for iexpire program then)
Careful when implementing these, though! The article numbers will no longer
match those in the users' .nrc files. Maybe replace deleted articles in the
middle of a newsgroup with an pseudo-article like this:
Newsgroups: group.name
Distribution: local
This article is not available.
(What happens to reply and other commands when operated on this article?)
fix limitation in expire so only that group currently being expired is removed
from the history file (err on the side of expiring so a cross-posted article
won't ever stay in history forever)
- in expire, expire history as normal
- in expirei, expire history to the second days on the command line
expire should require a parameter in the group name field when using the -e n
option
change .nrc file to newsrc format, or at least compress it
allow personal.rc loading if only UUPCNEWS and USER or LOGNAME environment
variables are set -- look up passwd file in UUPCSYSRC directory to find home
dir of USER/LOGNAME and therefore personal.rc
when saving files to disk from snews, don't expand tabs (not easy)
Allow editing of all article headers with the message & signature (make this
an option in the .rc file)
- alternatively, look for lines at the top of the message which look like
part of the header (i.e. no spaces before a colon, blank line before body
text) and ask the user to "Merge header lines in body with header (y/n)?"
Fix reading RFC-1036 headers which wrap over to another line
Followup articles should go to all groups in Newsgroups: line, not just current
group
- assume groups not in ACTIVE file are ok to post to
- make sure article is stored immediately to all cross-posted groups
Articles to a moderated group should be mailed to the Approved: header address
(make sure cross-posts work correctly to moderated groups, too)
Header parsing when posting should happen at post time -- this will allow
unlimited References:, Newsgroups:, etc.
add MIME headers to outgoing messages
- start with Content-Transfer-Encoding: 7bit or 8bit, depending on body
contents (this might not be accurate -- 7bit might actually be quoted-printable
and 8bit might actually be binary)
- if 7bit, assume character set is US-ASCII
- if 8bit, use the CharSet= variable in .rc file to choose character set
(default is no charset= on Content-Type line)
found a post with X-Charset: ISO-8859-1 -- could support this, but how long
will this type of header be around?
If MIME-Version: is found, then "default Content-Type: is text/plain; charset=
US-ASCII"; Content-Transfer-Encoding: defaults to 7bit
- make sure to check headers for 8 bit characters, too.
Could add Content-Length:, but is there a need?
add base64 and quoted-printable text display on a line-by-line basis by
adding a function mime_decode_line(char *, enum mime_decode_types) and
piping its output to display_line()
add text/simplemail decoding function display_simplemail(char *) which calls
translate_line()
if MIME-Version: is found, assume US-ASCII character set unless otherwise
specified (this doesn't really buy anything, though, except maybe in multipart
messages, and even then it might not be right)
Allow quotation marks around charset="xxx" in Content-Type: header
allow editing of the entire article, including headers
change post_sequence() to use sopen() with O_RDWR and SH_DENYRD and SH_DENYWR
add keys to go to top & bottom of screen (thread & group selection)
add mouse support
more time efficient storage of article headers (like snews /2)
modify character set support to load the correct mapping tables for the current
code page from disk at run time
have SNews actively select the most appropriate code page for each article
add F4 to pipe entire thread at thread selection level
add support for mapping arbitrary ~/ file names in pipe command
Display the word MIME in the bottom right hand corner of the screen when the
MIME-Version: header is found (or when an unsupported content-type is found)
display the character set in use when the F3 key is hit to change char set
change smartcmp() to kill trailing spaces so thread subjects with trailing
spaces are added
add 'k' command to mark the current thread as read (from thread selection and
article reading modes).
add command to mark all threads to this point as read (catch up to current
thread)
add command to toggle display groups/threads from all to just those with
unread articles
allow user to specify if file is to be saved in mailbox format or not
allow user to specify alternate mailer to use for replying to articles
(Mailer= variable in config file)
add command-line option to snews for "safe" mode; disallows !, |, 's'
add command-line option to snews to select code page (-p n) -- good for users
with a new code page, or terminal users
fix unbatch so it uses the length after #! rnews nnn instead of just looking
for the #! rnews line (or at least check that nnn is a number).
fix unbatch so it doesn't add an extra line at the end of every article
make sure articles ending with CR/LF lines are processed correctly (i.e. strip
off CR on every line) -- unbatch
maybe change enum exit_codes and other enums to typedefs
add variable to select posting log file (post.log)
move all posting operations into another program, pnews (may not be worthwhile)
unbatch should uncompress with spawn() instead of system() and look at the
return code
allow esc key to abort thread loading
only save the .nrc file if new articles have been read (or 'c'aught up)
add article 'C'ancel command (generate Control: message)
support 43 lines (actually n lines) and perhaps 132 columns (or n columns)
have a toggle key to go between the group name and group description, stored
in a newsgroups file
do something with ctrl-break instead of ignoring it
add Tass-like keys (from tass source)
allow three config files to all be read -- uupc.rc, snews.rc and personal.rc
Add option to use domain name in Path: line (maybe PathName=name.to.use.in.path
where the special word domain means to use the domain name, not uucp name)
- better yet, just allow user to override Nodename= in the snews.rc file with
whatever he wants to go into the Path line (that will work, right?)
Bugs (very conservatively defined as such)
------------------------------------------
fix bug when sending mail with a " in the Subject:
see if expire bug still exists that deletes the original newsbase name even
before the new newsbase is written
fix bug that *appears* to eat memory after Aborting during posting (maybe
not aborting, too) (was this fixed with the open file bug? probably)
fix file name input routine to work when RAW is on
fix bug in unbatch that appears to truncate to 1 blank line mega collosal large
(12000 line) articles (I see no reason this didn't work, though)