|  
 libutil:
181098:
activutil.c:fakeactive(): when the directory could not be opened,
	the name should appear in the logfile which it did not. Bug report
	and fix provided by Peter Mutsaers <plm@xs4all.nl>.
 fetch.c:
201098:
fetch now writes its PID into the lockfile. Suggestion by
        Joey Hess <joey@kitenet.net>.
181098:
fetch would not delete its lockfile when unable to read its config
	file or unable to find an upstream server therein. Bug reported by
	PhiR <Gerlach@mygale.org>.
181098:
processupstream(): fetch segfaulted when trying to read from a new
	server. Bug reports and fixes provided by Edgar Toernig
	<froese@gmx.de> and kise@imicom.or.jp.
 nntpd.c:
131098:
apparently I missed a slash when inserting Joerg Dietrich's
	patch in rereadactive() -- fixed
 texpire.c:
201098:
when expiring a group, texpire now also resets the numbers of the
	first and last articles; not doing this would lead to problems
	with initialfetch which was ignored in these cases (reported by
	Benjamin Schweizer <SternSZ@gmx.de>)
 Miscellaneous:
181098:
"make dist" does not fail anymore if the directory already exists in
	which the distribution is built
181098:
corrected a bug in the Makefile which would try to link leafnode
	with libutil.a's installed elsewhere in a libdir (reported by
	Daniel Fraga <chapolin@inc101.internetcom.com.br>)
131098:
changed version number to 1.6.2
131098:
some changes in the Makefile (suggested by Michael Mayer
	<mmayer@muenster.de>)
 
 fetch.c:
091098:
fixed a bug in getgroup(): in concert with "maxlines" being set
	to a value, fetch would report every article being too long (but
	properly reject only those which really were). Now fetch only
	complains about articles which are indeed too long. (Bug reported
	by Hannes Birnbacher <ad-soft@t-online.de>)
 nntpd.c:
091098:
removed creation of dotfiles in dogroup()
091098:
fixed a bug in doarticle() which made it impossible to display
	a pseudo-article of a new newsgroup.
091098:
fixed a bug in dolistgroup() which made it impossible to display
	a pseudo-article of a new newsgroup.
091098:
fixed a bug in dogroup() which made it impossible to select a
	new newsgroup or to display its pseudo-article (I have no idea
	when I introduced this...).
091098:
fixed a bug in rereadactive() (leafnode tried to open 
	/usr/lib/leafnode/groupinfo instead of
	/var/spool/news/leaf.node/groupinfo) (bug report and fix by Joerg
	Dietrich <uzsv7x@ibm.rhrz.uni-bonn.de>).
 Miscellaneous:
101098:
changed version number to 1.6.1
091098:
added "maxlines" to config.example
091098:
changed the Makefile somewhat to allow for various CHANGES files
 
 util.c:
230998:
activutil: new procedure fakeactive() produces essential active
	information from scratch (does not rely on either groupinfo or
	.overview files). fakeactive() is called from fetch when used
	with the -f parameter.
210998:
activutil: readactive() hopefully now will detect a defective
	(i.e. truncated) groupinfo file, abort cleanly and give an error
	message. Previously readactive() just crashed, leading to
	segmentation faults in fetch and nntpd.
210998:
activutil: helpwriteactive() hopefully now recognizes if writing
	fails (for example because of a full disk)
230898:
configutil: initialized expire_base (if not, texpire crashes with
	segfault). Bug detected & fixed by Timo Giesselmann
	<gmann@on-line.de>
200898:
xoverutil: removed an unnecessary call to legalxoverline()
	from getxover() (which was not used anyway)
200898:
xoverutil: getxoverline() accepts messages without bodies
	(important for "delaybody" option). However, in this case
	bogus Byte: entries will be created in the .overview file
200898:
xoverutil: getxoverline() now believes in upstream Lines: headers
	(but still computes its own if not provided)
200898:
xoverutil: fixed legalxoverline() which by default returned 1
190898:
activutil: made code of writeactive() more foolproof (hopefully)
190898:
xoverutil: empty articles are not deleted anymore if delaybody != 0
190898:
configutil: delaybody generated an incorrected logfile entry
160898:
xoverutil: switched off debugging in getxoverline()
030898:
activutil: readactive() rewritten to make modified format possible
	without re-reading active file from upstream servers
030898:
activutil: writeactive() rewritten to accomodate the date
030898:
activutil: insertgroup() does not take information from upstream
	servers anymore
030898:
configutil: first server to suck news from is also used as post server
030898:
configutil: added some support for multiple post servers
030898:
configutil: primary server and supplementary servers are now
	equivalent.
030898:
configutil: servers are now queried front-to-back
030898:
split up util.c into several files, to achieve smaller executables.
	Changes in these executables will still be subsumed under util.c
	for the time being
020898:
fixed a bug when writing the groupinfo file
200798:
"crosspostlimit" now "int" instead of "unsigned int"
200798:
fixed a bug when writing the groupinfo file
170798:
some changes to create proper XOVER information when reading new
	groups. tin pre-1.4 release 980514 used to hang when starting to
	read new groups. This is now fixed; however, tin now doesn't see
	the "default" article... :-(
170798:
introduced new global variable "debug" to keep the logfile somewhat
	smaller
070798:
added parameter create_all_links
200698:
fixed a bug introduced on 180698 which corrupted the groupinfo file
180698:
if groupinfo file cannot be written, old groupinfo file is not
	deleted any more
270598:
implemented the changes of leafnode-1.5(enz)
120598:
enhanced debugging capabilities drastically (you can now listen
        to leafnode talking :-)
060598:
added "maxage" parameter to /usr/lib/leafnode/config
020598:
added "post" parameter to /usr/lib/leafnode/config which allows
	posting through an additional server (or maybe I should go through
	replay.com?)
020598:
changed readconfig() to accommodate groupexpire options (Arnt
	will kill me for this :-)
010598:
even more massive changes in readconfig which works now even better
        (I discovered strtok() and strsep())
300498:
more changes in readconfig which does now not work any more :-(
270498:
more massive changes in readconfig which now works :-)
190298:
changes in readconfig
 fetch.c:
230998:
"fetch -f" now calls fakeactive() and does not attempt to read
	the active file any more
230998:
replaced two occurances of isalpha() with isalnum() to allow
	for top-level hierarchies which start with digits
230998:
nntpactive(): when getting new groups, now first LIST ACTIVE
	and then LIST NEWSGROUPS is issued (LIST NEWSGROUPS alone does
	only return groups which have a description which results in an
	incomplete groupinfo file)
210998:
lockfile mechanism didn't work anymore because I took Stevens too
	literally. Now the lockfile is only deleted when fetch ends.
	Disadvantage: if fetch crashes, the lockfile is not removed at all.
070998:
nntpactive(): LIST NEWSGROUPS [news.group] was not properly
	terminated which apparently caused errors in entering new
	files (reported by Tobias Burnus <tobias.burnus@uumail.de>)
310898:
getgroup(): .overview files are not removed by fetch anymore
310898:
nntpactive(): active.read was not created if not already there
	(reported by Tobias Burnus <tobias.burnus@uumail.de>)
210898:
getbody(): new bodies now get new article numbers, old ones are
	removed, xover line is changed appropriately
210898:
getgroup(): omitted an error condition in yesterday's fixing attempt
200898:
getgroup(): article files were not closed when "delaybody" was
	set which resulted in the duplication of headers
160898:
fetch now logs Subject:s of discarded articles
140898:
fixxover() reintroduced because the call of texpire did not work
	correctly (note that the removal of fixxover() is not indicated
	below but probably occured on 050898)
050898:
added parameter "maxlines" to avoid very large articles
050898:
nntpactive() is now called for every server on the list which makes
	it possible to read groups which are only held by certain servers
050898:
nntpactive() now reads newsgroups descriptions with NEWGROUPS
	except for very large intervals. LIST ACTIVE is completely omitted
	and newsgroups counted from 1 instead.
050898:
readactive() and writeactive() were not called anymore; re-inserted
030898:
supplementary servers and primary server are now handled by the
	same procedure (which makes sense and saves space)
220798:
fixed a bug which would corrupt multiple-line headers
220798:
no more IHAVE since it doesn't work on most servers anyway
220798:
modified getgroup() to accommodate multiline headers
210798:
fixed a bug in getgroup(): fetch would try to get nonexistent
	articles because optimization was not correctly accounted for
210798:
fixed a bug when processing supplements: fetch would write the
	groupinfo file (although unnecessary), thus causing a lot of
	unnecessary traffic
200798:
lockfile is now actually created (this got lost somehow during
	messing with the code)
200798:
turned off logging for forked process
200798:
fixed a bug in handling of "crosspostlimits" (groups were not
	counted correctly)
200798:
fixed a bug: news articles were retrieved even when the group
	was being skipped in the future
180798:
added support for maximal number of crosspostings
170798:
error messages mentioned in 070798 removed by rewrite of
	getgroup()
170798:
major rewrite of getgroup(): fetch now fetches HEAD and BODY of
	each article separately and performs some kind of checks
170798:
implemented some of the changes of leafnode 1.5(enz) (untested)
070798:
added parameter create_all_links (if set to "no" only hardlinks
	into "interesting" groups are created). This works apparently,
	although /var/log/news.messages contains a lot of error messages:
	fetch[31989]: Error No such file or directory when opening (null)
	These occur between fetching the header and the rest of the
	article. They also occur when an article is not crossposted.
250698:
added a possibly important error message when an article cannot be
	written into the news spool
150698:
now using READ_INTERVALL for rereading of active file instead
	of TIMEOUT_LONG (makes more sense)
120598:
added some system to the number of "v"s:"fetch": barfs if critical errors occur
 "fetch -v": barfs if non-critical errors occur
 "fetch -vv": puts out additional information about groups
 "fetch -vvv": puts out additional information about articles
 "fetch -vvvv": for debugging purposes
120598:
first semi-successful query of supplementary servers
060598:
added "maxage" parameter (aging function already provided by
	leafnode 1.4 but not used)
020598:
some support for posting to one additional server
020598:
some more ints changed to longs
010598:
some changes in handling of supplementary servers (still broken).
010598:
usesupplement is now a global variable.
270498:
"47 bug" removed (fetch did never report more than 47 outstanding
        articles, even when there were hundreds)
270498:
changed some definitions of article numbers from int to long (there
        may well be more than 32767 articles in a group)
190298:
lockfile is created later now (I don't know if this is really
        a clever idea)
310198:
some changes in fetching group descriptions
310198:
some things logged to syslog instead of writing them to the screen
220198:
some more error messages logged instead of printed to console
220198:
option -n implemented (no automatical expiry of groups: very
        sensible for holidays or one-person servers :-)
220198:
improved (?) some "verbose" messages
220198:
"usesupplement" set to 1 in main()
 nntpd.c:
210898:
messed with fopenpseudoart() (twice)
200898:
pseudo articles now properly displayed in tin
200898:
dolistgroup() now returns proper output for pseudo articles
200898:
doxover() now returns proper overview line for pseudo articles
200898:
changed some logging in nntpd
060898:
changed some logging in nntpd
050898:
implemented NEWGROUPS (time zone information is ignored)
180798:
implemented some of the changes of leafnode 1.5(enz) (untested)
170798:
improved logging in general :-)
170798:
improved logging in doarticle()
170798:
improved logging in dogroup()
170798:
improved logging in dolistgroup()
170798:
LISTGROUP without group now returns 412 instead of 481.
170798:
LISTGROUP of an empty group now returns an empty list instead of
	"481 Overview information not available". This fixes the problem
	that tin hangs with empty newsgroups.
170798:
NEXT/LAST now return correct return codes if the latest/oldest
	article has been reached
170798:
XOVER now also works properly with new newsgroups
010598:
LIST OVERVIEW.FMT implemented
220198:
useless "dostat" declaration removed
 texpire.c:
310898:
dogroup(): remove .overview if group becomes emptied
200898:
removed legal() (replaced by legalxoverline() from xoverutil.c)
020598:
fixed a small bug in expiremsgid()
020598:
groupexpire implemented
020598:
-v option implemented
020598:
verbose logging
 Miscellaneous:
280998:
Arnt Gulbrandsen will not maintain leafnode anymore.
280998:
update of README
230998:
update of README
210998:
more changes in the manpages for checkgroups
200998:
update of README
060998:
slight updates in checkgroups and its manpage
010998:
"make update" correctly documented (in INSTALL and README)
010998:
"make update" now works correctly (calls update.sh with parameters)
310898:
fixed a small error in the Makefile (reported by Tom Schlangen,
	<t.schlangen@ndh.net>)
230898:
"update" included into Makefile (doesn't work correctly yet)
230898:
"uninstall" included into Makefile
230898:
Makefile modified
160898:
Makefile modified
160898:
improved update script: groupinfo now converted and new file for
	main server generated
060898:
added update script
060898:
slight bug in Makefile fixed
050898:
added documentation for "maxlines"
050898:
improved (?) the documentation a little
050898:
removed the HOWTO from the Makefile since it is outdated with
	respect to 1.6
050898:
removed the server field from the struct newsgroup
050898:
fixed a small bug in the Makefile: the lockfile directory that was
	created was wrong
030898:
groupinfo and the various server files are now kept in
	/var/spool/news/leaf.node/<filename>. Makefile and INSTALL have
	been changed appropriately
030898:
added support for split of util.c in Makefile
220798:
added documentation for "maxcrosspost"
200798:
lockfile now in /var/lock/news to be compatible to old versions
170798:
"delaybody" documented
170798:
Makefile now zips the patch up
270598:
changed config.example to incorporate the new options of
	leafnode-1.5(enz)
270598:
changed Makefile according to leafnode-1.5(enz); omitted
	rules for install-bin and update, however.
270598:
added patches from leafnode-1.5(enz) to leafnode.h
270598:
added newsq.1 from leafnode-1.5(enz)
270598:
fixed a bug in the Makefile
020598:
changed config.example
020598:
lots of ints changed to unsigned longs
020598:
leafnode.8 updated
020598:
texpire.8 updated
010598:
fixed bug in config.example (maxfetch was designated "maxcount")
300498:
removed rfc977 and rfc1036 from the package
300498:
added leafnode mini-HOWTO
300498:
global rewrite of leafnode.8 (also posted to
	de.comp.os.linux.networking)
250498:
Makefile: replaced "cp" and "chmod" calls with "install"
        (suggested by Axel Eble <aeble@controlware.de>)
140298:
added rfc977 and rfc1036 to the package
220198:
Makefile: added "patch" ("make patch" will generate a patch)
220198:
Makefile: permission for $SPOOLDIR now 2755 (was 2750)
220198:
leafnode.8: maxfetch was designated "maxcount"; fixed
220198:
fetch.8: added documentation for -n
 
 Changes from 1.5(enz) to 1.6
Leafnode 1.6 was built on the sources of 1.4 because the sources of 1.5(enz)
became only available later. Here are the changes introduced by 1.6 with
respect to 1.5(enz):
It is possible to use multiple upstream servers
Blocking of newsgroups has been disabled again.
Added new option "create_all_links" which is set by default. If unset,
    fetch only stores links of crosspostings posted to "interesting" groups.
Several new options to filter downloads:"maxlines" to set a maximal size of postings to download
 "crosspostlimit" to filter out spam
 "maxage" to cope with burps of upstream servers
New option "groupexpire" to selectively modulate expiry time for certain
    newsgroups.
Bug fixes (as usual)
 
Author: Cornelius Krasel <krasel@wpxx02.toxi.uni-wuerzburg.de>Date: October 1998
 |