Personal tools
You are here: Home NewsCache Changelog

Changelog

by Herbert Straub last modified 2008-03-11 08:05

NewsCache ChangeLog

2004-09-23 Herbert Straub

  • improved: error messages in class NVcontainer to detect database file corruption.
  • Feature: can handle bad database files discoverd by NVcontainer::make_current(). In this case, the bad database files is renamed to *.bad. The error is protocolled in news.err (bad database file). NewsCache answer with: 412 operation failed. The next access to this article will retrieve the articles from the remote server.
  • doc: adding doc/newscache-corrupt-db-files.txt -> details of databsae corruption errors.
  • Version: 1.2rc6

2004-07-28 Herbert Straub

  • doc: replacing doc/draft-ietf-nntpext-base-04.txt with doc/draft-ietf-nntpext-base-22.txt
  • doc: removing doc/draft-ietf-nntpext-imp-02.txt obsolete. See:

http://www.ietf.org/ids.by.wg/nntpext.html

http://www.ietf.org/all_id.htmlhttp://www.ietf.org/all_id.html

  • doc: adding doc/draft-ietf-nntpext-tls-nntp-01.txt
  • LSB Init Script Name Registry: register initscript newscache. See http://www.lanana.org/lsbreg/init/index.html

2004-07-22 Herbert Straub

  • Article::GetText update: libintl.h correction by Ulrich Drepper, see:

http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/intl/libintl.h?cvsroot=glibc

see also 2004-06-02 Compiler Error

  • man page newscache.conf: Updating ServerSpec PostTo and add the Multiple Upstream NewsServer example.
  • new meaning of option: updatenews -a

This option force the update of the ActiveDB. This is usefull after manipulating the NewsServerList in the configuration file. see also the manual pages newscache.conf and updatenews.

2004-07-09 Herbert Straub

  • changing etc/newscache.conf-dist: PidFile /var/run/NewsCache.pid to /var/run/newscache.pid

2004-07-05 Herbert straub

  • sstream.h: namespace std with new socket++
  • Version: 1.2rc1

2004-06-23 Herbert Straub

  • Bugfix: Authentication::set method: fix empty fields at the end(example: Authentication pam::*::).
  • doc/newscache-stunnel-ssl.txt: nntps with NewsCache and stunnel
  • signals: logging received signals (priority debug)
  • manual pages: using *.in files with @SYSCONFDIR@, @SBINDIR@ ... configure creates the manualpages with the correct pathnames.
  • newscache.conf.5.in: new sections: FILES, COPYRIGHT,
  • newscache.8.in: new sections: FILES, COPYRIGHT, SIGNALS. Rewritten sections: DESCRIPTION

2004-06-11 Herbert Straub

  • configure.in: --enable-debug uses CXXFLAGS -g -O0
  • configure.in: --with-pam takes a optional argument for the PAM Servicename
  • doc/ directory: new guides:

newscache-coredump.txt: how i catch a coredump

newscache-debugging: how i debug a newscache session

newscache-pam.txt: how i use the pam functionality

  • configure.in: various updates

2004-06-02 Herbert Straub

  • Compiler Error: g++ -O3; the method Article::gettext conflicts with the libintl.h macro gettext. See also (not a compiler bug): http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15773 and the Stroustrup C++ Style and Technique FAQ: So, whats wrong with using macros?

http://www.research.att.com/~bs/bs_faq2.html#macro

Bruno Haible's solution posted in the libc-alpha (redhat.com) mailinglist:

http://sources.redhat.com/ml/libc-alpha/2004-06/msg00018.html

Change Article::gettext to Article::GetText for the moment.

2004-02-03 Herbert Straub

  • Bugfix: crypt.h (FreeBSD) in NewsCache.cc (Tilman Linneweh)
  • Enhencement: Variable pam service name. Controlled via newscache.conf AccessList - Client - PAMServicename Parameter
  • Enhencement: New newscache.conf AccessList - Client - allow option: authentication. Usefull if only authenticatiated users allowed
  • Bugfix: NNRP::CommandMAP::disableRead: also erase: list, mode, newgroups
  • Enhencement: new option: newscache -o --> prints the configurations options
  • Bugfix: Don't shows passwords in logfile, if authinfo fails.
  • FIXME: xdebug dump authorization doesn't display the correct access_flags
  • FIXME: j: 4 flags: read,post,debug t: read

2004-01-20 Herbert Straub

  • Bugfix: removing -W -pedantic compiler flag

2004-01-15 Herbert Straub

  • Bugfix: Newsclient tin hangs in phase newsrc download. NewsCache cannot handle the simultanious group download.

Reason: select call and iostream/socket++ mixed.

Reported by Mike Harding

  • Update: Year of Copyight updated.
  • Update: minor update of man page newscache.conf
  • New Version: 1.1.92

2003-12-13 Herbert Straub

  • Consolidation: Compiler Flags: -W -pendantic
  • Consolidation: NVcontainer.h:34: error: long, short, signed or unsigned used invalidly for ` mtime'
  • Consolidation: redesign NNRPCommandMap class, add methods: enableAll, disableRead, disablePost, disableDebug
  • Consolidation: updating the man page newscache.conf.5 parameter Read, PostTo in the NewsServerList section. The PostTo parameter is not implemented at the moment.

2003-12-10 Herbert Straub

  • Bugix: Error Parsing the commands from the news-client. Reported by Konstantin Nikonenko
  • New Version: 1.1.91

2003-10-24 Herbert Straub

  • New Version: 1.1.90

2003-10-22 Herbert Straub

  • Bugfix: correcting nnrp_command_map after authinfo process.

new help function NewsCache.cc: set_client_command_table ns_authinfo() calling after successfull authenticaion

set_client_command_table nnrpd() calling set_client_command_table

  • Update: newscache.conf man page, reflecting the new authentication methods.
  • Removing: Compiler Option -Wno-unused from all Makefile.am and all unused variables.

2003-10-05 Herbert Straub

  • Feature: implementing authentication pam and pam+file

Source: http://www.kernel.org/pub/linux/libs/pam/modules.html

Source: http://www.kase.fi/~tuomo/files.html

Enhencement of working with allow field.

2003-10-04 Herbert Straub

  • Feature: new debug message show the modified access_entry ruleset: NewsgroupFilter set to: !at.,g.t1:at.,g.t2:de.*,g.t3

The three fields (seperator :) are List:Read:postTo and can be set with the List Read PostTo and Authentication parameter in the newscache.conf file. These fields are modified, if a user goes through the authentication process. Seen man 5 newscache.conf

  • Bugfix: wrong description in newscache.conf-dists, section Client- access/Authentication: NONE, DENY, FILE removed -> no implentation AuthFile removed -> no implementation. Correcting man/newscache.conf.5
  • Feature: new commands: xdebug help and xdebug dump configuration
  • Enhencement: reworked authentication process: new class Authentication, AccessEntry::authentication is type class Authentication instead of std::string, cleanup NewsCache.cc and use the new class functionality of Authentication, new auth_state AUTH_NOT_REQUIRED in NewsCache.cc. For a detail description see man newscache.conf, README.authentication and newscache.conf-dist.
  • Feature: new configure parameter --enable-plainpass

If enabled and authentication file:/path/to/file is used, then the password field in the file is interpreted as plain text. If password doesn't match, then the auto_cryptcheck routine is called.

  • Feature: password file format is extented by the allow field.
  • Feature: new file etc/newscache.auth-dist as example
  • Feature: authinfo password check: every false password input, multiply the sleep time. After three false password retries, the service is disconnected. New variables: int auth_failures, auth_max_failures, auth_failure_sleep_time.

2003-09-01 Herbert Straub

  • Consolidation: newscache.conf-dist: AccessList allow/deny description: removing deny (implementation in source code not available: use allow none). Removing deny description in newscache.conf man page.
  • Bugfix: NewsCache always returning "502 Bad authinfo" in combination with configuration parameter --with-shadow. Reason: wrong Condition inf check_authentication function (NewsCache.cc) - missing ! Now working with ShadowPasswords.
  • Bugfix: Authentication parameter in AccessList section not working, permit access to groups without authinfo informations. Bad condition in nnrpd function NewsCache.cc.
  • Feature: the debug logfile (news.debug) shows which entry from the AccessList match. Example: nnrpd: access_entry name matched: 127. 0.0.1/255.255.255.255

2003-09-28 Herbert Straub

  • Consolidation: Timeouts and GroupTimeout: correcting descriptions in man/newscache.conf.5 and etc/newscache.conf-dist; validating description and source code. Removing useactive in MPListEntry and CServer::groupinfo (useless). Removing timeouts in CServer::groupinfo.

Removing activeTimeout from MPListEntry and MPList::readServer -> implemented in Timeouts. Updating doxygen documentation CServer::groupinfo.

  • Consolidation: New Defaultvalues: GroupTimeout 600 seconds, Timeouts 3600 3600 (1 hour for activedb and group description) -> man/newscache.conf etc/newscache.conf-dist
  • Consolidation: removing obsolete method MPList::dump(ostream)
  • Consolidation: Default value is ListenTo DEFAULT instead of CachePort nntp
  • New feature: New option: newscache -p Print the current used parameter (debugging feature). Adding method printParameters to classes Config, MPList, MPListEntry, AccessList AccessEntry.

2003-09-24 Herbert Straub

  • Bugfix: man page updatenews.8 Synopsis and Options doesn't match the reality in the program. updatenews.cc now using getopt(). man page updatenews.8 rewritten.
  • Bugfix: man 5 newscache.conf: new section ServerSpec Options flag:

[not-]setpostflag, [not-]cached, [not-]offline, semioffline

new section Commands.

  • Bugfix: verifying the Examples sections

2003-08-17 Herbert Straub

  • Bugfix: man page newscache.8 Synopsis and Options doesn't match the reality in the program. NewsCache.cc now using getopt() and understanding the options: vfhcid (see man newscache); configure.in extended with headercheck getopt.h. man page newscache.8 rewritten.
  • Bugfix: man page newscacheclean.8 Synopsis and Options doesn't match the reality in the program, NewsCacheClean.cc now using getopt() and understanding the options: hvcspt. man page newscacheclean.8 updated.

2003-08-10 Herbert Straub

  • Bugfix: uninitialized _pServerStream in RServer():NServer() sig11 problem (FreeBSD) reported by Steve Ames
  • newscache.conf.5 man page: continued updating the man page.

2003-04-20 Herbert Straub

  • Bugfix: updatenews go in a infinite loop, if in the configuration the parameter PrefetchFile is'nt specified. The updatenews starts with the default value \0 and does'nt check the stream status!

2003-04-09 Herbert Straub

  • Bugfix: Article.cc: removing default parameter from getfield and write (patch from Tilman Linneweh )
  • Bugfix: configure.in x$libsocket_found condition (patch from Tilman Linneweh )

2003-04-05 Herbert Straub

  • newscache man page: paritially rewritten und updated. Not finished.
  • New Version: 1.1.12

2003-03-18 Herbert Straub

  • Bugfix: DATE command returns localtime instead of gmtime.

Thanks to Matthias Andree (Leafnode maintainer) for reporting this error. gmtime errors into news.err.

  • Bugfix: nnrpd function in src/NewsCache.cc doesn't flush the client stream, therefore the 502 Errormessages lost.

2003-03-12 Herbert Straub

  • Feature NewsCache.cc: after client connection timeout sending: "400 " PACKAGE " " VERSION", service timed out"
  • Feature NewsCacheClean.cc: dropped purge table implemention and replaced with STL vectori. clean() code reviewed and enhenced: exception directories
  • Bugfix NewsCacheClean.cc: introduced with version (2003-02-28): NVNewsgroup created in all directories a .db file. -> done
  • Bugfix: "caught signal 6" messages in news.err logfile. Insert an exception handle in NewsCache.cc and using "named socket" - see next two points.
  • Feature NewsCache.cc: naming the client socket; socket name listed in news.err (throw sockerr), if a communication error occours.
  • Feature sstream.cc: naming the upstream news server socket; socket name listed in news.err (throw sockerr), if a communication error occours.
  • Feature newscacheclean.8 man page: updateded

2003-02-28 Herbert Straub

  • Enhencement: NewsCacheClean.cc: analyze with NVNewsgroup class every .db file to determine, if outdated article (.art*) are available and purge this articles. Adding this feature to -s (statistic) qualifier.

2003-02-18 Herbert Straub

  • Debug.h: added NC_CATCH_ALL macro

2003-02-14 Herbert Straub

  • Error.h: Exception output to Logger::Debug

2003-02-13 Herbert Straub

  • New Version 1.1.11

2003-02-05 Herbert Straub

  • ArtSpooler.cc: insert HAVE_SSTREAM

see doc/Libstdc++-porting-howto.html

  • NServer.cc: insert HAVE_SSTREAM

see doc/Libstdc++-porting-howto.html

  • Article.h: changed struct Article to class Article; moved implementation from find_field, getfield, setfield methods to Article.cc; sprintf("%u", string.length()) in getfield compilation warning on Itanium -> changed to strstream implematation.
  • Rewritten: the while man/newscacheclean.

2003-02-02 Herbert Straub

  • NewsCacheClean.cc: removing cout from print_statistic, removing old chain implementation (cleanlist), add -s qualifier, removing -t qualifer and code, because g++3.0 doesn't support an attach method
  • updatenews.cc: removing qualifier -t and code
  • sbin Programs NewsCache, NewsCacheClean: changed to newscache and newscacheclean
  • Changed: man pages for newscache and newscacheclean are lowercase

2003-01-31 Herbert Straub

  • Bugfix: Connection time out to upstream newsserver leads to a SIGABRT news.debug sequence:

sstream::connectTo can't connect to upserv nntp sockerr code: 110 sockerr operation: sockbuf::connect sockerrtext: Connection timed out sstream::disconnect

CServer::active: UNEXPECTED EXCEPTION CAUGHT, WHILE IN CRITICAL REGION!

CServer::active: PLEASE REPORT TO tom@infosys.tuwien.ac.at

...

  1. caught signal 6

--> insert a try catch block in sstream::disconnect method

  • Removing: accesslog, cachestat, hoststat, hostlog. This scripts desn't working. hoststat conflicts with sendmail's hoststat!
  • Changing: all e-mail addresses in PLEASE REPORT TO ... to h.straub@aon.at

2003-01-30 Herbert Straub

  • Bugfixing session on HP TestDrives: RedHat Advanced Server on Itanium with g++ 3.2
  • Bugfix: added using namespace std for g++ >= 3.0 !! for ArtSpooler.cc, tlock.cc, tartspooler.cc
  • Bugfix ObjLock.cc: removed cout debugging statement.
  • Bugfix --with-syslog=no:
  • Logger.cc: using namespace std, removed default arg for constructor, removed Logger::attach
  • Logger.h: #include , using std::ofstream, removed attach method from Logger
  • updatenews.cc: slog.attach removed. New implemention of logfile handling; open newscache_updatenews.log in LogDirectory (configuration parameter).
  • NewsCacheClean.cc: same thing as in updatenews.cc: logfile is newscache_newscacheclean.log
  • NewsCache: sanem thing as in updatenews.cc: logfile is newscache.log

2003-01-21 Herbert Straub

  • doxygen added comments in NServer-0.9.1/: Article.h, CNewsgroup.h, GroupInfo.h, Lexer.h, MPList.h, NSError.h, NVActiveDB.h, NVActive.cc, NVNewsgroup.h, NewsgroupFilter.h, OverviewFmt.h, RNewsgroup.h, VirtualIterator.h, readline.h, util.c, util.h
  • doxygen added comments in NVClasses-0.9.1/: Error.h, Logger.h, NVArray.h, NVHash.h, NVHash.cc, NVList.h, NVList.cc, NVcontainer.h NVcontainer.cc, NVlist.h, NVList.h
  • doxygen added comments in src/: AccessList.h, Config.h

2003-01-21 Herbert Straub

  • New Version: 1.1.10
  • Reformatting: all Source files with indent -v test.cxx -kr? -i8? -o test_1.cxx
  • updated: TODO

2003-01-20 Herbert Straub

  • New Version: 1.1.9

2003-01-11 Herbert Straub

  • Bug: updatenews -> segfault (fixed with new implementation of Article Spool Management.
  • New classes: ArtSpooler, ObjLock (manager Article Spool)
  • New: doxygen format: ArtSpooler, ObjLock, NServer
  • util.h: mkpdir 1 parameter const char *
  • LServer:: add ArtSpooler *pSpool;
  • LServer::init(spooldir) initialize ArtSpooler, remove char buf[1024]
  • LServer::~LServer() delete pSpool
  • CServer::postspooled (void) -> complet reimplemented; using ArtSpooler
  • CServer::spoolarticle (Article *article) -> complet reimplemented; using ArtSpooler
  • New: test subdirectory with test programms; not installed! tartspool.cc, tlock.cc
  • Changed: configure option --with-miscnames changed to --with-uniquename. NewsCache, NewsCacheClean, updatenews using different name in syslog. For the old name schema, specify --with-uniquename. configure.in, src/updatenews.cc, src/NewsCacheClean.cc
  • Updated: NEWS, TODO, COPYRIGHT

2002-12-18 Herbert Straub

  • New Version: 1.1.8

2002-12-06 Herbert Straub

  • configure.in: updating libsocket++ check
  • src/NewsCache.cc: add clt.co->flush() on client_timeout and disconnecting message
  • src/NewsCache.cc: add "NewsCache Server Start" syslog message

2002-11-23 Herbert Straub

  • .h socket++ Library moved to socket++/.h
  • update socket++ checks
  • New Version: 1.1.7

2002-11-23 Herbert Straub

  • autogen: add-missing: automake --add-missing
  • NSError.h, Error.h, Article.h, Lexer.h: file and function parameter now const char*
  • newscache.conf-dist: new default value SpoolDirectory /var/cache/newscache
  • Updating: NEWS, INSTALL, README, THANKS files
  • New file: README.RedHat-8.0
  • New Version: 1.1.6

2002-11-22 Herbert Straub

  • New Version: 1.1.5

2002-10-30 Herbert Straub

  • Implementing in all files: throw (...,ERROR_LOCATION)
  • Bugfix: RServer::post(): Error posting without message-id
  • Bugfix: removing getfield("message-id") from Debug Message in ::post Methods from RServer

2002-10-29 Herbert Straub

  • Error classes: adding __FILE__, __PRETTY_FUNCTION__, __LINE__ to constructors. Also modifiy the print functions.

2002-10-22 Herbert Straub

  • Improvment: debug output in NewsCache.cc selectgroup
  • Bugfix: NSError.h: the constructor of NSError write a wrong type information to the systemlog.

2002-10-17 Herbert Straub

  • NServer-0.9.1/NSError.h and NVClasses-0.9.1/Error.h: reformatting print method outpout (one line) for Exceptions.
  • INSTALL: bugfix in description

2002-10-08 Herbert Straub

  • New Version: 1.1.4

2002-10-08 Herbert Straub

  • Bugfix for FreeBSD: Ted Mittelstaedt reports a build error on FreeBSD (crypt.h). Tilman Linneweh send me a solution for this problem in src/crypt.h.

2002-10-06 Herbert Straub

  • Version: 1.1.3
  • Bugfix: Hanger in POST Function

Correction: add flush in src/NewsCache.cc in ns_post() and

NServer-0.9.1/NServer.cc in RServer::issue.

  • NewsServer.cc: Add detailed error logging, if compiled with debug

2002-10-05 Herbert Straub

  • etc/newscache.conf-dist: update the documenation for Nice values
  • man/newscache.conf.5: add documantion for NiceServer, NiceClient, NiceClean and ListenTo Configuration Option.

2002-10-05 Herbert Straub

  • Version 1.1.2
  • Bugfix: Not working with more then one Upstream Server: sstream::connectTo can't connect to nodename-upstream-server nntp sockerr code: 106 sockerr operation: sockbuf::connect sockerrtext: Transport endpoint is already connected Reason: the socket++ Library doesn't make a close (socket).

Correction: in NServer.cc convert _ServerStream to *_pServerStream and control connect/disconnect with new/delete

  • class Error: remove logging in constructor
  • NServer.cc: Add detailed error logging, if compiled with debug

2002-09-27 Herbert Straub

  • Version 1.1.1
  • Require libsocket++-1.2.* from my Homepage (see NEWS)
  • Updating autogen
  • Remove various debug messages to cout

2002-07-31 Herbert Straub

  • change from std::strstream to std::sstream

2002-07-28 Herbert Straub

  • sstream is now derived from iosockinet from libsocket++ (version 1.2)
  • libsocket++ is now a shared library

2002-07-24 Herbert Straub

  • Improving Errortext: CNewsgroup::sUpdateOverview(void) (catch Error) Description: list returns a list of Newsgroups, group a.a.b.c returns 411 No such group. In this situation the client receive nothing(?).

2002-07-06 Herbert Straub

  • Bugfix: NServer.c CServer::postspooled(void) change from if(fs.bad() && !fs.eof()) { to if(ifs.bad() && !ifs.eof()) { fs is the wrong filebuf.
  • Porting g++-3.1: A porting howto for libstdc++ 3.0:

/usr/share/doc/gcc-3.0-base/libstdc++/html/17_intro/porting-howto.html

  • Porting g++-3.1: NServer.cc. fstream.attach (fd) not longer available. Therefore i think it is simpler to change back to the fprintf and fscanf routinen in

void CServer::spoolarticle(Article *article) and

void CServer::postspooled(void).

Another way: http://www.josuttis.com/ and C++ Souces fdstream.hpp

  • Porting g++3.1: src/NewsCache.cc in nrpd: clt.ci and clt.co use fstream.attach () and change to iosockstream and sockbuf. This are classes from the socket++ Library.
  • src/AccessList.h: change struct AccessEntry to class AccessEntry
  • src/AccessList.cc: method client: vector::iterator see details in NEWS

2002-05-07 Herbert Straub

  • Bugfix: ns_list: 501 Syntax text updated (active wildmat)

2002-05-06 Herbert Straub

  • Version: 0.99.23
  • Bugfix: RServer::post reimplement the stat check before posting. Matthias Andree (Leafnode-Maintainer) asks about the status of the stat command.

2002-03-12 Herbert Straub

  • Bugfix: stat_articles was useless - see news.info exit message. Now it counts the complete retrieved articles by the process.
  • New Version: 0.99.22

2002-03-12 Herbert Straub

  • New file autogen
  • Bugfix: process hanger: setsockopt(SO_KEEPALIVE) in sstream.cc
  • New: ./configure --with-miscnames, miscellaneous names for NewsCache, NewsCacheClean and updatenews in syslog messages
  • New Version: 0.99.21

2002-03-08 Herbert Straub

  • Bugfix: ListenTo with FQDN not working James Youngman reports this error an send a patch proposal for src/NewsCache.cc

2002-03-06 Herbert Straub

  • Bugfix: Grzegorz Staniak reports an compile error on Mandrake (src/setugid.cc: #include
  • Bugfix: NewsCache.cc nntpd(): setsockopt(SO_KEEPALIVE) for client socket; avoids client process hanger

2002-02-19 Herbert Straub

  • Adding conf-parameter NiceServer, NiceClient, NiceClean with the setpriority function
  • Adding conf-parameter ListenTo for multihomed hosts
  • Bugfix: inserting wildmat.[ch] in Nserver-0.9.1/Makefile.am
  • Bugfix: enabling CC Compiler in configure.in
  • configure: 0.99.19

2002-02-14 Herbert Straub

  • configure: 0.99.18
  • Bugfix: Warren Flemming reports an compile error on RedHat 7.1 (md5crypt).

2002-02-05 Herbert Straub

  • Bugfix: list active wildmat not working Include the wildmat.[ch] from the INN Project

2001-XX-XX Herbert Straub

  • Bugfix: post in cascaded NewsCache Configuration not working
  • Bugfix: stat messageId not working
  • Performance for big NewsCache Spools: change NewsCacheClean from chain to table

2000-02-03 Thomas Gschwind

  • src/crypt.cc: corrected stupid salt calculation
  • src/NewsCache.cc (ns_newgroups): fixed a y2k bug (thx heinz) (nnrpd): disabled stream buffering, some clients had problems with this

1999-05-24 Thomas Gschwind

  • NServer-0.9.1/checks/cArticle.cc: added checks for class Article

1999-04-XX Thomas Gschwind

  • added read/postTo options to authentication handling
  • adapted *ActiveDB to add read/postTo options to authentication handling
  • incorporated various patches

1999-01-19 Thomas Gschwind

  • NVClasses-0.9.1/NVcontainer.cc (open): better detection of out of disk space errors

1999-01-14 Thomas Gschwind

  • src/NewsCache.cc (nnrpd): do not wait for the next command when a termination signal is received
  • configure.in: check if sigaction is available
  • src/NewsCache.cc: use sigaction to set signals instead of signal (if available)

1998-12-11 Thomas Gschwind

  • src/NewsCache.cc (nntpd): removed SO_KEEPALIVE option
  • NServer-0.9.1/util.cc (mkpdir): mkpdir() fixed

1998-11-24 Thomas Gschwind

  • NServer-0.9.1/CNewsgroup.cc (sUpdateOverview): fixed a typo which was responsible for trying to retrieve most missing articles.

1998-11-17 Thomas Gschwind

  • configure.in: version=0.99.14 (ENABLE_DEBUG): off by default
  • NServer-0.9.1/NServer.cc (article): article retrieval by article-id fixed (again)

1998-11-11 Thomas Gschwind

  • NServer-0.9.1/NServer.cc (article): article retrieval by article-id fixed

1998-11-10 Thomas Gschwind

  • src/NewsCache.cc (nntpd): Maximum number of client connections
  • NServer-0.9.1/NServer.h:
  • NServer-0.9.1/NServer.cc: Added X-NNTP-Posting-Host (post): Added another counter to the message-id
  • NServer-0.9.1/Article.h: fixed a bug that caused a SIGSEGV when an illegal article was posted
  • src/NewsCache.cc (nntpd): fixed an accept bug that caused NewsCache to die in standalone mode :)
  • configure.in: improved libwrap detection --- thanks Q
  • src/NewsCache.cc (ns_stat): implemented stat via overview database
  • NServer-0.9.1/NServer.cc: improved RServer::post logic

1998-10-19 Thomas Gschwind

  • src/NewsCacheClean.cc: use the maximum of access time and modification time for expiry instead of access time only
  • NVClasses-0.9.1/NVArray.cc (nvfree):
  • NVClasses-0.9.1/NVArray.h: Added some new assertions
  • NServer-0.9.1/NSError.h: fixed a typo
  • src/NewsCache.cc (main): Added --fqdn switch to display fully qualified domain name as identified by NewsCache
  • NServer-0.9.1/util.cc (getfqdn): primary_hostname was not declared static

1998-10-16 Thomas Gschwind

  • src/Config.cc (read):
  • src/Config.h: Added Hostname/MaxConnections config option
  • NServer-0.9.1/NServer.h:
  • NServer-0.9.1/NServer.cc: Hostname option, added ARTICLE command
  • src/NewsCache.cc (main): Hostname option, added ARTICLE command, fixed bug in standalone mode
  • NServer-0.9.1/NServer.cc (article): check every news server for the given article id

Thu Aug 13 23:03:06 1998 Thomas Gschwind

  • released 0.99.11
  • NServer-0.9.1/NVNewsgroup.cc (setarticle): fixed a memory leak in the news database
  • NServer-0.9.1/CNewsgroup.h:
  • NServer-0.9.1/CNewsgroup.cc: updated timeout code

Wed Aug 12 10:35:29 1998 Thomas Gschwind

  • NServer-0.9.1/MPList.h: Added flags for MODE READER and LIST overview.fmt
  • NServer-0.9.1/NServer.cc (connect): Added support for braindead servers that do not support LIST overview.fmt like msnews.microsoft.com
  • src/NewsCache.cc (ns_newgroups): added working support for the NEWGROUPS command
  • configure.in: version=0.99.11
  • NServer-0.9.1/NServer.cc (connect): fixed authinfo
  • src/NewsCacheClean.cc: reordered include files for FreeBSD
  • src/NewsCache.cc: fixed SIGPIPE signal
  • src/hostlog.in: parse log file correctly

Fri Aug 7 15:28:49 1998 Thomas Gschwind

  • src/Makefile.am: Added hostlog, hoststat
  • src/cachestat.in:
  • src/accesslog.in: minor update

Wed Aug 5 00:09:42 1998 Thomas Gschwind

  • NServer-0.9.1/NVNewsgroup.cc (setsize): Unlink bigarticles, when they are expired on the news server (getarticle): Accept that bigarticles may be removed (due to cache replacement for instance)
  • src/Makefile.am (NewsCache_SOURCES): Added NewsCacheClean.cc A C++ replacement of the old cacheclean script

Tue Aug 4 22:03:03 1998 Thomas Gschwind

  • NServer-0.9.1/NServer.cc (connect):
  • NServer-0.9.1/MPList.cc (readServer):
  • NServer-0.9.1/MPList.h: Added basic support for authentication

Fri Jul 10 22:34:32 1998 Thomas Gschwind

  • NServer-0.9.1/NServer.cc: Added support for authentication
  • src/NewsCache.cc (ignoresignal): Ignore SIGALRM, SIGUSR[12], SIGPIPE instead on terminating. Added preliminary support for list newsgroups

Tue Jun 23 11:49:43 1998 Thomas Gschwind

  • src/accesslog.in: removed : in output
  • doc/NewsCache.texinfo (General Options): corrected ConfigVersion

Mon Jun 22 11:21:01 1998 Thomas Gschwind

  • configure.in: redirect error messges of find to /dev/null
  • released 0.99.9
  • src/Config.cc: new configversion is 4
  • src/accesslog.in:
  • src/cachestat.in: process new log-file style
  • src/NewsCache.cc: include
  • doc/NewsCache.texinfo: added section Compatibility
  • man/updatenews.8: updated the manual page
  • etc/NewsCache.init.in: removed &, NewsCache puts itself into the background
  • NVClasses-0.9.1/Logger.cc (print): add date and time to each log entry
  • src/updatenews.cc (main):
  • src/NewsCache.cc (main): catch SIGINT,SIGALRM,SIGUSR[12] signals

Fri Jun 19 17:11:46 1998 Thomas Gschwind

  • NServer-0.9.1/CNewsgroup.cc (prefetchGroup):
  • NServer-0.9.1/CNewsgroup.h: added a flag to prefetchGroup indicating whether the group should be locked once or for each article retrieval

Thu Jun 18 21:57:23 1998 Thomas Gschwind

  • doc/NewsCache.texinfo: added two sections
  • src/updatenews.cc: Added workers, updated copyright notice

Mon Jun 15 12:14:34 1998 Thomas Gschwind

  • NVClasses-0.9.1/NVcontainer.cc (nvalloc): Fixed a small memory leak of the persistent memory allocation (~8 bytes in some cases).

Tue Jun 9 14:07:11 1998 Thomas Gschwind

  • src/NewsCache.cc (nnrpd): fixed the number of descriptors in select

Mon Jun 8 13:42:07 1998 Thomas Gschwind

  • NServer-0.9.1/MPList.cc (readServer):
  • NServer-0.9.1/NServer.cc: updated semioffline mode
  • doc/NewsCache.texinfo: updated the NewsCache manual
  • configure.in:
  • src/cacheclean.in: detect, whether find accepts -printf
  • man/newscache.conf.5:
  • src/Config.cc (read):
  • src/Config.h:
  • src/NewsCache.cc (nntpd): added pid file option
  • src/NewsCache.cc (nntpd): added SO_KEEPALIVE to socket and corrected some typos

Fri Jun 5 13:29:27 1998 Thomas Gschwind

  • NServer-0.9.1/NServer.cc (article): added article parameter, where the user has to supply a preallocated article class.
  • NServer-0.9.1/NVNewsgroup.cc: retrievearticle allocates already an article.
  • configure.in:
  • src/Makefile.am:
  • src/cachestat.in: added cachestat script
  • src/accesslog.in: added accesslog script

Thu Jun 4 12:43:19 1998 Thomas Gschwind

  • doc/Makefile.am (info_TEXINFOS): renamed tutorial.texinfo to NewsCache.texinfo

Wed Jun 3 21:10:18 1998 Thomas Gschwind

  • src/accesspatterns.in: Added a script to filter group/article-size/miss requests from log files
  • etc/NewsCache.init: Fixed a typo

Wed May 27 14:01:52 1998 Thomas Gschwind

  • src/Config.h:
  • src/Config.cc (read):
  • etc/newscache.conf-dist:
  • src/NewsCache.cc (nnrpd): Added client timeout
  • NServer-0.9.1/NServer.cc: identify 503 as a connections timeout

Mon May 11 16:39:05 1998 Thomas Gschwind

  • NServer-0.9.1/NServer.cc (setserver): Faster detection, whether server is already selected
  • NServer-0.9.1/NVNewsgroup.cc: Fixed a memory leak
  • src/NewsCache.cc (nnrpd): Manage ipaddresses correctly

Tue Apr 28 12:00:47 1998 Thomas Gschwind

  • NServer-0.9.1/NServer.cc: Removed all the old stuff that has been #ifdef'd Removed [LRC]Server::freegroup since those are covered by NServer::freegroup.
  • NVClasses-0.9.1/NVcontainer.cc (nvflock): Unlock container, before applying new lock. Some systems do this themself and some do not. :(
  • src/updatenews.cc (main): Log to file instead of stderr. Logging to stderr can be enabled using -v.
  • src/NewsCache.cc (main): Added --version switch

Mon Apr 27 09:39:12 1998 Thomas Gschwind

  • NServer-0.9.1/NVNewsgroup.cc (getarticle): Added VERB message
  • NServer-0.9.1/NVActiveDB.cc: Corrected the level of a debug message
  • NVClasses-0.9.1/NVcontainer.h: The aCC compiler on HPUX does not like the trailing , in the enum.

Fri Apr 24 16:39:35 1998 Thomas Gschwind

  • NServer-0.9.1/NVNewsgroup.cc (setarticle): uncommented an unnecessary debug message
  • src/Config.h: Added void

Thu Apr 23 14:56:01 1998 Thomas Gschwind

  • NServer-0.9.1/NVNewsgroup.cc: Switched all the testdb assertions to heavy assertions.
  • NVClasses-0.9.1/Debug.h: Added ASSERT2 macro for switching on heavy assertion handling.

Wed Apr 22 10:38:54 1998 Thomas Gschwind

  • etc/NewsCache.init: NewsCache is started in forground since it puts itself intop the background.
  • src/NewsCache.cc (nntpd): Added SO_REUSEADDR to elminitae the can't bind problem.

(nnrpd): On SIGTERM: Terminate after the current command has been finished instead of when the client finishes.

(main): Added code for detaching from the controlling tty.

  • README:
  • etc/newscache.conf-dist: Added a note about using log files and syslogd.
  • NServer-0.9.1/NServer.cc (issue): Log more useful messages, when connection times out.
  • NServer-0.9.1/NServer.cc (connect): Force selection of newsgroup, even if already selected.
  • doc/tutorial.texinfo: Different config for different groups.
  • NServer-0.9.1/NServer.cc: Detect if the remote server closes the connection (resp==400) and reconnect.

Mon Apr 20 12:41:46 1998 Thomas Gschwind

  • TODO: Updated TODO
  • NServer-0.9.1/CNewsgroup.cc (listgroup): Added support for servers that do not suppport the listgroup command
  • doc/Makefile.am:
  • doc/tutorial.texinfo: Added initial version of Tutorial
  • configure.in:
  • Makefile.am (SUBDIRS): Renamed docs by doc
  • NServer-0.9.1/NSError.h: Replaced NULL in default initializer by "unknown", because class string dumps core when called with NULL as initializer.
  • src/Config.h: Added default initialization to Config
  • TODO: Minor update
  • NEWS: Added release notes

Sun Apr 19 19:59:04 1998 Thomas Gschwind

  • src/updatenews.cc (main): Corrected a typo.
  • config.h.in: Added ENABLE_NOTCACHED flag
  • configure.in: cached/not-cached flag optional due to problems with gcc 2.7.2. See ./configure --help
  • NServer-0.9.1/NServer.cc (getgroup): process cached/not-cached flag.
  • NServer-0.9.1/RNewsgroup.h: Implemented the volatile newsgroup class.
  • NServer-0.9.1/OverviewFmt.h: OverviewFmt returned too few lines.
  • src/updatenews.cc (main): Forgot to set optset

Sun Apr 19 18:26:00 1998 Thomas Gschwind

  • NServer-0.9.1/CNewsgroup.cc: allocated the wrong number of elements for the listgroup command.
  • NServer-0.9.1/NVNewsgroup.cc (setarticle): data=data= equals data=.
  • NServer-0.9.1/readline.cc (nlreadline): Empty Lines were not handled correctly. Fixed.

Fri Apr 17 12:47:41 1998 Thomas Gschwind

  • src/updatenews.cc (main): Force the news servers to be online, when updating news.

Wed Apr 15 21:02:17 1998 Thomas Gschwind

  • NVClasses-0.9.1/Error.h: Corrected errno to _errno in SystemError::print() and IOError::print().
  • NServer-0.9.1/NServer.cc (listgroup):
  • NServer-0.9.1/CNewsgroup.cc:
  • NServer-0.9.1/CNewsgroup.h: Updated debug message
  • README: Corrected a typo.
  • NServer-0.9.1/NServer.cc (selectgroup): Set the name of the current newsgroup directly after selecting the news server.
  • src/updatenews.cc (update): Corrected the if that checks, whether overview information or articles have to be retrieved.
  • NServer-0.9.1/NServer.cc (postspooled): Removed the check, whether we are running in offline mode. This is server dependent and no server needs to be selected for this option.

Wed Apr 15 11:53:39 1998 Thomas Gschwind

  • Version 0.99.2 released.
  • NServer-0.9.1/CNewsgroup.cc (setsize): Force the newsgroup to timeout, whenever the low or high watermark is changed.
  • man/NewsCache.8: Minor Update (author)
  • man/updatenews.8: Minor Update (author, removed etc/ from newscache.conf)
  • man/newscache.conf.5: Updated the manual page to reflect the current configuration file syntax.
  • README: Minor update
  • THANKS: Added Jason Linhart
  • NVClasses-0.9.1/NVcontainer.cc (nvfree): removed some annoying debug messages.
  • NServer-0.9.1/NVNewsgroup.cc (setsize): freed to many elements, in the case the old and new ranges are not overlapping. Fixed.

Tue Apr 14 12:15:46 1998 Thomas Gschwind

  • NVClasses-0.9.1/NVcontainer.cc: Replaced Error exceptions thrown in assertions by AssertionError.
  • etc/newscache.conf-dist: Updated the default configuration file.
  • src/updatenews.cc:
  • src/NewsCache.cc:
  • src/Config.cc:
  • src/Config.h: Removed old group timeout variable
  • NServer-0.9.1/NServer.cc:
  • NServer-0.9.1/MPList.cc:
  • NServer-0.9.1/MPList.h: Added per news server configuration variable groupTimeout.
  • src/NewsCache.cc: Corrected the copyright notice Check if the current group has already been requested
  • NServer-0.9.1/CNewsgroup.h: Added a debug message
  • NServer-0.9.1/NVNewsgroup.cc: Added a debug message

Mon Apr 13 15:36:11 1998 Thomas Gschwind

  • src/cacheclean.in: added a patch from Jason Linhart that allows cacheclean to work proper even if it is not called from the correct directory
  • src/Makefile.am (EXTRA_DIST): Bundled cacheclean instead of cacheclean.in.

Fri Apr 3 00:03:12 1998 Thomas Gschwind

  • man/updatenews.8: Corrected the manual page
  • src/cacheclean: added a patch from Jason Linhart that allows cacheclean to work proper even if it is not called from the correct directory
  • README: Updated Installation and Features section
  • src/NewsCache.cc: Included exception handling
  • NServer-0.9.1/CNewsgroup.cc (sUpdateOverview): Forgot to free lstgrp.
  • NServer-0.9.1/NServer.cc (overviewdb): Implemented over/xover nntpflag. (connect): do not raise an error if the mode reader command is not implemented.

Thu Apr 2 00:08:25 1998 Thomas Gschwind

  • src/NewsCache.cc: removed the bogus offline command
  • src/Config.cc:
  • src/NewsCache.cc:
  • src/Config.h: Added Admin configuration
  • NServer-0.9.1/CNewsgroup.cc: Fixed a counter problem in updateoverview. updateOverview requested one record too much sometimes.

Added the catch statements, I forgot in the last release. This should fix the database corruption problem of some people.

Renamed prefetch to prefetchGroup

Added prefetchOverview method

  • NServer-0.9.1/NServer.cc: RServer::post throws exceptions instead of using return codes. Removed some commented code that is no longer useful. CServer::active: Be more specific about the unexpected exception.
  • NServer-0.9.1/NSError.h: Added new exception classes:

NoSuchArticleError

PostingFailedError

NotAllowedError

  • NServer-0.9.1/NServer.cc: Removed some of the methods being defined out. Improved the retry handling of RServer::issue RServer::disconnect() no longer clears the currently active newsgroup.

RServer::setserver() clears the active newsgroup now.

Fixed typos in comments.

RServer::connect() moved error detection into a preprocessor macro and added a sleep(1) between reconnects.

RServer::getgroup throws an exception if the current group cannot be found.

  • NServer-0.9.1/NSError.h: Renamed NoNewsgroupError to NoSuchGroupError.
  • NServer-0.9.1/NServer.cc (init): updated assertion.
  • NServer-0.9.1/NServer.h: removed my MAXSERVNAMELEN define.
  • NServer-0.9.1/NServer.cc: replaced most error return codes by exceptions. Implemented (not-)offline flag. Updated method comments.

Wed Apr 1 17:09:20 1998 Thomas Gschwind

  • NServer-0.9.1/NServer.cc (active): Now, catching all exceptions while in critical region.
  • src/NewsCache.cc: Added the over command with the ns_xover function to the NNTP command list.
  • NServer-0.9.1/NServer.cc (active): Implemented (not-)setpostflag flag.
  • NServer-0.9.1/MPList.cc (readServer): Switch to a new configuration syntax for the NewsServerList. Added the following configuration flags:

(not-)cached, (not-)offline, (not-)setpostflag.

The same server can be listed several times with different newsgroups, which gives the possibilty to set these flags on a per newsgroup basis.

  • NVClasses-0.9.1/Error.h: Added IOError class.
  • NServer-0.9.1/MPList.cc (readServer):
  • src/Config.cc (read): Uses the new Lexer now.

(read): Renamed NewsServers keyword to NewsServerList.

  • NServer-0.9.1/NSError.h:
  • NVClasses-0.9.1/Error.h: Updated error handlers to use strings instead of char pointers.

Tue Mar 31 12:41:35 1998 Thomas Gschwind

  • NServer-0.9.1/Lexer.h: Added a small lexer class to simplify configfile parsing. Added SyntaxError class.
  • NServer-0.9.1/NServer.cc (post): some code clean up and added a throw statement in the case no news server is responsible for a news posting.
  • NServer-0.9.1/MPList.h: Added some comments. Split up newsgroups declaration into one for reading newsgroups and one for posting to newsgroups.
  • NServer-0.9.1/NServer.cc (active): If the news server does not support list active wildmat, update the nntpflags variable and use list active instead. Handles news servers without read permission correctly.

Mon Mar 30 12:21:57 1998 Thomas Gschwind

  • NServer-0.9.1/MPList.h: Added a variable that indicates which commands are supported by remote news server.
  • NServer-0.9.1/NServer.cc (selectgroup): Added a force argument, to force the selection of the group, even if it is already selected. (groupinfo): Corrected a debug message. (active): If list active [wildmat] is not supported by news server, list active will be used instead.
  • NServer-0.9.1/OverviewFmt.h: Now, setting the bytes: field in the overview database correctly. Declared some more methods as const.
  • NServer-0.9.1/Article.h: Declared those methods that do not change the Article as const.
  • Added some test routines, which are checked, whenever a new release is made.
  • NServer-0.9.1/Article.h: Fixed a bug with multiline headers. Added some additional assertions.

Thu Mar 26 10:36:52 1998 Thomas Gschwind

  • NServer-0.9.1/NVNewsgroup.cc (setarticle): Fixed a bug, when storing an overview record. Did not allocate one extra character for the trailing \0.
  • NServer-0.9.1/NVNewsgroup.cc (getover): Forgot to reset static overview buffer. Fixed.
  • NServer-0.9.1/Article.h: getfield throws a NotFoundError, if the field cannot be found.
  • NServer-0.9.1/OverviewFmt.h: Recalculate the dotrans flag, when the format of the overview database changes. getfield throws a NotFoundError exception, if the field cannot be found.
  • Renamed log to slog in all of the files due to conflicts with libm.

Tue Feb 17 23:19:26 1998 Thomas Gschwind

  • Removed the option to compile NewsCache without exceptions. This option never worked and with egcs/gcc-2.8.0 this problem should be solved.
  • Switched to the string data type provided by the stdc++ library and got rid of String from libg++. This also has the effect that overview records are no longer limited to 32K-1 bytes.

Fri Jan 23 12:07:47 1998 Thomas Gschwind

  • src/Config.cc: Added SpoolSize configuration option
  • String/Regex.cc: included string.h to remove a warning about memset.h

Thu Jan 22 18:10:04 1998 Thomas Gschwind

  • configure.in: The third argument of accept should be detected correctly now.
  • NVClasses-0.9/Error.h: renamed errno to xerrno. This should fix a conflict with glibc 2.
  • src/NewsCache.cc (nntpd): Fixed the TIME_WAIT bug.
  • NewsCache runs on alpha-linux in combination with egcs-1.0.1 and libstdc++.

Thu Jan 22 00:08:06 1998 Thomas Gschwind

  • eliminated several warning messages
  • src/NewsCache.cc (ns_list): NewsCache printed the response to the list command twice.

Wed Jan 21 23:13:29 1998 Thomas Gschwind

  • src/NewsCache.cc (sigchld): The sigchld signal handler is now reinstalled when sigchld arrives.
  • Added the String and Regex files from the libg++ distribution. libg++ is no longer required for building NewsCache. Removed with/without-libg++ switch.
  • src/Makefile.am (sbin_SCRIPTS): cacheclean is now installed under sbin.

Wed Jan 14 16:31:35 1998 Thomas Gschwind

  • NewsCache runs on Alpha systems and egcs. NewsCache cannot be compiled with gcc-2.7.2 since gcc-2.7.2 does not support exceptions on that platform.
  • configure.in: Added a switch --with/without-libg++

Mon Jan 12 17:06:37 1998 Thomas Gschwind

  • Using GNU ChangeLog format now
  • Workaround for a problem in BSD's grp.h header (Does not include sys/types.h). Moved include before include.

Thanks to James E. Pace for telling me.

  • Better support for AIX. The third argument of accept is checked with a autoconf test now.

Work that has been done since release 0.9.13

  • NewsCache compiles on AIX now.

Work that has been done since release 0.9.12

  • autoconf. At the moment this has been tested on intel-linux and sparc-sunos.
  • Removed the Configure.h file. Most of these configuration options are dealt with using autoconf. In future releases all options will be configurable from the newscache.conf file.
  • INN-style logging on the LOG_NOTICE level. The log-entries are accompanied with the client's host-name, IP-address or both.
  • Logging via the syslogd or log-files. Added a configuration option for the directory, where log files should go.
  • Workaround for a bug in MS Outlook Express.
  • Support for access control using libwrap (Thanks to Miguel a.l. Paraz)

Work that has been done since release 0.9.11

  • Corrected a bug in NVNewsgroup::getover The return argument got garbled. Possibly, this was a problem of gcc, who called the destructor too early?
  • Corrected the post command (0.9.11 has not really been tested :( )
  • Added next, last commands
  • Fixed head and body commands
  • Added an option that forces newscache not to connect to a news server. This is useful, if you want to read news offline and have diald running.
  • Started to add INN style logging.

Work that has been done since release 0.9.9

  • Postings are now posted to those news servers, whose newsgroups are listed in the newsgroups field of the posting. Eg: news.a.org a news.b.org b posting to a.newsgroup and to b.newsgroup. Posting is posted to news.a.org and news.b.org. If those newsgroups are distributed to other news servers, those news servers can identify this article as duplicate, since NewsCache assigns an article identifier to each posting.
  • Fixed a bug in NVNewsgroup. In some situation the Newsgroup was not correctly unlocked.
  • Fixed some problems, when the news server was not reachable (offline mode)
  • Added the head and body commands. pine should now work in combination with NewsCache
  • Fixed a problem in the destruction of the CServer class. The overview and active database has been freed twice up to now, which resulted in a segmentation violation in updatenews

Work that has been done since release 0.9.8

  • Fixed a news server selection bug. When only one newsgroup without wildcard was entered in the config file, the news server has not been selected correctly.
  • Fixed a bug in the on-the-fly generation of the overview-records. Each entry had appended an additional character. Did some code-cleanup in Text.(cc|h).
  • Split the TODO file into Changes and TODO.
  • Added cacheclean script

Work that has been done since release 0.9.7

  • Fixed compatibility problems with xrn.

Work that has been done since release 0.9.6

  • Moved all the multiplexing functionality from loose functions to the RServer class, where it fits in smoothly.
  • Unified the active databases of different news servers into one.

Advantage: I request only those newsgroups from a news server being really necessary.

Disadvantage: I do not store which newsgroup belongs to what newsserver. I think if the admin changes these relations he should remove the cache entries of the affected groups. So this is not really a disadvantage.

  • Improved the class hierarchy. See my last paper submitted to Usenix98 for its description.
  • Implemented list active.times and newgroups commands xrn should really work now! Otherwise, I move my xrn installation to /dev/null!
  • Implemented a new and better newsgroup class.

uses an array instead of a list now

stores not only the overview database, but also the articles

big articles will be stored in the filesystem

overview records are stored only for big articles separately. All the others will be generated on the fly. Saves about 20% disc space (See the SLAC-article in doc). Hope this does not degrade performance too much.

  • Mark groups from news server without posting permission as read only

Work that has been done since release 0.9.5

  • Fixed a major bug in the non volatile container class
  • Better documentation (Manual Pages)
  • Eliminated a bug, where NewsCache dumps core when no nnrp command is specified
  • list newsgroups command supported. However, always returns an empty list at the moment

Work that has been done since release 0.9.4

  • Support for XHDR-command
  • Support for DATE-command
  • Fixed a mutex problem in overviewdb introduced with the overview-database expire command
  • Improved article retrieval of updatenews
  • Logging of incoming requests
  • xrn works with NewsCache

Work that has been done since release 0.9

  • Better XOverDB (overview.fmt). Convert remote server database to local database format
  • XOverDB does not support expiry of old records
  • connecting to a non-existing host => core dump
  • Who is responsible for posting articles in the local queue?

The class itself? Check whether we have articles stored in the article queue in CServer's constructor?

The NewsCache?

An external program?

The routine to post articles from the outgoing queue is provided with the CServer class (postq()). Currently, this routine is invoked by an external program called updatenews.

Document Actions