I've braved the terrible BETA sea, and released an upgrade to 0.88.3. Be gentle. Comments/wishes welcome. 0.92.0 : Mon Aug 19 15:15:58 EST 1996 * added compile time support for Electric fence (a VM based malloc checker) no malloc under/over runs detected thus far. * article handling optimised (again) * use MMAP_ANON or /dev/zero if possible * made groupSecurity on LISTs a seperate option to cut down on overhead involved in performing security checks on every line of the list * content filters for xover/xhdr/head/article/body and stat. looks kind of impressive, but has hasn't been tested yet * optimised article caching. e.g articles are now mmaped rather than read(), and we write out full articles in a single write() from an mmaped region * mmap capability testing. mmap implimentation's differ in how they handle a number of situations. we now test for a large number of behaviours at compile time and generate macros from the results (autoconf style) * cache information about which xover's no-one has. previously, we would ask for any range of xover's not in the cache. this was a problem when articles were cancelled or expired early as it left "holes" in the cache which would nntpcache would try to futilely attempt to fill. * circular stack xover file descriptor cache, and xover index cache * fortified all sprintf's * AUTHINFO security routines. not completely finished yet. advise against use. * Check newsgroup names for suspect characters * Prettier change log * Better error handling. Previously when a nntp-server died, the nntpcache child would also die. now we only block those functions that would have used that server. * Improved STAT caching. STATS are now handled as HEAD's internally * Fixed memory leak in article caching * Fixed small messageid bug in posting code * Save overview.fmt's to disk, incase we can't reach the applicable server's on startup * Disabled setvbuf, was causing SEGV's under linux (weird) * /**/ comments in servers/groups file * Lots of server/group examples * Check server Xpath's etc for suspect chars/strs (e.g "../") * XPATH caching * daemon() for systems that have it * NEXT/LAST implimented (not cached yet) * vsnprintf for logging macros * AIX port * Greater granularity in caching controls * GROUP cached * Current group is CWD. Speeds namei translations. * Per-server cache hierarchies (removes possible xpost collisions) * Now able to use multiple ports/news_servers same on same host * Enhanced traffic logging * Optional relaying of unknown commands * Optional replacement of "Organization" header in POSTs * Removed "Default Server" concept * Delayed startup (cool) * Large stdio/socket output buffers * Config files moved to /etc/nntpcache * Pattern matching for NEWGROUPS/LIST * * Group level security on output of NEWGROUPS/LIST * * Complete internal merge of newsgroups/active/active.times/.tide * FULL shared memory operation and mmaped mmalloc (yay!) * Complete re-write of list.c * NEWGROUPS caching implemented * XGITLTE implemented * Bug fix to blocks free expire code * All documentation moved to doc directory * New docs * Autodetect for strcasestr * Removed a few case dependencies * Bug fixes in get by <msgid> security code * Ports for native SGI cc * Auto-detect for strcasecmp - NCR sysvR4 port needed it. * Removed nntpcache.stats newsgroup. nntpcache.stats file * still persists. (crashed some netscape readers) * configure.in now checks for gcc -O2 strength-reduce bug. -- "Of all tyrannies a tyranny sincerely exercised for the good of its victims may be the most oppressive. It may be better to live under robber barons than under omnipotent moral busybodies, The robber baron's cruelty may sometimes sleep, his cupidity may at some point be satiated; but those who torment us for own good will torment us without end, for they do so with the approval of their own conscience." - C.S. Lewis, _God in the Dock_ +---------------------+--------------------+----------------------------------+ |Julian Assange RSO | PO Box 2031 BARKER | Secret Analytic Guy Union | |proff@suburbia.net | VIC 3122 AUSTRALIA | finger for PGP key hash ID = | |proff@gnu.ai.mit.edu | FAX +61-3-98199066 | 0619737CCC143F6DEA73E27378933690 | +---------------------+--------------------+----------------------------------+