DNews Updates List
Added 'default' keywords to accept/reject rules to allow more complex rules, here is an
example using the new option, this example is to prevent the word 'sex' appearing in a
group that does not have 'sex' in it's name.
reject subject "sex"
accept newsgroups "sex"
accept newsgroups "erotic"
Added tellnews command
tellnews trimfile FILENAME
Reads FILENAME and then deletes any news group that is not in this file.
Increased length of demo license by one month
Added setting xover_moved, set this if your xover data is NOT stored on the same DISK
as your main SPOOL area.
Added xover data into diskusage calculations.
Added expire status showing failure if expire fails due to a disk shortage at a
Fixed bug that allowed groups to be created that did not match the 'ME' feed.
Changed log file format, added channel number to all log lines
Added command tellnews showusers, this shows a summary of users who have connected
since startup. Note: the ngroups settings is the number of group commands recieved, not
the number of unique groups read by that user.
Added -file FILENAME qualifier to drobot, this allows it to be used with eudora on
Fixed newgroup distribution to slaves with dmulti
Made most background commands like (getgroups, update, rebuild_index, trimgroups...) go
into a queue so several can be given at once and they will show in the update queue.
Improved uucp bag handling to make it more robust in the face of faulty bag files.
Added uucp_binary option to dnews.conf. Only set this if you are having problems. It will
sometimes help with certain faulty uucp formats.
Fixed memory corruption caused by bug in checkgroups processing.
Added dnews.conf option, newnews_users wildcard_list, this lets you control which users
can use the 'newnews' command.
Added dnews.conf settings:
The bind_in setting controls which ip address DNews will listen on, the bind_out
address controls which ip address DNews will appear to have when it is reading or sending
news. (You must have multiple ip addresses on the one host for these settings to have any
Fixed signal 2 error on OS/2, caused by floating point underflow.
Added log_file setting to DNewsWeb, this allows the log file to be
Fixed spool_import/convert for systems which don't place the xref header
in non cross posted messages.
Added two feed options:
onlyposts is a switch which tells that feed not to send
anything except locally posted articles.
path_max is a rule which stops items being sent to that
feed if the item has more than 3 hosts in the path. Both of these are options to use
instead of exclude which can be tricky to set. When using path_max remember that some
posting software will add a path so allow a couple of extra hosts in the path. (e.g. 4 is
a good number)
Fixed access bug related to logoff.
Fixed OS2 problem with large spool areas pausing the incoming feed.
Fixed minor bugs in dnewsmanager
Fixed key problem with spaces in computer names.
Made license key's more friendly & reliable.
Increased line length limit on newnews command to 3K from the RFC
suggested 512 characters.
Improved format of search output in DNewsWeb (xresults.tpl)
Corrected default post.tpl file in DNewsWeb
Corrected fault with xover missing some headers under certain rare
Added DNews setting 'cache_onxover true' which will cache a group if a
user requests xover records from it.
Added setting "suck_maxgroups 30", if more than this many groups
are 'cached' then DNews will 'uncache' all groups automatically. This can be very useful
on small systems.
Fixed erroneous sucking of uncached local groups from upstream.
Improved xover performance for NewsXpress (by a large factor) and changed
the default setting for tcp_nodelay to 'true' on Windows NT.
Added expire option 'unread n' which will expire items that are more than
n days old if they are not in the list of cached news groups. e.g. to delete items in
unread groups after 2 days
upto 40% groups * default 5 maxitems 500 minitems 50 unread 2
upto 20% groups * default 10 maxitems 1000 minitems 100 unread 2
Fixed Nothing to trim xxxx message (improves performance)
Fixed pgp for NT services. (Caused by popen bug on NT)
Added dnews.conf setting for PGPPATH
Fixed feed type prog on NT, (also caused by the popen bug on NT)
Inforced max str size limit which decreases memory use.
Modified string block sizes to decrease memory use.
"EXIT" command added to feed programs, this indicates DNews is
exiting and the feed program should exit also.
Improved tellnews killitem <msgid>, it now deletes all cross posts
and clears the cache correctly as well.
Improved handling of suck_uucp, it now gives friendlier errors and if it fails it
renames the failed file to 'uucp.bug', in this way faulty uucp files will not fill up your
DNewsWeb, changed items.tpl to use preformatted text which allows threading display to
be much clearer.
Added DNewsWeb variable %%spaces%% to indent threaded items.
Fixed bugs with DNewsWeb crashing on some news groups.
Allowed PGPPATH to be defined in dnews_start.sh
Fixed passing of TZ variable in dnews_start.sh
Fixed Solaris x86, partial data appearing when under load
Fixed Solaris x86, dmulti bug, channel disconnecting under load
Fixed crash bug on Solaris X86 and OS2, the system would crash shortly after an expire
Changed behaviour, DNews now disconnects channels with ONLY IHAVE access if the disk is
full, this helps some news xmit programs to 'wait a while' before trying again.
Fixed bug in dmulti
Added 'experimental' feed options, (experimental means this feature may be modified in
a future version after we've heard some feed back on it.) example:
reject subject "sex"
reject from "baduser@badsite"
reject body "naughtyword"
reject article "make money fast"
reject subject "boring thread"
accept body "netwin.co.nz"
accept body "dnews"
Any header can be used including the fake headers 'body' meaning everything except the
headers, and 'article' meaning everything.
The matching is NOT case sensitive. If the header CONTAINS the specified text then the
rule is applied, rules are applied in order, if no rule matches then the item is accepted,
unless there were any 'accept' rules in which case the item is rejected.
There is one special character allowed '\n' which can be used to match 'beginning of
line' in the body or article option.
To reject items containing Mime attachments you might use something like:
reject body "\nContent-Transfer-Encoding: x-uue"
For performance reasons it is best to only use headers rather than body and article,
and it is also best to minimize the number of rules.
New newsfeeds option, @group.wildcard, this is similar to the ! character as it means
don't allow these groups, but unlike the normal logic of newsfeeds, if an item is cross
posted to several groups and ANY ONE of them matches the @ group wild card then the entire
item is rejected. The is useful to combat the recent habbit of people posting 'unsavoury'
articles cross posting those articles to popular groups to increase the distribution of
New conversion commands for converting unix (INN or CNEWS spool areas)
tellnews spool_import /var/spool/news
The spool_import command finds all news articles in the directory tree specified and
imports them into DNews WITHOUT deleting the articles from the source directory. DNews
will use the same item numbers so that newsrc files will still be valid. This command is
ideal for testing DNews without actually breaking your current news server, you can also
specify a sub tree if you don't have enough disk space to have two entire copies of your
spool tree. e.g.
tellnews spool_import /var/spool/news/comp/lang
A second identical command exists which will DELETE the items after importing them into
DNews, this can be used to CONVERT a spool system from INN to DNews format without having
any extra disk space.
tellnews spool_convert /var/spool/news
Again you can specify a sub tree if you prefer to do it in smaller pieces just incase
something goes wrong :-)
If you do not care wether DNews uses exactly the same item numbers as the INN system
then you can add this setting to dnews.conf
By default, the above commands will NOT send items to outgoing feeds, to change this
behaviour you can add to dnews.conf
New tellnews command to do a rebuild_index_faster, this works by skipping the
history lookups for each item, this is reasonably safe as long as you don't have duplicate
messages in your bucket files. This may be worth using on large systems (above 10 gig)
New tellnews command rebuild_lost. This command is good for finding lost
items, it does not destroy the existing index and does not stop the incoming feeds. You
might use the command to complete a rebuild_index if you had to shut down DNews before it
completed. You can also use it to find the missing items that resulted from the expire bug
in DNews prior to version 4.2a.
Fixed crash during flush2, caused by more than 20 incoming news feed names (MCI).
Fixed fault in access processing (authinfo bug)
Fixed unimportant messages "stat problem xxxxxx" filling log file
Fixed NT-authorization problem with access.conf.
Fixed bug in dmulti on unix systems.
Added dnews.conf setting to disable the suck that occurs when a group is posted to:
Added dnews.conf setting to disable sucking groups, but not getgroups, trimgroups, this
is handy for keeping the active files in sync between two servers, it can be used with the
xreplic setting below.
Added support for nntp extension, xreplic.
Added live feed option 'xreplic' to send a replicating feed. e.g.
A replicating feed is one where you wish to run a 'farm' of news servers that all look
identical to the users (therefor articles must have the same item number). Your external
news feeds all go into one master server, and from that you send out an 'xreplic' feed to
each slave or mirror news server.
At the same time you should set 'post_only true' so that local posts will be sent back
to the master server before they are assigned an 'item' number. So on the slave you have
And periodically run the command tellnews matchgroups on the slave system.
Fixed crash if you try and suck from a server which has no news groups. :-)
Added GID reallocation so they will not run out.
DNewsWeb: Fixed bug with fts output
Note: dmulti is still experimental, particularly on unix systems, if you choose to use
it please send us info on problems you have with it.
4.2b (Beta 10-Apr-1997)
Fixed bug in expire. Symptoms: the expire runs but less and
less articles get deleted until you are stuck at above 90%. To fix upgrade to 4.2b and the
issue a tellnews rebuild_index command
Fixed corrupt gid's between 42000 and 47000.
DNewsWeb: fixed problem with top.tpl not being found.
4.2a (Beta release 6-Apr-1997)
Fix for solaris dmulti problem with posting large items
Fix for problem with rebuild_hist occasionally missing an
Fix for bug in vms version with bucket check loop.
Major new version of DNewsWeb, click
Unix install/upgrade utility simplifies installation and
tar -xvf dnews41d_linux.tar
Added dmulti, a mechanism for running multiple DNews
processes, this is appropriate if you have more than about 50 concurrent news readers on
your system, or if you have people reading 24 hours a day and the expire process is
causing performance problems. This new feature is experimental at this time. It will
probably only give reasonable results if you have sufficient memory and multiple disk
This version of dmulti does not support the sucking system
in DNews, it is assumed if you have this many news readers on your system that you will be
using a full news feed.
Configure your system to startup DMULTI instead of DNEWS:
Unix: Use dmulti_start.sh, instead of dnews_start.sh
NT: addsvc -del dnewssvc
NT: addsvc -add dnewssvc dmulti.exe "DNEWS Multi Process Manager"
Configure the new slave parameters in dnews.conf
slave_restart 5 # The hour at which to restart the slaves (5a.m.)
slave_ports 7500 # TCPIP port to start DNews slaves processes on
slave_n 3 # Number of DNews processes to run 2-4
slave_feed 188.8.131.52,161.29.2.* # Ip NUMBER of this host and feeds
The slave_feed setting MUST include 'this
machine' and any machine that is sending you a news feed, ONLY ip numbers or wild cards
will work (ip names will not work)
Add your own machine to the list of hosts
that can take an IHAVE feed, add this in access.conf, if you miss this step out local
posts will fail without any error message!
Startup the dmulti process:
NT: net start dnewsvc (or click on start in DNews manager)
There is a log file dmulti.log which will show you if
anything goes wrong.
How dmulti works
DMULTI starts up 'slave_n' DNews processes (typically 2 or
3) the first one S0, is the master process, this is the one that accepts incoming news
feeds, and this is the one your tellnews commands will go to. The others, S1-Sn, are
reader processes, each one might have 30 news readers on it. Dmulti acts as a gateway,
routing the incoming connections to the correct DNews process, this is why your slave_feed
parameter must be set correctly, this is how dmulti knows wether the connecting session is
a reader, or a feed.
You can communicate with each slave individually using a
new tellnews option. The first status line shows which process s0-sn is talking to you:
(Master process) tellnews -s 0 status
(First reader) tellnews -s 1 status
You should always ensure that all the processes have closed
before re-starting dnews/dmulti
To uninstall dmulti
Remove the slave parameters from dnews.conf and then
replace the original DNews service (or startup script)
Uninstall NT: addsvc -del dnewssvc
Uninstall NT: addsvc -add dnewssvc dnews.exe "DNEWS News Server"
New dnews.conf setting
access_twice true, if set DNews
will try and allow users access without doing a reverse dns lookup by first checking if
their ip number appears in your access.conf file.
Added tellnews rebuild_gids, which is a 'drastic' command
that will take many hours, it should ONLY be used if you run out of GID's (the log file
will tell you if this happens) this command is dangerous it re-writes the entire spool. This
command appears to be faulty in 4.0t, do not use it until further notice!
fixed bug with "next" failing for last item in
Added correct error response for xpat command (fixes
4.0r (23 March 1997)
Fixed erroneous error "invalid group number -1"
during expire which occured when newsgroups were deleted.
Fix for key case problem.
Fixed bug in unix version of gupcgi
If less than 90% used then the expire_min setting is
automatically halved. (so some stuff will actually be deleted :-)
Fixed bug in VMS upgrade.
tellnews trace_expire "message-id" This command
logs the reason the item is kept or deleted during the expire process.
Added to dnews.conf
LOG_NNTP TRUE (logs normal nntp commands)
LOG_IHAVE TRUE (logs ihave/takethis as well)
Minor syntax fixes to the source.
Possible bug in sucking from wrong site fixed.
Removed history warning message.
Added tellnews stats_out
Minor tuning on live feed code
With version 4 you need to allow for the xover index, which
could be upto 10% of your spool area, by default these files will be placed in the
WORKAREA directory, but you can move them by defining XOVER_DIR in dnews.conf
Fixed bug with xover records not allways being correct
(if you were running an older version delete *.xov to recreate the faulty records)
Added NT Authorization to access.conf, to lookup users
via the nt database use a line like this in access.conf: your.ip.range.*:read,post:$lookup$:$lookup$:*
Fixed bug with more than 32000 news groups on version
Added dnews.conf parameter "suck_maxold 1000"
which limits the number of old items that DNews should suck from a group.
Adjust live feeds to increase efficiency
Added date to manager reports
New dnews.conf setting "expire_any true" this
means than if a link of a cross post should be deleted, then all will be deleted, this
fixes the problem of people cross posting binary messages to non binary groups and thus
filling up your disk.
New command tellnews diskuse
"comp.os.*" gives the disk usage of all the groups in that
directory tree. This total counts each cross post so the total can be larger than your
Fixed a bug with the upgrade procedure that could create
gaps in the item number ranges. Added dnews.conf paramter: xover_dir
d:/dnews/xover By default xover data will be stored in the workarea
directory, this could take up several hundred megabytes so you may want to move it. You
can move the files while the system is running, or simply delete them (*.xov) and the new
ones will be created in the new directory.
- Added dnews.conf live_nostream setting, stops live feeds from using the streaming
extensions to send articles, (this configures automatically normally)
- Made rebuild_index also rebuild the history database (rebuild_hist should not generally
be used alone as the history and index files are co-related they should be rebuilt
together with rebuild_index)
- Fixed bug if authinfo pass used before authinfo user
- Added fast index read mechanism.
- Fixed bug with xover disk caching
- Fixed bug with resort_index DNews 4.0c
- Fixed expire crash if nothing to expire.
- Fixed intermittent bug with futuristic error.
- Fixed corruption in index
- Fixed Lines header mising from xhdr response
- Fixed bug with rebuild_index command.
The DNews database was originally designed for efficiently sucking news items. And it
was very good at this, however, for various reasonsabout 50% of DNews users take IHAVE
feeds, and although this worked well enough, when running tests on Version 2.7 on very
large news sites we found DNews was starting to struggle. With the projected growth of
news being expected to double news rates every 1-2 years we took immediate action to
improve the speed of the database.
Further investigation showed performance varied from .1 to 15 articles per second
depending on type type of feed (ihave or suck) and the type of operating system (NT, Unix,
It became clear that any system based on storing articles in directories, one directory
for each newsgroup, would not be able to handle the loads over the next 2 years.
As a result we decided to completely redesign the database. The new database would no
longer use a group based directory structure. The design goals were:
- Hi speed at taking ihave and sucking feeds.
- Hi speed at providing the users with xover information.
- Hi speed on any platform
- Hi speed at sending full ihave feeds out.
- Extreme dependability, and fast rebuild - consistency check.Any rebuild operation should
take less than 12 hours at worst.(on a 10 gig system)
- Automatic recovery from power outage etc
- The ability to spread over multiple disks on any operating system and still obey expire
- Prevent disk fragmentation.
DNews 4.0 is the result of this new database, it succeeds in all the areas mentioned
above, and more besides, typically it can take test articles at over 30 articles/second
while still 50% idle. This makes DNews significantly faster than any other news server and
probably the only technology currently available that will be able to take the increasing
news loads over the next 2 years.
- Upgrade process, this is automatic and should take approx 1 hour per gig. WARNING, if
your spool area is split over multiple drives using symbolic links (unix only), then you
must follow the instructions below on upgrading unix multiple drive systems.
- xhdr and xover data cached to disk.
- list commands added
- list overview.fmt
- list active [wildmat]
- Xref added to default xover data
- New tellnews command (none of these should be used unless something goes wrong :-)
- tellnews rebuild_hist Add any items to the history file that arenot already in it.
tellnews rebuild_index Rebuilds index from scratch, the items will disappear, then
reappear during the rebuild.
- tellnews check_index Takes a few seconds, checks the index and corrects the group ranges
to match the index.
- tellnews resort_index Sorts the index so any group can be read with a single disk scan,
this will also remove deleted entries from the index.
- Obsoleted tellnews commands
- Support for 8 spool areas/disks.
- New dnews.conf settings
- spool, spool2... spool8 # Defines the disk areas that DNews can use to store it's
buckets of news.
- diskspace, diskspace2... diskspace8 # Define the size of each disk area
- expire_min 10 # This sets how much wasted space is allowed. The default is 10%.
- spool_free true # This tells DNews to chose which spool area based on the amount of
actual free space rather than it's internal count of how much space it's allowed to use.
- bucket_size 10000000 # Sets the size of each bucket, optimally you want more than 10
buckets and less than 3000. 10MB is the default for spool areas over 100MB in size.
- sort_chunk 100000 # Sets how many items to read in one go when re-sorting the master
index, setting this larger speeds up the sort but uses more memory.
- path_stamp # The name used to stamp the path of messages that go thru your system, this
should be a fully qualified text name in lower case, it need not have a genuine DNS entry.
- Use this if your MYNAME parameter is a single word or a number. e,.g.myname 184.108.40.206
- debug_rotate_in 1000 # Number of lines before .in file should rotate
- debug_rotate_out 1000 # Number of lines before .out file should rotate
- Defaults for log_inline set to false to reduce log file size.
- Size of log files has been drastically reduced.
- Fixed loop in DNS lookups on unix systems.
- Fixed bug with crash and or loop following xpat command.
Unix Upgrade Notes (with multiple drives connected using symbolic links)
In dnews.conf use the setting:
And define each of your drives as one of the linked drives. e.g. if you currently
have a second drive mounted as /var/spool/dnews/alt/binaries, then your dnews.conf should
look like this:
After the conversion has finished it is safe to move the directories, but you cannot
do this before the conversion because DNews must be able to find the 'old' files where
they 'used to be'.
- Fixed bug with Xref: headers being duplicated.
- Adding PGP authentication to control.conf
- Limiting users per area, and concurrent connections per ip address
To limit iprange ..2.* to 10 users, ...3.* to 50 users, and ...4.* to no more than 3
connections per ip address. Note the difference, the users=n setting is for limiting the
numbers of connections from internet sub domains, whereas the con=n setting is to limit
the number of connections from a single ip address. To specify both separate with a COMMA
not a COLON
- Fixed crashing bug on VMS and OS2 (often occured at the end of an expire run)
- Added tellnews commands:
- tellnews findlost (corrects the range of items in active.dat based on existing .idx
files, this is similar to 'addlost' but it is much faster as it doesn't also add the items
to the history file, so use it when active.dat is messed up but the items are in the
- tellnews spool_convert /var/spool/news (use this command to convert an existing INN or
CNEWS spool area, as each file is processed it is deleted, you should comment out your
feeds before doing this or you may end up re-feeding all this old stuff to your outgoing
- Improved installation procedure on NT, and enhanced online help.
- Fixed bug with file handles in 3.0d
- Fixed bug with channels closing on VMS under UCX and TCPWARE
- Made VMS version correctly display socket errors
- Fixed bug in 3.0b which caused slow performance and lost items during the upgrade, if
you installed a previous 3.0 version you should issue the command 'tellnews reindex' to
repair the damage.
- ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING
** WARNING **
- Changed database format, you CANNOT downgrade to 2.7 after upgrading to 3.0
- When you first start up 3.0a it will automatically upgrade your database, this will take
about 1 hour per GIG of news. During this process you can read news but posts will not be
permitted and response will be less than perfect. The upgrade process will continue
automatically if your machine crashes or is shut down during the upgrade process.
- The reason for the database change: To increase speed particularly with 'IHAVE' feeds.
- Added config parameter, db_flush_every 1 (default 60) How many seconds to wait before
closing some more files db_flush_n 4 (default 1) How many files to close at each 'every'
time period. If you want it to keep all the files closed then set these to 1 and 10
- To get maximum throughput with an IHAVE feed into an NT system you should increase
db_max to about 200. On unix systems it depends how many file handles each process gets,
you can probably increase this to 100 or maybe 200 and get a measurable speed improvement.
- Added line to status which shows how many files are open and what the file open cache
hit rate is.
- Added tellnews commands. tellnews pause The reason for pausing tellnews unpause This
allows you to stop incoming articles for a period of time.
- Added version and computer type to reports.
- Fixed NULL errors that appeared in logs during live feeds
- Fixed Null errors with live feeds.
- Fixed error in newgroups date processing.
- Made uucp_suck more flexible if rnews lengths are not exactly correct
- Fixed bug with maxsize limit for individual feeds
- Fixed bug in Full Text Searching on non NT systems (causing crash in xmit)
- Expire speeded up, on a large system (15 Gig spool area) we measured it went from 10
hours to 2 hours. Your mileage may vary. :-)
- FTS patch
- Database flushing modified.
- used.log file moved to log directory, and renamed to u_yymmdd.log this is to make
accounting procedures simpler. Also the full date has been added to each line inside the
file as well as the size of the article read. We applogize if this breaks any existing
- If reverse dns produces a hostname with no '.'s in it, then the ip number is used to tag
local posts instead of the name.
- Added dnews.conf paramter STR_START this defines the inital string space, you can use
this to tune DNews, after it's been running for a few days check the second value in the
str memory use shown in the status output, e.g. History:... Str 6040k/7050k/10060k Use a
number larger than the second number. Add 1 or 2MB e.g. str_start 8000000 Don't use this
parameter on WINDOWS NT, it isn't needed.
- newsfeeds.conf parameter PENDING_MAX added, the default is 10000000 (10mb) If a feed
file gets larger than this setting it is automatically deleted, this helps to support many
outgoing feeds where often one machine is down for several days and you don't want to run
out of disk space.
- Added variables to newsfeeds.conf $nntp_suck2...$nntp_suck4
- Updateone now inserts new items 'above' normal items in the queue, in this way you can
schedule some groups to be updated at a higher priority by setting up a cron job to issue
a command tellnews updateone "rec.humor.*"
- Fixed occasional synchronization loss with live feeds on large items
- Fixed loop in streaming sucking (introduced in 2.7)
- Fixed rare bug in hist_hash() which could cause crashes with very long message id's.
- UUCP files flushed before reload to prevent errors.
- Fixed live feed of missing items to ANU news server. (Feeds would block)
- in_size added to dnews.conf, set to 500 if you are trying to limit the speed of incoming
messages via a modem.
- fixed bug if live feeds with rejected items
- fixed bug in live feeds with very long message id's.
- Bug fixes in feeding channel closes
- Fixed bug in uucp caching.
- Fixed rare crash bug in live code.
- Fixed bug with item_max being exceeded with streaming feeds
- Modified 'resetall' so it doesn't set all groups to cached. (warning, NEVER user
RESETALL on a running DNews server, it is only intended to be used during the initial
- Added tellnews command logchan n and logfeed feedname Enables logging of that
channel/feed to a file chan_n.log
- Improved speed of uucp outgoing feeds and normal multiple outgoing feeds.
- Fixed crash if live channels are closed in mid message.
- Fixed problem with builtin uucp feed not writing enough items to each file.
- Fixed bug with multiple sucks for identical groups if they were scheduled to run at the
- Added dnews.conf setting tcp_nodelay true, this will slow DNews down but may solve
problems with buggy news readers (as it stops packets being split up in mid record)
- Fiddled newgroups command output to make Newswatcher happy.
- Fixed live feeds to INN 1.4unoff4
- Added dnews.conf setting uucp_crlf which writes uucp bag files with 'crlf' (text mode)
instead of just 'lf' termination. (changed default to 'lf' termination for unix
- Fixed bug with dnewsman rejecting uucp_size and uucp_n settings.
- Fixed bug rejecting items if item_max exceeded.
- Made item_max dynamic (i.e. a reload changes it :-)
- Added NNTP extension 'LIST SUBSCRIPTIONS' sends the file dnews/spool/subscrip.dat This
is typically a list of default news groups that you wish new users to be subscribed to.
(Not all news readers will support this function yet).
- Major features of 2.7a
- Lower memory use
- Live high speed outgoing feeds (to replace xmit) these stream and allow multiple
channels, and send articles as they are received to reduce system impact. This makes DNews
ideal for easily sending out large feeds to many customers. (Assuming they haven't seen
the light and switched to sucking feeds yet :-)
- Support for writing UUCP files directly (much faster)
- Support for reading UUCP files directly (much faster)
- Shotgun posting, to spread your local posts faster.
- PIDENTD support for unix systems.
- Many minor improvements / config settings / management commands. Before playing with the
new commands for removing groups, copy your ACTIVE.DAT file (just incase :-)
- tellnews group_nodup removes duplicate groups if they exist
- Reduced memory use of large incoming items especially from multiple ihave feeds
- Reduced memory use of group information.
- Increased OS2 open files to 10, You should put FILES=40 or more in config.sys (Thanks to
Jean-Louis Noel for OS2 code fragments)
- Print error if history file is unreadable
- uucp output is now a builtin option for DNews, in newsfeeds.conf
This will create bag files in the uucp1 directory, and switch every 4MB or 500 items.
- Live links for sending out feeds.
- On unix, err closed = 150, on slow sucking feeds fixed.
- Change to license key processing (2-4) while waiting for key entry.
- Fixed bug in the '.in' log files rotated file names
- Added tellnews command
tellnews trimgroups [n]
which removes groups from your local machine that are not available on the machine you suck from. (n is the suck number) After doing this check dnews.log, then use the purgegroups command below if necessary. BEFORE doing this make sure your list of groups in nntp_feeder, or nntp_suck2-4 excludes your local groups or they too will be deleted (if you mess this up then use the undelete command from tellnews to get them back) e.g.
nntp_feeder main.sucking.site *,!microsoft.*,!local.*
nntp_suck2 msnews.microsoft.com !*,microsoft.*
- Added tellnews command
tellnews purgegroups [wildcard]
'kill' groups that have been marked for delete. This command sets them to actually be forgotten. Always restart DNews after using this command. Note: If you do this on a sucking feed where you have removed several groups by hand that 'do' exist on the site you suck from, then the groups will re-appear. This is because DNews adds groups it doesn't know about when sucking. They should be left as 'marked for delete' if you don't want them to re-appear.
- Added tellnews commmand
tellnews checkgroups check.txt
This processes a file check.txt, which must be a checkgroups message with header lines followed by one blank line, followed by the list of news groups with descriptions. Missing groups will be added, extra groups will be deleted.
- Added support for checkgroups control message.
- Problem with cachedonly true and sucking fixed (items were rejected until the user read
an item )
- Added support for pipe based programs to accept feeds directly from DNews.
When items arrive a pipe will be opened to the darchiv program, which must read articles from stdin and do something with them. The articles are sent in the following format:
ARTICLE group:item_number <messageid>
(Actual header and body of article)
. (single full stop is end of article)
ARTICLE group:item_number <messageid>
(Actual header and body of article)
. (single full stop is end of article)
A sample 'c' program is provided in this file to assist you in writing or modifying
- Tellnews killitem (modified to show if it succeeds)
- expire_minutes, bug fixed
- Decreased group_write to 10 minute intervals
- Improved output of chan status lines. e.g.
Chan[0:72] B o=0 in=54/s out=2788/s 220.127.116.11 18.104.22.168 C_CMD
B The channel is busy processing a command
o=0 No bytes are waiting to be sent
in=54/s The channel has been reading at about 54 characters / second
out=2788/s The channel is writing at about 2788 per second.
- LOG_AGAIN true, Creates second log file using unxi fflush() that never closes (purely
for debugging use)
- Fixed tellnews log command if log file is empty
- Added channel closing logic for outgoing channels.
- Mail messages will now be sent even if the suck queue is paused.
- Added log_inline (default true, item ok messages in log file)
- Added log_nntp (default true, nntp commands in log file)
- Tellnews status feed now shows the size of the waiting feed file.
- Added dnews.conf setting
org Your Company Name
- Added dnews.conf setting
org_replace true (forces your organization name on all posts)
- Added tellnews command
tellnews reject <messageid>
which will somtimes be useful in unblocking blocked feeds.
- Increased max_chan to 800, this may allow up to 800 concurrent sessions on a machine
with enough RAM etc...
- Added output bandwidth limiting.
Controls bytes/second per channel, a value of between 2000 and 30000 is sensible. (3000
would limit connections to 'modem speed')
- Changed mail processing so messages are sent immediately
- Made suck automatically fix upto counters if they are too high.
- If posting feed fails to connect, it shouldn't retry straight away, this should allow
the suck'ing to continue from an alternate host.
- DNewsWeb: Now requires subject header's for post
- Shotgun posting, it is now possible to 'shotgun post' using the 'posting' mechanism as
it will send to ALL matching feeds in newsfeeds.conf.
- Routing messages into a posting feed, Set post_route true and then incoming 'ihave'
messages will be routed to outgoing posting feeds. Do this at your own risk, it is
somtimes justified, for example if you have a BBS running 10 groups attached to your DNews
server then it may need to send into your machine via IHAVE and you need to 'route' the
- DNews now responds correctly to cancel messages, it previously gave a 'rejection' status
if the message did not exist locally, although reasonable this is not 'normal' behaviour
so we have changed it to match other news servers.
- DNEWSMAN upgraded to allow all the new feeding options
- Minor changes to sucking logic
- Added to dnews.conf pident authentication
Which if tells DNews to attempt to verify a 'username' for every connected session.
(This is only meaningful on unix systems where the 'ip address' alone does not identify
the user) If successful then the users name is added to any message that they post.
- Fixed bug with nntp_feeder being undefined causing lockups.
- Fixed bug if expire encounters history line over 8K long.
- Added dnews.conf parameter
This replaces the dposter service for reading in uucp feeds, it will read in messages a
LOT faster than the dposter service could.
- New command
tellnews disconnect n
where n is the channel number shown in tellnews status.
- Fixed bug with solaris closing channels for no reason.
- Fixed intermittent bug in expire if usage was over 89%
- Patch for DNewsWeb for BSDI and OSF
- Added dnewsweb.ini setting
- cgi_path DNewsWeb
- This parameter is needed with some CGI wrapper programs which fail to pass the correct
path thru. The above example will usually fix it.
- Added code to deal with buggy select call in solaris
- Fixed xmit to mailing list gateway, it was not sending once it got an error.
- Reduced number of open files in OS2, their is a limit of 8 for some unknown reason in
the watcom C library.
- Minor mod to db code re expire processing.
- string compress fix for non nt versions
- built new OS2 version, dposter should work now.
- Forced addition of posting host header.
- Increased timeout from 26 minutes to 1 hour if history.dat is locked (for example by a
slow backup process)
- Fixed a bug in the refeed command.
- Fix for tellnews group_merge command, the groups in the active.add file were not being
added to the active.times file.
- Fixed bug in email confirmations and reports
- Fixed refeed command so it runs without stopping DNews
- Added tellnews log [nnn] to show the last few lines of the log file.
- If you create a file post.add in the config directory it will be appended to all local
posts (use at your own risk of attack from free thinking users :-)
- Reduced memory use on NT.
- Fixed bug with sending articles out via combined ihave/suck feed.
- Fixed response codes from tellnews, always end in 281 now.
- Fixed bug in FTS which could cause a crash (only if you were using fts)
- Improved performance of cancel messages (by a large factor)
- tellnews killgroup modified to always delete groups even if they are not empty, the
files are still left in the spool directory, you can remove them by hand. This command,
and deleting spool files, should only be used with extreme caution.
- Made the fts-xmit process work much faster with binary articles.
- Fixed bug in drobot which was loosing the last 2 lines of messages.
- Added tellnews command tellnews reload_fts to re-read the fts database.
- Fixed bug in processing feeds which caused xmit to miss an occasional article
- (NT) Increased connection queue length and process it faster to deal with connection
- Added config setting, expire_delay 0, this can be used to tune the speed the expire runs
at. The default is 0, you might try 1 or 2 to make the expire impact less.
- Fixed bug in FTS database.
- Fixed stats_in display for multiple feeds from the same machine.
- Fixed getold so it will not set upto values negative.
- Fixed problem with expire taking way too long on heavily loaded servers. Note: the
stats_in figure is not accurate if you have more than one simultaneous incoming feed from
the same site.
- Fixed bug in streaming suck option.
- Added streaming option to sucking feed, to enable it add to dnews.conf
This can triple the sucking speed or better on some systems.
2.6a (Beta release, 25-Aug-96)
Summary of major new featres since 2.5i
- Full Text Searching added
- DNewsWeb now automatically finds and shows images in messages
- DNewsWeb improved to allow all the screens to be tailored.
- Expire on large systems (4Gig and up) is much faster.
- Performance improved and cpu use reduced.
- Misc bugs fixed.
- Implemented automatic inline decoding of MIME and UUENCODED pictures in DNewsWeb
- Added 'related items' button to DNewsWeb
- Added header and footer files to DNewsWeb see dnewsweb.txt for details
- Added 'sort by subject' option to dnewsweb.ini
- Added Full Text Searching option to DNewsWeb, this allows a user to search your entire
spool disk (3 gig's) in less than a second. (See notes above on enabling the full text
- Made tellnews key command friendlier.
- Added nntp extension XDSEARCH for Full Text Searching
- Added nntp extension XDFIND for header searching within a group
- Fixed bug in xmit - mailing list gateway with some mail servers.
- Added option to dnews.conf "nocontrol true" which stops the automatic creation
of the newsgroups control and control.cancel
- Improved speed of listgroup command by factor of about 10-20. (this can significantly
improve free agent response)
- Added pc's ip name/number to path if it is empty in posting feed
- Fixed expire bug, if 'purge' was not defined it defaulted to 0
- Changed log file names from dnews.log2 to dnews2.log, dnews3.log.
- Added expire_small setting to dnews.conf, and made it auto config to 20*disk_space,
(this is used when more than 90% of your disk is full) Made expire_chunk auto configure
better too. These settings are not dynamic, you must restart DNews if you change them.
- Added more regular writing of active file with ihave feeds.
- Fixed error in DNews generated line count
- Modified select call to deal with bug in NT Sockets which caused 'connection refused'
errors during expire runs.
- Patched bugs in NetWare version (with long file names)
- Replace badly implemented system library calls strchr() and strstr() with our own
versions which are 100 times faster in some cases, this gives about a 5%-10% increase in
performance on NT. (this also fixes the problem with 800K local posts locking up DNews for
- Added tellnews showqueue which will show the entire sucking queue.
- Fixed file handle leak on unix versions.
- Added cached life to showcached output.
- Added time stamp to last sucking error in status.
- Added AUTH_CASE TRUE, which allows case sensitive user/passwords in access.conf
- Minor changes for OS/2 version.
- Fixed error in active.names processing which allowed duplicates.
- Added tellnews command FIXNAMES which removes historical duplicates
- Max_groups increased to 35000 on Windows NT (from 30000) (really there aren't this many
groups, you should put something more restrictive in your 'me' feed and delete some of the
rubbish from active.dat)
- Made output from 'key' command easier to
- Changed some sockets to non blocking, added dnews.conf nntp_block true
- to restore previous operation in event of any problems.
- Found bug causing crash after socket closed error.
- Fixed EAGAIN error's (on solaris and osf) so it will wait 1 second before re-trying.
- Fixed intermittent crash at end of expire on NT related to error messages like:
- Added option to dnews.conf: no_newnews true, which will disable the newnews command. You
may want to do this to stop bad software clogging your network with stupid requests. (The
newnews command can essentiall request your history file, all 100MB of it)
- Patched 2 more socket_write errors for NT.
- Added reporting of pc's name when license key fails.
- Changed killitem to accept message id's
- Fixed bug with rubbish appearing at bottom of downloading message.
- Increased max length of confirm settings
- Patch for occasional crash at end of expire run on NT
- DNewsWeb, fixed bug in html code so it works with netscape 2.x
- Fixed BSDI crash
- Added rlimit memory code for BSDI
- Made system reject users nicely when close to 300 users connect.
- Added DList nntp extension
- Added DNewsWeb, a cgi program to gateway web pages into your news system for both local
and non local groups. See newsweb.txt for instructions on installation.
- Fixed channel close on write causing signal on BSDI.
- New groups would sometimes not show a downloading message until DNews was restarted,
this is fixed.
- More minor changes for MAC version.
- Improved 'newnews' and 'newgroups' commands to minimize impact and mem used.
- 'newgroups' now obeys 'access.conf' settings so users don't see 'new' groups that they
cannot actually read.
- Fix for outgoing feeds to ports other than 119
- Fixed control panel start/stop of xmit service.
- Reduced memory use for xmit.
- Improved memory handling some more, changed string allocation method to avoid block
fragmentation and free more strings if a channel closes.
- Reduced over allocation for group data.
- Fixed bug with SUNOS strstr() routine, result is DNews runs about 5 times faster on
SUNOS than it used to.
- Added dnews.conf parameter SUCK_TIMEOUT default is 300, only used when sucking an
article and the line is inactive for this period then the channel is closed. (Default was
180 seconds in previous versions)
- Another memory leak fix, also fixes a bug with xmit which would have existed since 2.4f
2.4m (I don't like the letter l)
- Fixed bug with article corruption (usually only occured with large articles on tcp links
that go up and down alot)
- Header cache is cleared after expire, (stops misleading xhdr output)
- Minor code changes for Mac version
- Fixed dnewsmanager which was writing large dnews.conf files. You should start dnewsman
and click on the 'write' button to allow the dnews.conf file to be corrected. (this may
save some memory)
- Fixed unix crash (only some flavours) if connections closed while sending to them.
(introduced in 2.4f or maybe 2.4g I think)
- Fixed problem with newly added groups not showing 'downloading' message
- Fixed crash if list of feed groups is more than 500 char long and status command is run.
- added total bytes to stats_in output
2.4j (Beta 19/June/1996)
- Fixed processing loop after connections close.
2.4i (Beta 18/June/1996)
- Fixed bug with large cross posted items introduced in 2.4g
2.4h (Beta 17/June/1996)
- Fixed memory problem if active.times file gets too large.
- Fixed bug with multiple sucking which would have caused DNews to re-check items from
secondary sucking sites.
2.4g (Beta 16/June/1996)
- Made date of fake article 60 days old to ensure the article does not get sent to other
news servers successfully.
- Fixed Expire Report crash if less than 40 groups existed.
- Fixed bug in date parsing, there was a bug in processing some date formats. This could
have caused some valid articles to have been rejected.
- Prevented memory build up from the following commands:
- Made default list output only show groups that the user can read.
- Added tellnews command "update_clear" to empty the update queue.
- Fixed crash if active.names file was larger than memory.
2.4f (Beta 6/June/1996)
- xmit, log file now rotated every 10,000 lines.
- Fixed memory usage bug, with some news readers DNews was allowing more requests than the
news reader (or modem link) could handle, this caused a large build up of RAM.
- Fixed 2.4e bug with updates only occuring once per hour instead of every 10 minutes.
- Increased max connections on Solaris to 300, linux to 200 (same applies to other rlimit
based unix systems)
- Enhanced caching logic so it will now deal with a machine slurping news by message ID
and not get confused about which 'groups' are being read due to cross posting confusion.
- cachedonly true also works better
- Added tellnews commands
tellnews update2,3,4 To update from alternate sucks.
tellnews updateone rec.humor.* 3 To update one or a few groups from suck3
tellnews showcached [rec.*] To show all cached news groups.
- Expire, timing logic changed so it is 'hourly' based, this ensures it is not missed
- Added option
This makes the expire process run at a high priority, the DEFAULT is now LOW priority, so it doesn't interfere with people reading news
- Added dnews.conf option
This hides the names of the entries in the sucking queue, so little old ladies are not offended by naughty group names.
- Added dnews.conf setting
This tells it to requeue any groups which are not finished due to the batchn, or batchsize settings.
- Added dnews.conf setting
groups_at 44 1
Triggers a fetch for any new group names from the feeder site once per day (1:44 a.m.). This will be the default for new installations, for old installations you may want to add this line.
- Made 'getgroups' run as a background task so it doesn't impact on performance.
- Made xover and xhdr run without blocking other nntp sessions, and smoothed out response.
- Added xover cache, default size is 3000 (which will use about 600k) If you have 32MB I
would suggest increasing this to about 10000. If you have More than 32MB, try about 20000.
In dnews.conf add:
At the same time you may want to reduce HEAD_CACHE to about 200 if your are short of memory as the xover cache is much more efficient and uses less memory.
- Added tellnews commands
tellnews getgroups 2
Which will get new groups from 'suck2' automatically. (usually run this once when adding a second sucking feed like the microsoft news groups, warning, it will add all groups that the other server offers, ignoring the 'suck2' group wildcard. (but it does obey the 'me' wild card in newsfeeds.conf))
- Fixed bug with multiple reports being sent each night.
- Fixed crashing bug for sites not doing any sucking (introduced in version 2.4a)
- Fixed bug in sucking different groups from multiple sites
- Digital Unix bug fix in history memory allocation
- Changed default for nntp_slow to FALSE
- Added code to correct item start count for a group in the event of files dissappearing.
- Made outgoing posting feed work with more than one posting feed, each local post is
checked to see which 'posting' feed it should go to. (by matching the 'groups' in
- Multiple sucking feeds modified, you can now suck one group from several sites. You MUST
change your config file if you are sucking from more than one site!!!
- active.dat file now has 3 extra values, (the end points for the additional sucking
- The UPDATE_GROUPS1,2,3 dnews.conf parameter is now obsolete. Here is an example setup
for taking alt groups from two sites and
- microsoft groups as well.
nntp_feeder main.feeder.site *,!microsoft.*
nntp_suck2 alternate.feeder !*,alt.*,!microsoft.*
nntp_suck3 msnews.microsoft.com microsoft.*
update_at *5 * # Get main groups every 10 minutes
update_at2 20 3 # Get missing articles once a day
update_at3 40 9,12 # Get Micrsoft articles at 9:40 and 12:40
- In newsfeeds.conf you would have
Please don't update every 10 minutes from microsoft, as they could easily get over
- Minor change to processing of LIST command which should improve speed if there are lots
of deleted groups.
- Fixed behaviour of built in feed for 'duplicate' errors, BUT, this is generally a sign
that your EXCLUDE parameter is wrong and should be fixed.
- Added dnews.conf setting 'replicate true' which tells DNews to use the same item numbers
as the host it is fetching items from, you should NEVER set this parameter on an already
running system, it's purpose is for setting up MIRROR news servers. Both of these settings
should be used together:
- And your feed on each of the mirror news servers should be defined as
- Fixed bug with sucking from multiple sites, it was intermittently sucking groups from
the wrong site.
- Added MAX_SPEED setting, this limits the speed of incoming connections in bytes/second.
Useful to smooth out peformance and limit the impact on a wide area line: Here's a typical
- max_speed 10000
- Added CANCEL_ANYONE true, enables all cancel messages even if they are not from the
- Added CANCEL_USERS me@here, only allows cancel messages from you.
- Added LIST_READONLY true to dnews.conf, this stops DNews from reporting groups to a user
if the user is not able to read them. (due to access.conf settings)
- Added config parameters
- SUCK_BATCHN 100
- SUCK_BATCHSIZE 3000000
- These limit the number and total size of items to suck from one group at one go.
- Fixed config processing which could cause errors with blank parameters.
- Made rmgroup/killgroup work for mixed case groups.
- Added 'n groups deleted' to output from rmgroup/killgroup
- Modified buffering of output to improve compatibility with faulty news reader software.
- Increased connection limit on NT from 128 to 300
- Added dnews.conf SEND_AT and SEND_LATER
- SEND_AT *5 * Sends mail and builtin feeds every 10 minutes
- SEND_LATER TRUE Stops DNews from trying to send immediately a post is sent
- Fixed netscape/freeagent (old version)/dnews bug where messages posted with bad headers
gave 'no such newsgroup' errors when the user tried to read them.
- Fixed bug with dposter processing large messages, where dposter would somtimes lock up.
(probably only on NT)
- Fixed scroll bars on DNews Manager status windows (yay!)
- Registration codes changed, this should not affect any registered users, however, if you
have a problem please contact firstname.lastname@example.org and we will provide you with a new
- Fixes bug with cancel processing
- Fixed bug with Netscape access using usernames and passwords It is important to have
access.conf lines in the correct order the following example which used to work will no
This is because the username line will be matched in anticipation of the user/password info being sent. So these lines should now appear ABOVE wildcard matching lines, e.g.:
So the logic is now: If he is in MY domain, he can read and post, but if he isn't in MY DOMAIN then he can connect but cannot do anything until I see a user/password combination.
- Fixed bug with not sending AUTHINFO when posting upstream.
- Fixed occasional crash if sucking connection closes unexpectedly
- Fixed crash if control message tries to create illegal group name.
- Corrected format of MAIL TO: messages for confirmations and added Message-ID
- The MOSAIC 2.0 news reader contains a bug, if you MUST use this news reader then in
- Then it should work most of the time until Mosaic fix the bug :-) (this may not work if
you use XMIT, I haven't tested it :-)
- Fixed bug in xmit if destination site resonded with <msgid>xxx with no 'space'
after the right hand angle bracket.
- Fixed bug with Microsoft Internet Explorer 2.x and Downloading message.
- Fixed bug with fast history file, so it now works faster
- Added stats commands
tellnews stats_in, Shows stats in incoming feeds
tellnews stats_groups, Shows stats on group usage/size
- Expire crash bug fixed (thanks to Karsten Thygesen)
- Added '&' as a valid newsgroup character, e.g. calvin&hobbes However, I can't
find any newsreader which will work with an '&' in a group name so I have my doubts
- Fixed error message bug (no such file...) repeating in log file.
- Fixed caching detection for news readers that read items by message ID (e.g. netscape
- Fixed bug in xmit causing PANIC errors and crashes. (I think :-)
- Compile warnings fixed, thanks to Karsten Thygesen
- Speeded up history file access by adding match code. (this will help large sites taking
- Support for UUCP now provided, see the sections above titled: Setting up a UUCP feed out
of DNews, Setting up a UUCP feed into DNews
- 201, posting not allowed, now accepted by xmit as a valid return code.
- Fixed NT crash when socket closed with unusual error message. (again)
- On Windows 95 start and stop buttons now work from DNews Manager
- History lookup in cache (so new posts can always be found)
- Group cached life is not decreased when it is read, only increased.
- Cancel messages from Freeagent are now obeyed despite their dubious format.
- Added 'logoff' setting for access.conf, use this to deny access.
- Added caching for DNS lookups and reverse lookups.
- Added dnews.conf NNTP_LOGOFF setting which will be sent to connections which do not gain
access thru access.conf. The default string is:
- nntp_logoff You have no permission to talk
- InstallShield now checks for 3mb of space on %temp% disk, system disk and spool disk.
- Fixed NT crash when socket closed with unusual error message
- Default feed fixed for builtin feeds which aren't sucks.
- Increased line length for access.conf and expire.conf
- Changed several strcpy's to ncpy's
- If history fails to open it will retry
- Oops, bug introduced in 2.2g which caused crash during startup if nntp_feeder was not
- InstallShield now used for installations (thanks to Danny Mayer)
- DNews Manager GUI released (beta)
- Fixed bug with long headers being messed up from some news servers
- Added to dnews.conf, for updating some groups at more frequent times update_groups1,2,3
interesting.groups.* *5 *
- For sucking groups from other news servers.
- nntp_suck2,3,4 site.name local.* [username password]
- Cleaned up nntp error message.
- Fix access.conf problem with read and post mix up.
- Fixed bug in database which caused idx files to become corrupt on occasion.
- Made open's non blocking, you can reverse this using OPEN_BLOCK TRUE in dnews.conf
- Put exit handler back into unix version. (removed during debugging)
- Improved handling of corrupt database files which could cause crahes in some
- Made log files rotate every 100,000 lines by default (debug_rotate 100000)
- Made expire higher priority than sucking news items.
- Fixed key problem for MIPS-NT
- Fixed database problem with corrupt files causing problems, added config parameter
UPGRADE TRUE which you should set if you are upgrading from DNews version 1.x to 2.x
- Added tellnews undelete wildcard, this command will mark deleted groups as normal again.
- The ME feed rule is not obeyed for crossposts if you have coppied an active file from
another machine, you need to type in: tellnews matchfeed to prevent cross posts from
appearing in groups that are not in your me feed. If you change the 'me' feed and want to
'add in' groups which were previously deleted you may need to do something like
- tellnews undeleted *binaries*
- tellnews matchfeed
- Fixed bug involving file handles.
- Fixed problem with entering license key on expired systems
- Fixed minor bug in vms version, crashed if group names exceeded 80 chars
- Added command: tellnews group_merge, this adds any groups in a file called active.add to
the active.dat file. Use this to merge in new groups from another server.
- Fixed bug with posting multi part items with 'posting' feed. (actually the return status
was being sent twice which was confusing the news readers)
- Fixed bug with ihave feed of items larger than 1MB causing 10 minute delay in feed.
- Fixed crash if .itm file is badly corrupt. (added speed stats)
- Fixed status code for failed items when recieving a streaming feed.
- Fixed two expire bugs, one if the history file contains only one line then DNews
crashed, another if every single line was expired, then DNews crashed.
- email confirm now allows a list of email domains, e.g.
- confirm *.newyork.com,*.la.com
- Added NNTP_SLOW TRUE option to dnews.conf, this stops DNews from sending to a socket
unless it is ready for more. Shouldn't have any effect, but... :-) (don't use this, it was
just for debugging)
- Added NOSTREAM true option to dnews.conf, this disables incoming streaming
- Changed priority of feeds so posts will go out sooner.
- Fixed one possible file handle leak
- Added -mail option to xmit, this allows news groups to be sent to mailing lists, the
other half (mailing lists to news groups) will be implemented shortly, see the faq section
above on setting this up.
- Fixed bug, item far too big error keeps repeating after first failure.
- Modified db_hash which could return a negative number
- Made suck and feeds timeout after 5 mins if other ends stops responding.
- Fixed minor bug with internal feed which could cause a crash
- Fixed return code if connection is refused
- Fixed xmit bug
- Fixed bug if access is refused and connection is terminated by other end.
- Added config parameter NNTP_BIGREJECT, the default value is 439, you might need to set
this to 437 for some incoming feeds. (but very unlikely) (the default will now work with
innxmit which is buggy and collapses if you give it the correct response code)
- Added uptime to status
- Fixed bugs which could cause crashes if an item index file was corrupt.
- Added NT translation of filename 'nul' which is not valid on NT.
- Fixed bug on Solaris systems with DNews not responding under some conditions. (it would
appear to be locked up but still be running fine)
2.1f (internal release mainly)
- Improved logging of file open/close
- Fixed lib_strdate, which was producing bad time stamps
- Fixed posting problem with INN servers
- Fixed 100% cpu use caused by connections closing after asking for more than 100K of
information. (e.g. list followed by quit)
- Changes to memory allocation for NT.
- Now deals with & in news group names on NT.
- Fixed crash if NULL item is sent (should never happen anyway but some news feeders do it
- Full release of version 2.x
- Added dnews.conf paramter, open_retry, it defaults to 60 minutes. This is how long DNews
should wait before re-trying to open a channel to your feeder site if it fails the first
- upgrade command changed to 'doupgrade' to avoid confusion with 'update' command. So when
you upgrade from any version 1.x copy of DNews to 2.x you should enter: TELLNEWS
DOUPGRADE. You DO NOT need to do this with every upgrade, it is only needed once when you
go from 1.x to 2.x
- Fixed new feature so it doesn't get a whole list of groups unless you have more than 300
cached (feature was supposed to work in beta-2)
- Fixed expire so that if it is above 94% when it starts it will recheck the free disk
space after deleting the first 10,000 items.
- Fixed nntp command list newsgroups.
- Modified memory allocation again :-)
2.0 Beta-3 (26-Oct-1995)
- Fixed bug in xover introduced in Beta-2
2.0 Beta-2 (24-Oct-1995)
- dnews.conf item_max defines how large an item DNews can process, if an item larger than
this is recieved it will be rejected. Increasing this can waste memory. The default is
1000000 (1mb) Note: in newsfeeds.conf there is also a setting for rejecting large items
per feed rather than globally.
- String allocation routines re-written to allow memory compaction on the fly, also minor
changes to indenting style to solve all other memory problems.
- Update made more intelligent so it doesn't get a list of newsgroups every 10 minutes
unless you have more than 300 news groups cached.
- New command, tellnews getgroups, which will force an update of group names which won't
happen automatically if you are using less than 300 cached groups :-)
2.0 Beta-1 (22-Oct-1995)
- NOTE: After installing type in: tellnews upgrade (now DOUPGRADE instead)
- New database Format, note the database will be upgraded 'on the fly' however, it is
recommended you do a TELLNEWS UPGRADE to make sure the entire database is upgraded, and
performance will not be good while this is happenning, so try and schedule it for off-peak
- File IO improved to handle much heavier loads and improve xover performance when groups
are heavily cross posted.
- The following NNTP commands all speeded up by about a factor of 10, NEWNEWS, NEWGROUPS,
- History rebuild fixed (tellnews addlost)
- XMIT exiting when it can't connect fixed.
- Log files flushed more completely
- Timeout of idle channels now settable in minutes (TIMEOUT NN) in dnews.conf
- Two new settings to clearly specify how cached groups should be dealt with:
- cachedonly true (don't allow items into non cached groups)
- cachedall true (pretend all groups are cached)
- The first one can be used to emulate a sucking feed when items are being sent in with
IHAVE. The second one is for FULL feeds to prevent any 'downloading' messages appearing.
- Case is now preserved in group names, I don't like mixed case group names but they exist
so DNews will now deal with them, however, it's matching is non case sensitive, (like NT
- New command TELLNEWS FIXRANGE which rechecks the number of items in each group. (this
doesn't expand the range of numbers use addlost to do that)
- Modified memory allocation routines to avoid common operating system bugs, resulting in
much lower memory use.
- Fixed bug with running out of file handles if the feed site isn't responding.
- Changed log files. There are now three, dnews.log (all log messages) dnews.in (Log of
incoming articles) dnews.out (log of outgoing articles and email) The loglvl affects what
gets stored in dnews.log, debug_rotate can be set to prevent log files from getting too
- TELLNEWS ROTATE command added to rotate log files. This also happens once per night
automatically. Files are renamed:
- dnews.log -> .log2 -> .log3 -> .log4 -> (deleted)
- New dnews.conf setting, ACTIVE_STATIC TRUE, will stop new groups from being created by
the sucking feed. (good if you don't want 20,000 empty news groups slowing things down.
- Newnews command fixed, it was not responding with the correct status.
- Config parameter. POSTONLY TRUE, which stops items from being posted locally until they
come 'back' from the feeder. (this is the way it used to work until version 2.0) The
advantage of the new default is that you can have local groups and they will work even
with a posting feed.
- If WinVN crashes every time you try and read a newsgroup then type in.
- tellnews fixrange
- WinVN gets upset if DNews reports an incorrect number of items in a group and DNews can
get this number wrong in rare circumstances usually just after upgrading.
- Maximum number of newsgroups increased from 20,000 to 35,000. Note: Just because DNews
can handle it, doesn't mean the pc news readers can, if you look in one of these large
active files you will find an awful lot of crap, I suggest you save memory and bandwidth
by removing this rubbish.
- New mailing list for discussion, send to email@example.com
- Added config setting NODNS this will stop DNews from doing reverse name translations. If
you find your system takes 30 seconds to connect then try this setting, it could be your
reverse name translation server is not working. This only affects access.conf, you will
have to put 'numbers' in to control access instead of names.
- Fixed bug in expire and purgelost.
- Added 'TELLNEWS ADDLOST' command, this will restore the history file if it is deleted.
(You don't need to delete it first unless it is corrupt)
- *** Upgrade procedure, I recommend after upgrading to 1.1g you type in:
- On a system with many gigs of news this may take 24hours to run. (the system will be
very slow while this is running) Then use the command:
tellnews setused nnn
- To set the current disk usage correctly (nnn=MB used)
- Fixed bug with header records containing tabs being returned by xover or xhdr
- Fixed bug in body command, if body is empty the server crashed. (although this is rare
as empty body messages are not accepted
- it can only happen when the database is corrupt)
- Fixed free disk space display on NT
- Added reporting on memory allocated
- Added LOGDIR_MIN to config files
- Added TELLNEWS STATS command.
- Fixed History memory usage display
- Fixed 'mode reader' command, it had a trailing space and some news servers didn't like
that. (thanks to S White for finding this)
- Fixed bug with the 'cached' groups, they were not being 'reset' as cached when users
read items. (bug introduced a couple of version back)
- Fixed expire problem (with deleted groups)
- Removed code that prevents ihave incoming when outgoing feed is posting (but this is
still probably a bad idea)
- Fixed memory leak in NT version.
- Fixed remaining memory leaks.
- Changes default FEED_READER to TRUE.
1.1b (Internal only)
- Fixed tellnews command when port is not 119
- Fixed bug when expring if no items in system at all.
- Added FEED_READER TRUE OR FALSE, to force the 'mode reader' command to be sent, or not
- Added maxcross flag for limiting crossposts in newsfeeds.conf
- Made major improvements in memory allocation, greatly reducing memory usage.
- Added debugging option DNEWS_ROTATE 1000
- Fixed bug if the right/wrong slash is used in dnews.conf on NT
- Fixed possible bug with very long group names.
1.0e (Internal version)
- Fixed possible bug with multiple simultaneous incoming ihave feeds
- Fixed possible bug with items cross posted to > 200 groups
- Fixed possible bug with incoming items corrupting memmory.
- Fixed bug with tellnews.pass not being accessible after it runs out of disk space.
- Extended newsfeeds exclude command to allow a list of sites e.g. exclude
1.0d (Internal version)
- Fixed NNTP DATE command, required by TRN
- Fixed NNTP responses for list commands for TIN
- Added dnews.conf paramter PORT to run the server on a different port.
- Added dnews.conf NNTP_USER, NNTP_PASS user and password for feed site
- Fixed bug internal mail sending system (NT & VMS not saying HELO)
- Added NNTP extension list active x.y.z
- Added config, LOGUSE ON, enables reader logging to used.log
- Added config, CACHEDONLY ON, stops messages from going into groups that are not cached.
Use this to make an ihave feed become partly dynamic.
- Made feed and mail queues higher priority than background suck entries.
- Fixed major bug in internal feeding code which could loose local posts if the system was
under load when it tried to send them.
- Fixed possible crash during expire if history file was corrupt.
- Fixed tellnews reload so it reloads dnews.conf, access.conf and newsfeeds.conf. Also
made expire.conf reload automatically.
- Fixed rejection message if nntp access is not permitted.
- Fixed display of downloading message for new groups on NT.
- Correction made to default access.conf
- Updated Documentation
- Silently reject cancel messages which don't have a message id or that have
'cancel<messageid>' with no spaces.
- Added streaming extensions to DNews server
- New xmit, a hi speed nntp IHAVE feeding program this allows DNews to be used on non leaf
- dnews_start now takes ownership of (spool) /var/spool/dnews directory as the correct
usercode to run DNews under.
- Modified startup scripts to change directory before starting DNews
- Windows NT version created.
- Changed config file processing so it is not TAB sensitive.
- Fixed bug with tabs in dnews.conf causing problems.
- Log files flushed early on in startup, so you can see if its going.
- Startup and generate speeded up, this was causing DNews to lockup for periods of up to
60 seconds, now there is virtually no lock up.
- Corrected expire.conf, settings for keep and default were mixed up.
- Modified control.conf so it doesn't generate as much email.
- Group command now shows correct number of articles in a group.
- NT changed file names /aux/ into /a_x/ because NTFS does not allow a file called aux
0.9d (Wide BETA release 2)
- Fixed bug which prevented news groups from being added.
- Added missing nocached.body file to distribution.
0.9c (Wide BETA release)
- Socket error's trapped correctly, this was causing the process to dissappear when a
connection was badly closed at the other end.
- New articles added after an expire run were indexed incorrectly.
- Messages tidied up
- Control mail messages now contain "done" or "logged only"
- Pause message now contains status information.
- Inactive sockets closed even when data still pending on output.
- First ALPHA testing release