DNEWS Updates List

5.1a (not yet available)

Support for adding external filters like 'cleanfeed', see filters.htm, this is provided so those who want to make extensive adjustments to the filtering can do so, we still plan to enhance dnews's builtin spam filtering so the majority of customers should not need to go to these lengths :-)

Support for NoCem added (an automated system for cancelling spam but more efficient than cancel messages and with pgp control over who can cancel) see nocem.htm   

5.0b,    7 Jan 1999

Made users.dat case insensitive unless auth_case is 'true'  however, encrypted passwords in users.dat are still case sensitive.

Modification to dnews slaves so that they re-read diskuse.dat intermittently. (fixes minor dmulti problem)

Fixed bug that could cause crash if users.dat didn't exist.

Made some minor additions to output when db files can't be written.

Removed trailing tabs from xover data, this may stop Outlook express from crashing (so often :-) if you think this is a problem on your system, you may want to delete your existing *.xov files after upgrading but this will slow your system down for the next 24 hours.

Made nt_domain accept a list of domains, users can specify the domain they want as user=domain/username the first entry in the list is the default.

Fixed bug which allowed a local user to crash the server by typing in one particular unusual header which will remain nameless for obvious reasons.


5.0 (Beta 5)

Due to an imposter sending control messages you may find many of your groups are set incorrectly as moderated, if this has happenned then the group will not be accepting news items, the showmod and fixmod commands can detect this and partically correct it.

Showmod will show you all moderated groups that have recieved un-Approved posts since startup, fixmod n will set groups with more than 'n' unmoderted posts to 'unmoderated' this may result in some moderated groups becoming un moderated which is also not desirable.

The best way to correct your list of active groups is to download an active file from ftp://ftp.isc.org/pub/usenet/CONFIG and copy it to the workarea as active.fix and then type in these command:

		tellnews matchfile active.fix
		tellnews undelete "local.*" (to undelete any local or strange hierachies)
06 14:01:22 19:error: spam: Detected local spammer, 33 posts from (204.210.96.14) using delay of 169 seconds (increase spam_npost to disable this check)

5.0 (Beta 2)

c:> nwuath
check fred fredspassword
+OK fred (possibly other info)
check jack jackspassword
-ERR jack unknown user
quit
+OK exiting

Two examples are available, one is nwauth which uses a text file as a user database and comes with dmail, the other is ldapauth (for doing ldap authentication) which is a self extracting windows archive . Both come with full source.

4.7m 16/12/98

4.7g

Note: There is a problem with email to moderated news groups being bounced if the user specifies an invalid from address (like user@nospam.real.domain) if the moderators mail server is set to bounce email from undefined addresses then this email never gets to him/her, and the bounce of course also fails.  In dnews.conf you can define mail_bounce news@your.host.name which partly fixes this problem except that real bounces are then lost. It's a loose loose problem :-) (this is not related to 4.7 but is a general usenet problem)

4.7f     29 - Sept - 1998

4.7e

4.7d     17 - Sept 1998

4.7c

4.7a

 

4.7 Beta 1, 1-Aug-1998, Feature List

Header sucking

This allows you to configure DNEWS to suck certain groups in 'header only' mode, in this mode dnews only sucks the header of the items and then fetches the body of the message when the item is read, a cache is used so if another user reads the same body it is not requested again. 

As new bodies are delivered to the user 'as they arrive' a user who is at the end of a modem may not notice any performance drop.

To implement this for *binaries* you would do this:

  1. Add to dnews.conf, header_groups *binaries*,*pictures*
  2. Expire existing items in these groups, tellnews expire_groups *binaries* (this step will take as long as a normal expire, maybe an hour or so)
  3. Adjust your ME feed to allow binaries groups if it doesn't already
  4. Fetch or undelete the new groups if you didn't previously have them, e.g. tellnews undelete "*" or tellnews getgroups
  5. Make sure you have a posting feed to your upstream site, this is currently required when using header sucking. (check your newsfeeds.conf file, add the word posting)
  6. Examine the following table to see if you need to adjust any other settings

Now try reading one of the specified groups.

Note: header sucking does not currently work for dmulti systems, it is assumed that these features are going to be of most use to smaller sites where dmulti is not used, but we will fix this at some point in the future.

Also Note: You cannot header suck from more than ONE site.

An important point to remember is that when useing header sucking dnews is in replicate mode in relation to those news groups, this can have side effects that you might not expect.  Also when turning header caching on and off, you have to use the expire_groups.

Related new settings:

Setting Example Description
header_groups *binaries*,*warez* Groups which dnews should suck only headers for.
header_chan_n 3 Number of simultaneous channels to use when fetching bodies, if set too small then long delays will occur when a user reads a group.
header_body_mb 100 How much space dnews can use to cache bodies of header only items.
header_path d:/dnews/header Directory to store cached bodies, defaults to (workarea)
header_host 2 Site to fetch bodies from, nntp_feeder is used by default, use 2 for nntp_suck2 etc...
header_prefetch 20 This specifies how many headers/items to fetch 'on the fly' when an uncached news group is first read, this can be used with a normal sucking feed instead of the 'downloading' message, when a group command is recieved dnews will rush off and fetch this many headers/items before responding to the user, so the user is never faced with an empty news group.
header_timeout 30 How long to try and talk to the upstream site before admitting to the user that item 'xxx' cannot be fetched.

 

Use the command  tellnews status_hcache to determine how well the cache is working.

Example Output and explanation:

Header requests cached/remote 23/10 5000k/3340k, Size 10/4000 3MB/20MB

    23/10    23 items read from cache, 10 items fetched from upstream

    5000k/2340k  5000K read from cache, 2340k Read from upstream

    10/4000 10 of the 4000 cache entries are currently used

    3MB/20MB 3MB of the cache files are strored, of 20mb permitted.

  Option in dnews.conf to block some log lines, log_ignore slow:,Refused,...

    tellnews copy_item rec.humor 2 local.funny

    Active changes made more efficient by writing to active.pat change file
    Added header stuff.
    Added to dnews.conf
        spam_npost 20
    If a single ip address posts more than this many posts
    in 30 minutes, then each following post will be delayed
    by n^2 seconds, this effectively limits users to 30 posts
    per half hour, This is TURNED ON BY DEFUALT, so to disable
    it set spam_npost 1000000
    This setting invisibly stops users sending in large amounts
    of spam into the news system via your server. Unlike the
    other spam rules, this only affects local posts, it has
    no effect on incoming feeds.

New Tellnews commands

These are intended for moving threads between local news groups, the matching is case insensitive, and it is not possible to move an item back to the same group, or more than once to a destination group.

    tellnews delete_thread group.name "<Message@id>"
    tellnews copy_thread group.name.from group.name.to "<Message@id>"
    tellnews move_thread group.name.from group.name.to "<Message@id>"

    tellnews delete_subject group.name "Text from subject"
    tellnews copy_subject group.name.from group.name.to "Text from subject"
    tellnews move_subject group.name.from group.name.to "Text from subject"

    tellnews copy_item group.name item.number new.group.name

    tellnews showgroup group.name   (lists the items in a group, subject, mid etc.)

    tellnews getgroups any.news.server (now works for IHAVE feeds, usually :-)

Change to newsfeeds.conf, it is now possible to give a file name instead of a list of news groups, e.g.

    	...
	site freds.news.server
		groups /usr/local/dnews/freds_groups.dat
    		...

Addition to newsfeeds.conf, reject header "string" is now permissable, this searches the entire header for the specified string.

4.6p

Fixed bug with rejected control messages not being added to history correctly
Fixed log errors "IDX corrupt" on slaves processes, also increased speed with which new posts appear on slaves with dmulti.
Fixed core dump from causing cpu loop on unix version
Fixed dbi.idx locking problem on NT.

Increased timeout to solve problem with dnews/dmulti shutting down when a slave won't release dbi.idx

4.6o  

    Enhanced dtail (-follow and -page)
    Made dnews attempt twice to write to active.new
    Made prog_args accept multiple parameters (space separated)

4.6n

Corrected behaviour of ihave/takethis when faulty MID's are recieived.

history_moved true, evens out disk usage.

Fixed problem with database indexes not being flushed in time for readonly servers to find local posts consistently.

Improved behaviour when a live feed hits a full news server.  (it now doesn't retry constantly)

Added support for multiple addresses in dnews.conf email settings (e.g. gup_to)

Turned on xover_write_cache by default (set to 1000), on large systems a setting of 2000 or 3000 may be worthwile.

Removed some logging junk from dmulti slaves

4.6m 22-May-1998

Added commands to clear the stats_in, stats_out statistics.

	tellnews in_clear
	tellnews out_clear

Fixed bug with tellnews reload clearing stats_out figures.

4.6k

Improved dmulti database flushing so that items cannot appear on a slave until they have been flushed to disk by the master.

Adding code to make dnews.log get renamed even if some other process has the file locked.

Fixed problem with dmulti and deleted groups re-appearing occasionally when a slave didn't know the group was deleted.

Added logging options log_onefile true With dmulti makes all logs write to dnews.log (only works on unix)

	log_no_in true	Disables log to dnews.in
	log_no_out true	Disables log to dnews.out

Fixed problem with checkgroups processing for more than one top level tree.

Fixed minor security issue on unix (thats all the detail I'm giving, as ignorance is the next best thing to security)

Added tellnews commands to show internal/database info about an item

	tellnews showinfo <articleid>
	tellnews showinfo group.name item.number

And to list a group (These commands are intended for debugging rather than normal use)

	tellnews showgroup group.name
	lists all the items in a group (could take some time)

And to make dnews temporarily forget an item exists, so you can suck it again.

	tellnews histforget "<articleid>"

Added to Dnews.conf, to turn of spam rules for certain groups:

	spam_allowgroups local.*,news.spam

4.6j

Added to dnews.conf timezone_post NZST This is useful if your system timezone is not being picked up correctly by dnews for some reason.

Fixed tellnews copy_group so threading is preserved, but note that the copy_group command does not fully support cross posted articles, it is intended for use with local news groups only.

4.6i

Fixed bug in auth_pophost

Added new feature, with these settings dnews will send automatic GUP messages to an upstream site:

	gup_site your.site.name your_gup_password
	gup_to upstream_robot@upstream.site
	gup_add comp.lang.*
	gup_mask *,!alt.*
	gup_at 1 23

That would send an email at 23:01 every night to the email address upstream_robot@upstream.site the message would add comp.lang.* to the list of groups to send, and only include cached groups that matched (*,!alt.*)

New tellnews command "test_gup" which generates and sends a gup email, to test gup set the gup_to address to your own email address before testing it.

DNEWS 4.6h

Fixed fault with newnews command date processing.

DNEWS 4.6g

Fixed sucking from MCI's new news server. Fixed reject_addhist true fault which could cause items to be rejected incorrectly.

DNEWS 4.6F

Made xref_always true, the default, to match INN systems, this means an xref header is added even if the message is only posted to a single news group.

Replicate feeds: We've noticed there is a more efficent way to send them, instead of sending an xreplic feed, you can send normal streaming live feeds if you do the following

In dnews.conf add replicate true In dnews.conf on the MASTER add xref_always true (that is the default in 4.6f and later) Then just send a normal live feed from the master to the slave. You still need to use the postonly true setting on the slave to get posts back to the master, and often you need to use ignorepath true so that local posts get sent back to the slave.

DNEWS 4.6e

In stats_in, moved site name to end of line.

Fixed bug in dnewsweb with html items on unix.

Added expire_quanta setting, defaults to 3 seconds on dmulti systems, this speeds up expire processing.

Fixed date shown in x-trace to be local time not gmt.

Workaround for freebsd OS bug, with freebsd if dnews writes too fast to too many channels, the operating system gives the error "Out of MBUFS, Page Fault while in Kernal Mode" and reboots, not nice :-(

This is an OS fault but to prevent it we've added a setting to dnews max_out_total 200000 This limits the speed dnews writes to all channels at once it should be set to about what your network card can sustain or slightly less, so on a typical ethernet card 200000 is a good setting. This fix doesn't appear to work on all systems, but the bug also doesn't seem to exist on all systems. Let us know if you have this problem and/or if you get around it with this setting. Also if anyone finds a patch for the kernal to fix it we'd love to know about it.

4.6d

Fixed xmit -mail problem with some mail servers that give extended response codes to 'helo'

4.5w,4.6c

Fixed occasional sending of downloading messages to moderators

4.5v

Fixed suck_percent so it works if suck_stream is true

4.6c

Fixed suck_percent so it works if suck_stream is true

4.6b

Fixed shutdown on unix, it didn't exit cleanly on a system shutdown. (signal 15)

Fixed cache_ongroup which was letting users cache groups that they couldn't read

Bug fixed sucking groups with cachedonly true set.

DNEWS 4.6a

Added ! (not) to feed rules, e.g. to reject all non smutty messages, add to newsfeeds.conf

site me
	groups *
	accept default
	reject subject !"sex"	

Improved handling of large bucket sizes (100mb)

DNEWS 4.6 beta16

Fixed bug in dposter, it would get stuck on nt. Added, to dnews.conf inpaths true, if this is set then dnews will write to the workarea inpaths.dat (it writes to inpaths.new, and once a day renames it to inpaths.dat, you should process and delete this file with a cron job)

DNEWS 4.6 beta15 26-Feb-1998

Fixed bug in dposter if used by itself with names that don't change it could get stuck on a bad message.

Added to dnews.conf xref_always true, which if set will add xref lines even when the item is not cross posted.

DNEWS 4.5t

Fixed upgrade procedure for dnews 2.7-4.* conversions.

4.6 beta14

Fixed bug in spam duplicate body detection, it was not matching some bodies which were identical.

4.6 beta13

Fixed checkgroups processing, it sometimes created bogus news groups.

Added setting 'retry_441' to dnews.conf, basically some servers respond with 441 when a posting fails and retrying is 'in order' these servers are simply faulty. This setting tells dnews to retry in this case.

Fixed bug in rebuild_index, it was loosing control messages during the rebuild process.

Added to dmulti, if slave_feed is not defined, then dmulti will read the 'ihave' lines in access.conf, it will also do forward name translations. That means you can give a name like feeds.site.name:ihave:::* But you can't give "feeds*.site.name"

To enable forward name translations for dnews so it also recognizes all the feeds.site.name ip addresses add to dnews.conf access_forward true

Added xover write caching, this can help reduce fragmentation and improve teh speed of taking a news feed if you have more than about a thousand groups 'xover cached' (this shows up in the status output). To enable this add to dnews.conf xover_write_cache 2000 This means 2000 xover records are cached before any are written to disk, so that with luck dnews will be able to write more than one xover record at a time.

Added support for virtual domains (not supported in dmulti yet), to turn this on add to dnews.conf auth_virtual_ip true and auth_virtual_user true Then in access.conf add @local.ip.address to your access rules.

E.g. lets assume you have two ethernet cards 2.2.2.2 for local use and 3.3.3.3 for public news groups, then your access.conf would look like this:

	...
	*@2.2.2.2:read,post:::*
	*:read,post:fred@3.3.3.3:password:*
	*@3.3.3.3:read,post:::*,!private.*

This lets fred read the private groups even when he connects to 3.3.3.3, you cannot use domain names for the local addresses you must use the number. auth_virtual_ip adds the local ip address to the ip address and auth_virtual_user adds the local ip address to user names.

Removed all 'bad' lockups from expire process

Increased max number of groups from 55000, to 400000, this is controled with the setting max_groups in dnews.conf, if you change this value, don't decrease it, also if you have more than 55K groups you can't downgrade to 4.5, We strongly recommend you don't use this feature, your users don't want to see more than 10K groups, the rest are junk, non local, etc, adding all these groups slows down news reading, but the choice is yours.

4.6 beta10

Fixed dmulti updating items on readonly machine.

Moved dmulti log file to 'logdir' to avoid conflicts with readonly servers.

Added expire option "split" if this is set and if you set in dnews.conf db_split true Then dnews will shuffle items in groups matching the 'split' lines in expire.conf into different bucket files, the side effect of this should be a significantly faster expire. (note: REMOVED DUE TO BUG, this may be added again at a later time)

Fixed bug with readonly system not finding items on spool'n' where n was not 1.

4.6 beta6

Change access.conf processing, if access_forward true is set then any name which does not contain wild cards, and has 'ihave' access is 'forward' translated to a number (or list of numbers). This improves security and also allows some forms of aliases to work correctly. We recommend turning this feature on.

To apply similar forward translations to "read,post" sites set in dnews.conf access_forward_all true

If 'tellnews reload' responds very slowly this feature could be the culprit.

4.6 beta5

Fixed problem with active.dat being locked by readers.

4.6 beta4

Added to dnewsweb, any cgi environment variable can now be found using %%e_xxxxx%%, for example to use the authenticated users username in the 'from' address in post.tpl

From: <input name="from" size=20 value="%%E_REMOTE_USER%%@your.domain"> (Give EMail address, e.g. you@your.domain)<br>

Added to dnewsweb a setting tellnews_pass xxxxxxxxxxx (find 'xxxx' in the file tellnews.pass in your workarea directory) If this is set then dnews will be able to apply access.conf rules to users reading news via dnewsweb. If the user is authenticated by the web server then their username will also be matched against users in 'users.dat' and 'usergroup' access can also be applied.

Added X-Trace: header to assist with finding spammers. Fixed bug with 'checkgroups' messing up active.names

4.6 beta3

Fixed bug with web manager modifying long newsfeeds.conf entries and going into cpu loop.

Added dnews.conf entry auth_pophost your.pop.host If this is defined then users are authenticated via your pop server, usergroups can be added via the dnews user database. A cache is used so the load on the pop server should be minimal, users may occasionally get an error if their drop file is locked due to incoming mail, retrying should fix this.

4.6 beta2

Removed "Now =..." debugging message in log file.

Fixed error in log files names in 4.6, (dn2.ews.in etc...)

Fixed output of access_test (read,post were reversed)

Fixed problem with any domain being allowed access.

Fixed problem with web manager and MSIE (it would hang)

Added clearer logging of external authentication calls

Message id is now correctly recorded in post.rec

Fixed xmit so it won't email downloading messages to mail lists

Changed spam detection so that both from and lines headers can be used in combination to detect duplicate postings from an individual. This is enabled with the setting: spam_lines true

Added setting to allow posts from certain nntp-posting-hosts to bypass the spam protection spam_allowhosts 1.2.3.4,netwin.*

Added cancel_disable true

If approved_auto true is set in dnews.conf then if a local post is from a local moderator then the approved header is now added automatically (note: also see dmod, a free windows utiilty for moderating a news group, available on our web site)

Added to dnewsweb templates:

%%ifcgi%%http_referer%%*161.29.2.4,*listall*%%
....
%%endif%%

This lets you match any CGI environment variable against a list of names and wild cards. You can thusly change the appearance of your web page depending on where people have recently been etc.

4.6beta-1 This is a beta, do not use it on a live system

Major new features:

To contact the dnews manager use a web address like this: http://your.host:7119 (this link may work, try it) A username and password will be stored in the file CONFIG/users.dat in encrypted format and on your first connection it will tell you the password, if you forget this you can edit users.dat by hand and add a line like this)

	dnews:yourpassword:Full:*:Mr Admin:adults

The manager service can be stopped on NT with the command "net stop dmgrsvc" and can be disabled from the control panel/services window.

NOTE: If you use the new manager to modify your access.conf entries it will 'TRY' and convert your access entries to the new format, it may not succeed so you must check it. DNEWS itself is still backwards compatible so as long as you don't modify your access.conf file with the web manager you will not have any problems. We strongly encourage you to switch to the new format which is much easier to understand, basically it's the same but users are moved into a separate file "users.dat".

Configuring two readonly servers to share the spool disk of an existing dnews server.

Access.conf enhancements

Added a new option to access.conf entries, :add, tells dnews to add the specified groups or subtract them, this allows much simpler configurations, e.g., lets take an example where you have users defined as adults,kids and staff. Depending on which usergroups the user belongs to they should see different selections of newsgroups. For this example your config files would be:

----users.dat----
bobby:aaa:None:*::kids,private
fred:bbb:None:*::adults
joe:ccc:None:*::adults,staff
joeskid:ccc:None:*::staff
--------------------
----access.conf----
*:logoff:::*
netwin.*:read,post:$lookup$:$lookup$:*
*:read,post:,groups=staff::private.*:add
*:read,post:,groups=adults::*sex*,*erotic*:add
--------------------

With this example if 'bobby' connects he will get access to "*,!private.*,!*sex*,!*erotic*" if fred connects he will get access to "*,!private.*,*sex*,*erotic*" and if joe connects he will get access to "*,private.*,*sex*,*erotic*" and if joeskid connects he will get access to "*,private.*,!*sex*,!*erotic*"

Clear as mud? Trust me it's a big improvement. Access.conf does still allow usernames and passwords directly but this is strongly discouraged.

You can test your setup with this tellnews command:

    tellnews test_access domain.name.or.number username password

This will show you if a user connecting from that domain with that username and password would be allowed to connect, and if so which groups they could read/post to.

The format of users.dat is currently:

username:password:manager_access:managed_groups:full_name:usergroups

The Manager_access can currently be 'full' which allows access thru the web based management utility or 'none' which doesn't. In future we will add other options, e.g. 'killitem' to allow the use of the killitem command but nothing else so you could grant moderators appropriate access to certain groups.

Passwords defined by dnews manager willl be encrypted, non encrypted passwords can also be entered into this file by hand and will also work. This file should not be set world read on unix.

Misc changes in 4.6

Fixed dnewsweb for some attachment types

Fixed logging to u_yymmdd.log_n log files for dmulti

Fixed log file names in dmulti for dnews*.in*

Made posts show local timezone when possible.

Fixed problem with groups not matching the wild card defined for a sucking feed being created locally.

Spam rejection is now silent for local posts, this means it lies to the user as sais 'thanks that was fine' rather than informing them that the post was rejected, this change was necessary as otherwise it was too easy for spammers to change what they were posting. The rejection is logged in the log file and shown in the tellnews status output in the 'filter' line.

Added a record of recent hosts rejected to the status output to simplify initial configuration.

On dmulti caching should not work correctly.

When using dmulti the global setting 'concurrent_limit n' in dnews.conf will limit the number of concurrent connections a user is permitted to all slaves.

External Authentication

External authentication mechanism added for NT and modified for UNIX (the old mechanism for unix still exists for backward compatibility)

auth_extern true    # Attempt to call the dll to authenticate users
auth_nosystem true  # Don't lookup users via the nt or unix database
auth_lib c:\dnews\mylib.dll   # Give a path for the dll, the default is dnewsauth.dll 

If auth_extern is true then dnews will try and load a dll called dnewsauth.dll and call this function to verify passwords, optionally the function can return a list of 'usergroups' (not news groups)

int dnewsauth(char *user, char *pass, char *usergrps, int bfsz, char *msg)
  usergrps = A list of groups, e.g. "adults", "staff" etc..
  bfsz = Max size of usergrps
  msg = String which will be printed in the dnews log file
Sample DLL for Visual C
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

__declspec( dllexport ) int dnewsauth(char *user, char *pass, char *usergrps, int bfsz, char *msg)
{
	if (strcmp(user,"chrisp")!=0) {
		strcpy(msg,"No such user"); 
		return FALSE;
	}
	if (strcmp(pass,"fred")!=0) {
		strcpy(msg,"Wrong password"); 
		return FALSE;
	}
	strncpy(usergrps,"adults,gold",bfsz); usergrps[bfsz] = 0;
	strcpy(msg,"User logged in ok");  /* Optional */	
	return TRUE;
}

4.5k

Reduced memory fragmentation

Fixed dmulti problem with connections closing too quickly when data was still bufferred.

To add user defined headers to all local posts define any of these in dnews.conf

post_addhead1 XHeaderName1: Text Goes Here 
post_addhead2 XHeaderName2: Text Goes Here
post_addhead3 XHeaderName3: Text Goes Here
Added parameter to stats_groups, e.g. tellnews stats_groups x.y.z*

Removed hard link to /usr/local/dnews/dnews in dmulti

Fixed dmulti so posting to protected news groups works as expected

Fixed dmulti so suck_uucp doesn't kill it

4.5j

Fixed authentication bug with listgroup with no groupname on protected news groups.

4.5i3

Fixed byte count of articles in xover data which was sometimes faulty, to correct the existing xover data delete *.xov.

Made tellnews setused happen automatically on startup.

Fixed response codes from tellnews which were removed in 4.5i

4.5i

Fixed rare problem with sucking from fast server with a short list of news groups. Added speed controls in access.conf, e.g. *sprint.net:ihave:::*:speed=100000

Bug fix for rare crash caused by very unusual incoming messages.

4.5h 1 November 1997

Fixed rebuild_index so it is even more careful not to read in corrupt data.

Added tellnews command: tellnews copy_group old.name new.name This command copies the contents of the group, modifying the 'newsgroups' headers correctly and creating new message-ids. If you copy a group repeatedly to the same new name, only 'new' items will be copied. This allows you to have a group that is an 'archive' of a real group, the archive might have a longer retention period (in expire.conf)

Added a dnews.conf setting C_AUTH_SHOWPROT TRUE This gives the entire list of news groups even if the user does not 'currently' have access to the specified groups. This allows the user to then select a group and be prompted for the correct user/password. (This works well for NS4)

Modified authentication responses to attempt to trick both NS3 and NS4 into working with protected news groups, this appears to work as well as is possible (given the bugs in NS3), NS3 requires that you shut down netscape (both the news reader and the browser) before connecting to a second protected news group (because it refuses to prompt for a second user/password)

4.5g5 29th Oct 1997

Fixed period of time during expire process during when some items would not be readable.

Fixed slow database leak.

Fixed database leak on dmulti systems

Made spam rejection silent for local posts and non descriptive for ihave feeds. Use in dnews.conf spam_debug true to make the rejections noisey again while testing spam rules.

4.5g3

Added check for approved header with moderated groups.

4.5g2

Fixed live feeds.

4.5f6

Fixed bug which could under 'rare' conditions cause the active file to shrink. (e.g. killing dnews in the middle of it's startup)

4.5f4

Removed dependence on 'df' for most versions of unix

Fixed dmulti problem with restart leaving zombies

4.5f3

Fixed problem with live feeds occasionally sending bad headers.

Added config paramter cache_ongroup true which if set will allow Agent to cache an empty group that was previously cached.

Fixed problem with active.dat getting control characters in group names, this could cause 'IE' to lock up while downloading groups.

4.5f

Fixed bug with sucking list of news groups introduced in 4.5e

4.5e

bind_in now works on unix

suck_uucp now stops if disk space runs out.

Fixed program feeds on unix so they restart correctly on failure.

Added logging for live feed debugging.

4.5d8

Fixed bug with header caching not working

Fixed bug with sort_lastmbmade newgroup control messages only email if not already done

4.5d4

Fixed bug with dmulti and local posts over 100K intermittently failing.

Changed behaviour to allow Netscape 4 to work with some news groups password protected. (removed, will be re added when fixed)

Changed main loop to decrease cpu use.

Added support for a distrib.conf file, this should be the same format as distrib.pat as used by INN.

Fixed problem with tellnews newgroup causing readers to hang when updating the list of news groups IF the moderator flag was left off the command.

4.5d3

Changed update syntax from, updaten, to update n e.g. tellnews update 6 To queue an update from nntp_suck6

Fixed bug with , reject < 3000, reject > 3000 (reversed logic and allowed non quoted strings)

4.5d2

Added cache so multiple incoming streaming live feeds will not allow articles to come in twice. Added debugging for history (hist_debug true)

If (uucp_simple true) is set in dnews.conf then the rnews counts are ignored, and the messages are read in based on the 'rnews headers' alone. Also if the rnews count is '0' then this format is assumed.

RAS support fixed, it now works correctly and phone book entries can be used.

4.5d 26-Aug-1997

tellnews update_clear now clears pending tellnews commands as well

Fixed bug with some missing items in groups caused by cancels.

Fixed bug with diskuse drifting if 'xover_moved' is true.

On unix added two dnews.conf settings:

	log_system true # Log to system log daemon
	log_files false # (stop logging to dnews log file)

Added 'content_type' config parameter to dnewsweb.ini

Fixed slow database leak, use the command: tellnews remove_lost to remove the 'lost' messages from your database, this may free a significant amount of storage.

Fixed problem with IEX4 crashing when reading from dnews.

Patched output from list overview.fmt which should fix a problem with some versions of NewsWatcher

Added dnews.conf setting suck_percent 90 for sucking only old stuff, this makes dnews suck only 90% of items from a group.

Added sucking feeds 5-16. Sucking feeds 4-16 cannot overlap, e.g. you cannot suck rec.humor from sucking feed 6 and 8 but you can suck rec.humor from suck2 and suck3. (clear as mud)

Improved performance at taking a full feed

Improved performance of taking cancel messages by a large factor

Modified the index behaviour so that it is partially sorted every hour instead of only once a day. This improves reader performance.

Added standard password $lookup$ support for VMS, BSDI, FreeBSD, Linux, Solaris.

Added external authentication support for Linux, FreeBSD, Solaris. See the file libauth.c for details.

4.5a Spam protection (Beta release)

Experimental spam protection system. The following settings can be added to dnews.conf, you can just set 'spam_stop true' or you can fiddle with all the settings and thus tune your system differently to other peoples which may be an advantage as 'spammers' will try and get past some of these rules.

Setting Default Description
spam_stop false Enables spam protection
spam_test false Enables spam protection but doesn't reject anything, just logs what it would do.
spam_keepn 5 Number of rejected items to store in spam_n.tmp files (for reviewing)
spam_dup_total 5000 Number of items to 'remember' in our history of 'duplicate' bodies. Uses about 30 bytes per entry.
spam_dup_hits 6 Number of duplicate bodies (not cross posted) to allow
spam_dup_cross 400 Number of duplicate bodies counting cross posts to allow
spam_from_hits 60 Number of messages from any single user per hour
spam_from_cross 1000 Number of messages counting cross posts from any single user per hour
spam_from_total 5000 Number of users to keep tabs on in our history of duplicate users, uses about 100 bytes per user.
spam_host false Use 'nntp-posting-host' instead of 'from' for the above 3 rules.

In addition to fiddling with all the above settings, you can create a file in the WORKAREA as defined by dnews.conf and add lines to the file, any message containing text matching the lines in the file will be rejected.

The idea is to use things that common spammers place in the body of their messages, this allows you to stop anyone who manages to get past the automatic mechanisms above.

e.g. c:\dnews\spool\filter.dat

sex
1-800-3333-4343
1-800-SEXYPHONE
www.sex.
Make money fast 

Here is a sample filter.dat file which has kindly been donated by one of our customers, this will stop about 98% of known spammers at the cost of killing about one in a thousand real news messages.

DNEWS uses a 'super' efficient mechanism to test matches in this file so that you can have several hundred lines in the file without performance sufferring, each line must be at least 3 characters long. The matching is not case sensitive and is only in the 'body' and 'subject' of the message.

4.4c

Fixed slow database leak which required a 'tellnews remove_lost' to periodically recover lost space.

Fixed crashing bug related to 'tellnews matchgroups' command

Fixed erroneous warning about access.conf giving world access to your server.

4.4a - 5th August 1997 - Major release of version 4.

Fixed bug that could 'occasionally' show 'no such article' when the item really did exist.

Fixed fault with dnewsmanager not working if the server is run on a port other than 119

4.3f

Fixed problem with dnews/cyclone/diablo, where messages containing nul characters caused the feed to stop. Also included are settings to prevent incoming feeds jaming up under any conditions.

4.3e

ADded dnews.conf setting nidxbf. The default is 6000, this must be big enough to handle all new items that arrive during a resort_index. Added some timeout code to fix feeds that block due to faulty messages.

4.3d

Made live_stream true the default.

Added code to fix unsynchronized live feeds.

Fixed problem with 'downloading' message not appearing if (cache_onxover true) is set.

Fixed newgroup command so it updates active.names correctly

If you use '$lookup$" and you have case sensitive passwords then you should add to dnews.conf auth_case true and you must change each line in access.conf to lower case unless you have dnews 4.3d or later.

4.3c

Fixed major bug in 4.3a (which could cause DNEWS to die)

4.3a July 14 1997

Allowed 'postonly' to work on a dmulti system.

Replaced command tellnews trimgroups [feednumber] with tellnews matchgroups [feednumber] which will add and remove groups to match the groups on the specified feed, this is intended for use with replicating servers to keep the active files synchronized.

Changed startup to automatically check for duplicate entries in active.dat (which was the cause of trimgroups occasionally deleting groups erroneously)

Fixed file handle leak introduced in version 4.2i, symtoms include tellnews status not responding.

Improved performance of live feeds

Added 'unblocking' code to live feeds to prevent problem items from blocking an outgoing feed.

Changed default live mode to non streamed for performance reasons.

Changed default live_nchan to 2.

Changed format of .feed files, the group:num field has been extended, it now includes: group:num:bucket_id:offset:len This allows direct database reads, but ONLY if the data is read before the next expire.

Added dnews.conf settings for NT/95 ras_number, ras_username, ras_password If these are set (in dnews.conf) then dnews will auto dial, fetch news and then hang up on its own.

Added tellnews command to detect when is a good time to 'hangup' a modem. tellnews isbusy, this command returns a different error status if DNEWS is fetching news still.

Fixed bugs in DMULTI relating to slaves not detecting the index switch

Fixed bugs in DMULTI related to 'recent' news not being visible

4.2t

Two extra settings in dnewsweb.ini:

	wrap_post 60
	wrap_text 60

wrap_post: wraps new posts, wrap_text: wraps the text in existing messages when they are displayed.

Added debug option for dnews.conf, debug_mem true

If set dnews will check all malloc'ed data every 20 seconds for over-writes and under-writes. (only used for debugging purposes, not intended for normal use)

Added default for suck_maxold to prevent news groups with big gaps from confusing the sucking logic.

Increased timeout on failed posts from a slave to a master dnews process from 30 seconds to 5 minutes.

Fixed possible bug in history indexes. Minor improvement to history indexes, and speeded up startup.

Speeded up a startup between a rebuild_index and an expire (which used to be very very slow)

4.2s

Fixed bug introduced in 4.2r :-)

4.2r

Memory handling changed to reduce usage, changes include:

4.2p

Corrected number of items shown in non cached groups

Minor changes for y2k problems with newnews/newgroups commands

Extended flexibility of acceptable dates.(Y2K issues)

Added dnews.conf setting reject_addhist true which if enabled, adds rejected items to the history database, this can reduce bandwidth wastage if you have more than one full feed coming in.

4.2o

Added tellnews command: tellnews killone group.name itemnumber This is like killitem, but does not remove crossposts.

Added dnews.conf settings: post_rec true (logs pertinent information about each post)

Fixed stip_auth

Improved checkgroups so it will deal with mis formatted messages better.

4.2n

Corrected posting mechanism on dmulti so that if it fails the user will be informed immediately.

Removed deletion of items that can't be accessed.

Updates file for 4.2m and older

Products Downloads Prices Support Company