view ChangeLog @ 90:9cf0d605465a noffle

[svn] Move INTERNALS to docs/
author bears
date Fri, 19 May 2000 08:59:51 +0100
parents f17eb481c126
children 694c264a1b15
line wrap: on
line source

-------------------------------------------------------------------------------
NOFFLE ChangeLog
-------------------------------------------------------------------------------

Wed May 17 21:19:19 BST 2000 Jim Hague <jim.hague@acm.org>

 * src/configfile.h, src/configfile.c, src/post.h, src/post.c,
   src/noffle.c, src/server.c, docs/noffle.1, docs/noffle.conf.5:
   Moved all article posting code into post.[hc], removed
   'remove-messageid' option, added '--post' to noffle command line.
   Added 'post-locally' option. docs/NOTES still needs updating.
   Needs more testing too.
	
Wed May 17 2000 Markus Enzenberger <markus.enzenberger@t-online.de>

 * README: Clean-up and update.
 * docs/noffle.conf.5, src/configfile.h, src/server.c:
   Disabled remove-msgid option.

Mon May 15 11:21:28 BST 2000 Jim Hague <jim.hague@acm.org>

 * src/configfile.h, src/configfile.c, src/client.c, docs/noffle.conf.5:
   Added getgroups and omitgroups options.
	
Sun May 14 16:51:24 BST 2000 Jim Hague <jim.hague@acm.org>

 * docs/NOTES: Added notes on trn, xrn and knews.
 * src/configfile.h, src.configfile.c, src/server.c, docs/noffle.conf.5:
   Increment the article number of the gen info article in groups that
   are not auto-subscribed each time the gen info article is read. The gen
   info article thus remains unread at the start of every newsreading
   session. This behaviour can be disabled by setting new config
   setting 'info-always-unread' to 'no'. Default is 'yes'. This (I hope)
   restores Markus's preferred behaviour.
 * INTERNALS: Added file with some rough jottings on the internals of Noffle.
   A work in (probably sporadic) progress.

Sun May 14 2000 Markus Enzenberger <markus.enzenberger@t-online.de>

 * src/fetch.c: Did some refactoring.

Sat May 13 15:09:01 BST 2000 Jim Hague <jim.hague@acm.org>

 * src/itemlist.c: Fixed stupid, Stupid, STUPID bug in Itl_next().
   Redid itemlist code slightly to remove need to keep separators
   string, at the cost of making it impossible to use '\1' as a
   separator. I don't think this will be a problem.
 * src/log.h, src/log.c, src/over.h, src/over.c: Adjusted consting
   in Log_init and new_Over to remove compiler warnings.
 * src/portable.h, src/server.c, src/client.c: Introduced UNUSED(x)
   macro to indicate deliberately unused function parameters and
   remove warnings.
 * src/content.c: Preserve gen info in Cont_write() provided it is
   followed by an article with the next number. Stops gen info article
   vanishing instantly on reading when auto-subscribe is on, which
   was sort-of confusing for users (why can't I read that again?)
   and caused xrn to complain the NNTP server was broken.

Sat May 13 2000 Markus Enzenberger <markus.enzenberger@t-online.de>

 * src/client.c: Rewrote needsMark(): uses itemlist.h, more debugging output.
 * src/server.c: Rewrote getTimesInSeconds(): arguments ar now int and
   checked with assertions. Return value is time_t and must be checked
   for (time_t)-1.

Sat May 13 06:20:01 CEST 2000 Uwe Hermann <uh1763@bingo-ev.de>

 * src/Makefile.am, src/Makefile.in: Added portable.h to the list of sources.
   I forgot this in my last commit. Sorry.

Fri May 12 2000 Markus Enzenberger <markus.enzenberger@t-online.de>

 * src/client.c: add some intermediate variables for easier debugging
   in needsMark(). It seems that thread mode is sometimes not working.
 * src/client.c, src/content.c, src/dynamicstring.h, src/dynamicstring.c,
   src/util.h, src/util.c, src/protocol.c:
   Changed some variable types and used some casts to avoid compiler
   warnings about signedness. In general, int should be used for parameters
   for allowing a signedness assertion in the function.
   (see J.Lakos: Large-Scale C++ Software Design, section 9.2).
 * src/client.c, src/database.c, src/database.h, src/fetch.c, src/fetchlist.c,
   src/fetchlist.h, src/group.c, src/group.h, src/noffle.c, src/server.c
   src/server.h:
   Renamed some variables, because they caused compiler warnings because
   of shadowing global variables from system include files
   (index, stat, serv).
 * src/fetchlist.c:
   Avoid compiler warning because of cast from const to non-const.
 * src/post.c, src/server.c:
   Avoid compiler warnings about incomplete initializer blocks.
	
Fri May 12 10:19:56 CEST 2000  Uwe Hermann <uh1763@bingo-ev.de>

 * configure, configure.in: Only add all those compiler-switches
   like -ansi, -pedantic etc. if we use gcc. Other c-compilers are unlikely
   to have those switches.


Wed May 10 00:25:44 CEST 2000  Uwe Hermann <uh1763@bingo-ev.de>

 * src/client.c, src/configfile.c, src/content.c, src/control.c,
   src/database.c, src/dynamicstring.c, src/fetch.c, src/fetchlist.c,
   src/group.c, src/itemlist.c, src/lock.c, src/log.c, src/noffle.c,
   src/online.c, src/outgoing.c, src/over.c, src/post.c, src/protocol.c,
   src/pseudo.c, src/request.c, src/server.c, src/util.c:
   Added portable.h #include.

 * src/client.h, src/database.h, src/fetch.c, src/group.h, src/lock.c,
   src/outgoing.c, src/over.c, src/over.h, src/pseudo.c, src/server.c,
   src/util.c, src/util.h: Added some #ifdefs to correctly include either
   time.h or sys/time.h or both, depending on which are found.

 * src/noffle.c: Changed the return-type of the signal-handlers bugReport()
   and logSignal() to RETSIGTYPE, which is either void or int, depending on
   the system you compile on (autoconf #defines the RETSIGTYPE).

 * src/portable.h: Added file. This #defines some macros, so the code uses
   __snprintf() and __vsnprintf if snprintf and vsnprintf aren't available.
   This is the case on SunOS, for example.


Sat May  6 12:25:39 BST 2000  Jim Hague <jim.hague@acm.org>

 * src/server.c: Changed XOVER with no arg. to return info for current
   article, not error.

 * src/server.c, src/content.h, src/content.c: XHDR - added 'xref' to
   headers recognised to keep trn happy, and recognise message ID argument.

 * src/server.c, src/content.c: Ensure first/last from LIST ACTIVE and
   GROUP agree (trn uses former). Tricky with pseudo gen info articles
   around. Presence of these now only recorded in content and not
   reflected in group first/last until proper article posted after
   pseudo.

 * src/client.c, NEWS: Reinstated starting article numbering from first
   article number on server. Reasoning below is wrong except in exceptional
   circumstances (e.g. join group, auto-subscribe, manual unsubscribe,
   auto subscribe again, etc. to get > 2 Noffle info messages in group.
   Bring reader up to date, remove & reinstall Noffle. Join group,
   autosubscribe after more news arrives at server, reader thinks it has read
   n articles it hasn't, where n is number of Noffle info messages in
   group first time round - 2). Feature is generally useful, esp. in
   development, so back in it goes.

 * src/group.c: Forget cached group info when group database closed.
	

Sat May  6 01:31:04 CEST 2000  Uwe Hermann <uh1763@bingo-ev.de>

 * Makefile.in, configure, configure.in, docs/Makefile.in, src/Makefile.in:
   Added checks for the mail and sort programs. ./configure will abort if
   they're not found.

 * README: Removed the paragraph about news client software, as it's the same
   as the one in docs/NOTES.

 * TODO: Removed 'expiring by groups' and
   'move some text from noffle.1 to noffle.conf.5'.

 * docs/NOTES: Changed the text about -DDEBUG to explain one should use
   './configure --enable-debug'.

 * docs/noffle.1, docs/noffle.conf.5: Minor fixes. Added myself and Jim Hague
   to the AUTHORS section :-)

 * src/client.h, src/common.h, src/configfile.h, src/content.c, src/content.h,
   src/control.c, src/control.h, src/database.h, src/dynamicstring.c,
   src/dynamicstring.h, src/fetch.h, src/fetchlist.h, src/group.h,
   src/itemlist.c, src/itemlist.h, src/lock.h, src/log.c, src/log.h,
   src/noffle.c, src/online.h, src/outgoing.h, src/over.c, src/over.h,
   src/post.h, src/protocol.h, src/pseudo.h, src/request.h, src/server.h,
   src/util.c, src/util.h: Added the <config.h> include.

 * src/content.c: Added missing include "content.h". Added a missing 'void'
   in the declaration of clearCont().

 * src/fetchlist.c: Casted fetchlist.size to (size_t) in a call to qsort(),
   as qsort() expects a size_t. This removes a warning.

 * src/noffle.c: Made doRequested() static. Added missing void to
   enableCorefiles().

 * src/log.c, src/protocol.c, src/online.c, src/pseudo.c: Added missing
   includes.

 * src/pseudo.c: Made genOv() and genPseudo() static.

 * src/server.c: Added missing void to postArts(). Made touchArticle() static.

 * src/util.c: Casted arguments of malloc() and memcpy() to size_t.

 * src/dynamicstring.c, src/itemlist.c, src/over.c, src/request.c, src/util.c: 
   Removed casting of the result of malloc(). This is not necessary and
   can hide a missing include of <stdlib.h>.


Fri May  5 23:39:52 CEST 2000  Uwe Hermann <uh1763@bingo-ev.de>

 * client.c, client.h, common.h, config.c, config.h, content.c, content.h,
   control.c, control.h, database.c, database.h, dynamicstring.c,
   dynamicstring.h, fetch.c, fetch.h, fetchlist.c, fetchlist.h, group.c,
   group.h, itemlist.c, itemlist.h, lock.c, lock.h, log.c, log.h, noffle.c,
   online.c, online.h, outgoing.c, outgoing.h, over.c, over.h, post.c, post.h,
   protocol.c, protocol.h, pseudo.c, pseudo.h, request.c, request.h, server.c,
   server.h, util.c, util.h, wildmat.c, wildmat.h: Moved files to the
   subdirectory src/

 * Makefile.am, acconfig.h, configure.in, docs/Makefile.am, src/Makefile.am,
   Makefile.in, aclocal.m4, config.h.in, configure, install-sh, missing,
   mkinstalldirs, stamp-h.in, docs/Makefile.in, src/Makefile.in: Added files.
   They are used by aclocal, autoheader, autoconf and automake.

 * src/config.c, src/config.h: Renamed to configfile.c and configfile.h,
   because configure will generate a config.h file itself.

 * src/client.c, src/content.c, src/database.c, src/fetch.c, src/fetchlist.c,
   src/group.c, src/lock.c, src/noffle.c, src/online.c, src/outgoing.c,
   src/over.c, src/pseudo.c, src/request.c, src/server.c, src/util.c:
   Changed '#include "config.h"' to '#include "configfile.h"'.

 * src/client.c, src/content.c, src/database.c, src/fetch.c, src/fetchlist.c,
   src/group.c, src/lock.c, src/online.c, src/outgoing.c, src/post.c,
   src/protocol.c, src/request.c, src/server.c: Files now #include <config.h>.
   Added missing <stdio.h>. This removes the warnings about snprintf() not
   being declared.

 * Makefile: Removed. This is now generated by configure.


Fri May  5 22:24:37 CEST 2000  Uwe Hermann <uh1763@bingo-ev.de>

 * AUTHORS.html, CHANGELOG.html, COPYING.html, README.html, FAQ.html,
   NOTES.html, INSTALL.html: Removed files.
 
 * AUTHORS, COPYING, ChangeLog, README, INSTALL, NEWS, docs/FAQ, docs/NOTES:
   Added files.

 * TODO.TXT: Renamed to TODO. Slightly changed formatting.

 * README: Reformatted the file. Added info about CVS. Added a pointer to
   the file INSTALL.

 * noffle.1, noffle.conf.5: Moved to docs/

 * LSM.TXT: Moved to docs/noffle.lsm. Small fix.

 * INSTALL: Adapted to autoconf build-system. A few minor fixes.


-------------------------------------------------------------------------------

1.0pre6pre

     * Forget cached group info when group database closed.
     * Added list of 'forbidden' newsgroup specs., as defined in draft IETF
       Newsgroup Format (C.Lindsey), tracked to replace RFC1036. This defines
       newsgroup names that should only be used for server-local groups and
       server pseudo-groups (e.g. INN's to.*, cancel, cancel.*, junk). These
       are now intercepted when querying server groups and ignored. Group names
       omitted are any single component names, any 'control.*', 'to' or
       'to.*',and any with a component 'all' or 'ctl'.
       Note these restrictions do not apply to local group names.
     * Fixed problem with article numbering if the overview file empties,
       e.g. due to all articles in a very low volume group expiring. This
       would cause article numbers to be set back to 1 when a new article
       arrives.
     * Changed %i to %d in sscanfs everywhere. INN often (as it is entitled
       to do) has leading zeros on numbers. %i interprets these as octal
       numbers. Also changed %i to %d in printfs, for no good reason.
     * New groups now always start numbering at article 1. Previously article
       numbering would start with the first held remote article number, in an
       attempt to avoid newsreaders noticing if noffle is deleted and
       reinstalled. Given Noffle may well not collect the first held article
       anyway - it only will if the default number of articles to retrieve on
       a first connect is big enough - and the fact that Noffle's pseudo
       articles make it impossible to keep local article numbers in lock-step
       with the server, there is the chance this scheme would just cause
       readers to miss new articles.
     * Record newsgroup posting status. Enforce it at posting time.
       Added --modify to change newsgroup descriptions for all groups and
       posting status for local groups.
     * Added group deletion.
     * Added message cancellation - from command line or by control message.
       Note command line only cancels locally - it can't be used to cancel a
       message that has already gone offsite. A control messages cancels
       locally if possible; it is only propaged offsite if the target is in a
       non-local group and has itself already gone offsite.
     * Added wildmat code taken from INN - ensure Noffle wildcarding is
       exactly to spec.
     * Added group-specific expire times.
     * Noffle now sends a "MODE READER" command after connecting to the
       remote server. INN needs this before it will permit POST.
     * Applied patch from Jim Hague: support for local groups / new command
       line options --create and --cancel.
     * Changed output of 'noffle -a all' to standard mailbox format,
       so that tools like grepmail work.

Version 1.0pre5

     * Core files are always enabled when running as server and debugging
       symbols are always in the executable.
     * Use GDBM_FAST flag for hash files.
     * Fixed a bug in online mode with servers that need authentication.
     * Minor changes and improvements

Version 1.0pre4

     * Fixed a bug that broke cross-posting of articles
     * Fixed a bug that truncated headers of posted articles.
     * Long overview header lines are now split into multiple lines in
       response to HEAD or ARTICLE commands.
     * Fixed a bug that caused a crash sometimes when updating the
       requested article list after releasing/regetting the global lock
     * Server is now allowed to generate core files on crash (in spool
       directory) if compiled with -DDEBUG option
     * Opening an article additionally marks all references as
       interesting, so more articles are fetched in thread mode, if one
       article of a thread was opened.
     * New config option "connect-timeout"
     * Minor improvements and bug-fixes

Version 1.0pre3

     * Added XPAT command. Not full syntax, but enough for making slrn's
       thread reconstruction work
     * Storing of requested message-ids completely rewritten (thanks to
       Volker Wysk for the patch). Much more efficient now. Bug removed
       that broke requesting articles with message-IDs containing a
       slash. Added --requested option.
     * When fetching requested articles, do not send more than 20 ARTICLE
       commands at once, before parsing the server response.
     * Minor bug fixes and improvements.

Version 1.0pre2

     * Added RPM_BUILD_ROOT variable to Makefile (useful for creating RPM
       source packages)
     * Removed terrible bug that truncated article body after releasing
       and re-getting global lock

Version 1.0pre1

     * needs complete re-installing, some formats have changed
     * Support for multiple remote servers
     * Faster download when fetching news, because articles are prepared
       in database while parsing response to XOVER and all ARTICLE
       commands are sent at once
     * Bug removed that made authetication only work with lower-case
       passwords
     * Other small bug fixes and improvements

Version 0.19

     * Fix broken full mode
     * Fix cutting of articles after line beginning with '.'
     * Other bug fixes
     * LIST commands can have pattern argument now
     * initial-fetch option removed (same as max-fetch now)

Version 0.18

     * needs complete re-installing, most file format have changed
     * Group database uses gdbm, databases moved to
       /var/spool/noffle/data
     * Most config options changed their names, some do not longer exists
     * New fetch mode "thread" added
     * Different --fetch invocations replaced by single option
     * Meaning of "--database" option changed, "--article" option added
     * Failed postings are now returned to sender by "mail" command
     * Expire uses last access time
     * Auto-subscribe option only subscribes groups now, if an article
       body is opened (no longer if group is selected).
     * Improve posting at German T-Online provider: rename X-Sender
       header, Reply-To header is added, if missing (T-Online overwrites
       From headers), allow to remove Message-ID as a config option.
     * Doc files are now copied to $(PREFIX)/doc/noffle
     * Y2K compliance of NEWGROUPS command
     * Various bug fixes (thanks to all users helping with bug reports)
     * Various changes for tuning and improvement

Version 0.17

     * Bug removed that caused NOFFLE to exceed the allowed maximum number of
       open files on longer sessions.

Version 0.16

     * Noffle generates Message-ID if a message received for posting has none.