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
|