<html>

<head>
<title>DNEWS: Feeding News Into Your Server</title>
<script LANGUAGE="JavaScript">
	<!--
	var base = "../img/";
	
	if (document.images) {
		act_prods = new Image(); act_prods.src = base + "prod_act.gif";
		act_down = new Image();	act_down.src = base + "down_act.gif";
		act_price = new Image(); act_price.src = base + "price_act.gif";
		act_supp = new Image(); act_supp.src = base + "supp_act.gif";
		act_comp = new Image(); act_comp.src = base + "comp_act.gif";

		psv_prods = new Image(); psv_prods.src = base + "prod_psv.gif";
		psv_down = new Image();	psv_down.src = base + "down_psv.gif";
		psv_price = new Image(); psv_price.src = base + "price_psv.gif";
		psv_supp = new Image(); psv_supp.src = base + "supp_psv.gif";
		psv_comp = new Image(); psv_comp.src = base + "comp_psv.gif";
	}
	
	function Active(Name) {
		if (document.images) {
			document[Name].src = eval("act_" + Name + ".src")
		}
	}
	
		function Passive(Name) {
		if (document.images) {
			document[Name].src = eval("psv_" + Name + ".src")
		}
	}
	//-->
	</script>
</head>
<a NAME="IDH_311"><a NAME="top">

<body BGCOLOR="#000033" TEXT="#FFFFFF" LINK="#FFFF00" VLINK="#FF8000" ALINK="#FFFFFF">
</a></a><a NAME="IDH_301">

<table CELLPADDING="0" CELLSPACING="0" BORDER="0" WIDTH="500">
  <tr>
    <td COLSPAN="5" BGCOLOR="#000000"><img SRC="../img/masthead.gif" WIDTH="340" HEIGHT="46"
    BORDER="0" ALT="NetWin"><img SRC="../img/prod_h.gif" WIDTH="160" HEIGHT="46" BORDER="0"
    ALT="{ Products }"></td>
  </tr>
  <tr>
    <td BGCOLOR="#CCCCCC"></a><a HREF="../index.html"><img NAME="prod"
    SRC="../img/prod_on.gif" WIDTH="100" HEIGHT="19" BORDER="0" ALT="{ Products }"></a></td>
    <td BGCOLOR="#9999CC"><a HREF="download.htm" onMouseOver="Active('down')"
    onMouseOut="Passive('down')"><img NAME="down" SRC="../img/down_psv.gif" WIDTH="100"
    HEIGHT="19" BORDER="0" ALT="{ Downloads }"></a></td>
    <td BGCOLOR="#9999CC"><a HREF="../prices.htm" onMouseOver="Active('price')"
    onMouseOut="Passive('price')"><img NAME="price" SRC="../img/price_psv.gif" WIDTH="100"
    HEIGHT="19" BORDER="0" ALT="{ Prices }"></a></td>
    <td BGCOLOR="#9999CC"><a HREF="../support.htm" onMouseOver="Active('supp')"
    onMouseOut="Passive('supp')"><img NAME="supp" SRC="../img/supp_psv.gif" WIDTH="100"
    HEIGHT="19" BORDER="0" ALT="{ Support }"></a></td>
    <td BGCOLOR="#9999CC"><a HREF="../company.htm" onMouseOver="Active('comp')"
    onMouseOut="Passive('comp')"><img NAME="comp" SRC="../img/comp_psv.gif" WIDTH="101"
    HEIGHT="19" BORDER="0" ALT="{ Company }"></a></td>
  </tr>
</table>
<!--remove_end-->
<font FACE="Verdana, Arial" SIZE="-1"><font SIZE="5" COLOR="#FFFF00">

<p>Feeding News Into Your Server</font> </p>

<p>This section describes the settings necessary to get news on to the dnews server in the
simplest way possible - from a single provider using either of the two main methods used
to transfer news items. </p>

<p>&nbsp; 

<ul>
  <li></font><font size="3"><a HREF="man3.htm#1">Setting up a basic sucking feed</a></font></li>
  <li><font size="3"><a HREF="man3.htm#2">Setting up a basic IHAVE (traditional) news feed</a></font></li>
  <li><font size="3"><a HREF="man3.htm#3">Getting an ACTIVE file for your server</a></font></li>
  <li><font size="3"><a HREF="man3.htm#4">Setting up an incoming UUCP (or Satellite) feed</a></font></li>
  <li><font size="3"><a HREF="man3.htm#5">Adding a sucking feed</a></font></li>
  <li><a HREF="man3.htm#6"><font size="3">Adding a sucking feed for the same groups from two
    servers</font></a></li>
  <li><a HREF="man3.htm#Header_sucking"><font size="3">Header Sucking</font></a></li>
  <li><font size="3"><a HREF="man3.htm#7">Adding an IHAVE feed</a></font></li>
  <li><font size="3"><a HREF="man3.htm#8">Spam protection</a></font></li>
  <li><font size="3"><a HREF="man3.htm#9">Example of a full feed from UUNET</a></font></li>
  <li><font size="3"><a HREF="man3.htm#10">Help! I'm not getting any news</a></font></li>
  <li><font size="3"><a HREF="man3.htm#11">Help! I'm not getting any news in alt.binaries.xxx</a></font></li>
  <li><a HREF="man3.htm#12"><font size="3">Help! I'm not getting any news in x.y.z</font></a></li>
  <li><a HREF="man3.htm#14"><font size="3">Help! Newsgroup x.y.z isn't up to date</font></a></li>
  <li><a HREF="man3.htm#13"><font size="3">Help! I'm not getting any news from MCI for the
    last few days </font></a></li>
  <li><a href="#parts"><font size="3">Help! I've got missing parts to my binary items</font></a></li>
  <li><font size="3"><a HREF="http://netwinsite.com/feeds.htm">Where can I get a News Feed?</a></font><font
    FACE="Verdana, Arial" SIZE="-1"></li>
</ul>

<p><b>Where can I get a News Feed?</b> </p>
<a HREF="http://netwinsite.com/feeds.htm">

<p>Click on this reference for suggestions</a> </p>

<p><a NAME="1"><b>Setting up a basic sucking feed</b></a> </p>

<p>This is the default configuration and DNEWS comes setup to do this straight out of the
box. </p>

<p>In dnews.conf set the nntp_feeder to the site that you are going to suck from, set the
myname variable to the name of the machine that you are running dnews on.&nbsp; Also
specify when the sucking feed should be updated with the update_at setting.<i><br>
</i>e.g. </p>

<p><i>nntp_feeder pull-feed-out.internetmci.com *<br>
update_at 20,40 *<br>
myname news.mydomain.com<br>
<br>
</i>Then tell dnews to get any new groups from the sucking feed.<i><br>
<br>
</i><em>tellnews getgroups 1</em></p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a> </p>

<p><a NAME="2"><b>Setting up a basic IHAVE (traditional) news feed</b></a> </p>

<p>In access.conf, give your feed site access to send you ihave messages, sometimes you
will have to give several names or a wild card to allow all the news servers that may send
you items. Also, it is wise to add the ip numbers if possible then you can turn reverse
DNS translation off if necessary. </p>

<p><i>news*.mci.com:ihave:::* <br>
223.232.11.*:ihave:::*</i> </p>

<p>In dnews.conf, comment out the nntp_feeder definition and add a line: </p>

<p><i># nntp_feeder ... <br>
cachedall true</i> </p>

<p>In newsfeeds.conf, replace </p>

<p><i>site $NNTP_FEEDER <br>
&nbsp;&nbsp;&nbsp;groups * <br>
&nbsp;&nbsp;&nbsp;builtin <br>
&nbsp;&nbsp;&nbsp;posting</i> </p>

<p>With </p>

<p><i>site my.feeder.site <br>
&nbsp;&nbsp;&nbsp;groups * <br>
&nbsp;&nbsp;&nbsp;builtin</i> </p>

<p>And correct the ME feed, the default one does not allow any binary groups in, if you
really want a full feed fix this by removing the !*binary* </p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a> </p>

<p><a NAME="3"><b>For an IHAVE feed you must get an active file</b></a> </p>

<p>You MUST get a copy of the active.dat file from your provider. The file is simply
called the 'active' file on INN or CNEWS. You need to FTP the file and copy it to the
workarea directory defined in the dnews.conf file and rename it as active.add (Not
active.dat). We do not supply an active file with the installation kit because the list of
valid news groups is different in every country in the world. The full list is a
combination of world wide groups and local groups. So you should get an active file from
your own provider if at all possible. If they will not give you one, then there is a
reasonable one on our ftp site that you can use. </p>

<p>If you have a Sucking feed then DO NOT do this, DNEWS will fetch the list of groups
itself. </p>

<p><i>ftp&gt; ascii <br>
ftp&gt; cd /usr/local/news <br>
ftp&gt; get active <br>
ftp&gt; quit <br>
(NT) &gt; copy active c:\dnews\spool\active.add <br>
(NT) &gt; net start dnewssvc <br>
&gt; tellnews group_merge</i> </p>

<p>There is a copy of this file on our ftp site that is always kept up to date with the
'standard' news groups so you may want to use it. </p>

<pre>
ftp ftp.netwinsite.com
Username: anonymous
Password: your@email.address
ftp&gt; cd pub/dnews
ftp&gt; ascii
ftp&gt; get active active.add
ftp&gt; quit
copy active.add \dnews\work
tellnews group_merge
</pre>

<p>You can use the same procedure again at any time in the future to add newsgroups to
your server. NEVER edit the active.dat file by hand and if you do edit it (I told you not
to) then do it while dnews is stopped or the changes will be ignored. The active.dat file
contains 'group id's which are allocated to each new news group, if you mess these up then
the items will be unreadable. </p>

<p><b>Downstream sites modifying their own entry in newsfeeds.conf</b> </p>

<p>If you have customers who are getting a full or partial 'ihave' news feed from your
dnews server they may wish to use gupcgi which is a web utility to allow them to
administer the list of groups sent to your server. Please follow this link for more
information. </p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a> </p>

<p><a NAME="4"><b>Sucking in UUCP or Satellite articles</b></a> </p>

<p>DNEWS can read UUCP bag files in standard rnews format, these are often used by
satellite systems. To read these files just specify in dnews.conf the directory and file
names that dnews should scan. e.g. in dnews.conf </p>

<p><i>suck_uucp d:\dnews\uucp\*.bag</i> </p>

<p>The rnews file format is a collection of articles in a single file, each one starts </p>

<p><i>#! rnews nnn <br>
(News article 1) <br>
#! rnews nnn <br>
(News article 2)</i> </p>

<p>Where 'nnn' is the length of each news article in bytes, counting one character for
each end of line. In general the file should be in 'unix' format, that is there should be
no 'cr' characters, each line should end in a line feed character. </p>

<p>If you are using 'real' uucp and need to compress the batches and send them etc then
you will find the two utilities in this tar file useful it includes the shell scripts to
compress the batches and send them and to take incoming batches and store them in the
correct directory for dnews to process. </p>

<p><a HREF="ftp://ftp.netwinsite.com/pub/netwinsite/dnews/uucp.tar.gz">ftp://ftp.netwinsite.com/pub/netwinsite/dnews/uucp.tar.gz</a>
</p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a> </p>

<p><a NAME="5"><b>Adding a sucking feed for a subset of groups</b></a> </p>

<p>To add a sucking feed there are two legs to consider, sucking the articles in, and
sending the articles out. Here is an example of sucking some local groups bank.* from a
second server news2.bank.com, and sending any posts back to that server: </p>

<p>In dnews.conf </p>

<p><i>nntp_feeder main.upstream.site *,!bank.* <br>
nntp_suck2 news2.bank.com bank.* <br>
update_at2 20 *</i> </p>

<p>In newsfeeds.conf </p>

<p><i>site me <br>
&nbsp;&nbsp;&nbsp;groups * <br>
site main.upstream.site <br>
&nbsp;&nbsp;&nbsp;type builtin <br>
&nbsp;&nbsp;&nbsp;groups *,!bank.* <br>
&nbsp;&nbsp;&nbsp;posting <br>
site news2.bank.com <br>
&nbsp;&nbsp;&nbsp;type builtin <br>
&nbsp;&nbsp;&nbsp;groups !*,bank.* <br>
&nbsp;&nbsp;&nbsp;posting</i></p>

<p>Then issue this command to fetch the news group names from the new site.</p>

<p>&nbsp;&nbsp;&nbsp; tellnews getgroups 2 </p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a> </p>

<p><a NAME="IDH_307"></a><a NAME="6"><b>Adding a sucking feed for all groups</b></a> </p>

<p>Some people want to suck news from two different providers, this will 'fill in the
gaps' if items are missing from one of the servers. Here is an example of sucking all the
groups from two servers. We don't strongly recommend this option but it will work if you
really want to do it. </p>

<p>In dnews.conf </p>

<p><i>nntp_suck2 news-out.byke.com * <br>
update_at2 20 *</i> </p>

<p>In newsfeeds.conf </p>

<p>site me <br>
&nbsp;&nbsp;&nbsp;groups * <br>
site main.upstream.site <br>
&nbsp;&nbsp;&nbsp;type builtin <br>
&nbsp;&nbsp;&nbsp;groups * <br>
&nbsp;&nbsp;&nbsp;exclude second.upstream.site </p>

<p>There's no need to send back to the second site, the items will arrive there via the
usual news distribution. </p>

<p>Sucking from suck.news.com and taking a feed from ihave.news.com </p>

<p>In dnews.conf </p>

<p><i>nntp_feeder suck.news.com rec.*,news.*</i> (or whatever groups you want to suck) <br>
<i>cachedall false</i> (If you want to suck all groups available on the sucking site, then
you could set this to TRUE, it's optional, false is probably best to start with if you are
not sure) </p>

<p>in newsfeeds.conf </p>

<p><i>... <br>
site $nntp_feeder <br>
groups rec.*,news.* <br>
&nbsp;&nbsp;&nbsp;builtin <br>
&nbsp;&nbsp;&nbsp;exclude ihave.news.com <br>
site ihave.news.com <br>
&nbsp;&nbsp;&nbsp;groups * <br>
&nbsp;&nbsp;&nbsp;builtin <br>
&nbsp;&nbsp;&nbsp;exclude suck.news.com</i> </p>

<p>in access.conf </p>

<p><i>ihave.news.com:Ihave:::*</i> </p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a> </p>

<p><a NAME="Header_sucking"><b>Header Sucking</b></a></p>

<p>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.&nbsp; </p>

<p>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.</p>

<p>To implement this for *binaries* you would do this: 

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

<p>Now try reading one of the specified groups.</p>

<p><strong>Note:</strong> header sucking does not currently work for <strong>dmulti
systems</strong>, 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.</p>

<p>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.&nbsp; Also when turning header caching on and off, you have to use the
expire_groups.</p>

<p>Related new settings:</p>

<table border="0" cellspacing="8" width="500" bgcolor="#008080">
  <tr>
    <th width="81">Setting</th>
    <th width="117">Example</th>
    <th width="272">Description</th>
  </tr>
  <tr>
    <td width="81">header_groups</td>
    <td width="117">*binaries*,*warez*</td>
    <td width="272">Groups which dnews should suck only headers for.</td>
  </tr>
  <tr>
    <td width="81">header_chan_n</td>
    <td width="117">3</td>
    <td width="272">Number of simultaneous channels to use when fetching bodies, if set too
    small then long delays will occur when a user reads a group.</td>
  </tr>
  <tr>
    <td width="81">header_body_mb</td>
    <td width="117">100</td>
    <td width="272">How much space dnews can use to cache bodies of header only items.</td>
  </tr>
  <tr>
    <td width="81">header_path</td>
    <td width="117">d:/dnews/header</td>
    <td width="272">Directory to store cached bodies, defaults to (workarea)</td>
  </tr>
  <tr>
    <td width="81">header_host</td>
    <td width="117">2</td>
    <td width="272">Site to fetch bodies from, nntp_feeder is used by default, use 2 for
    nntp_suck2 etc...</td>
  </tr>
  <tr>
    <td width="81">header_prefetch</td>
    <td width="117">20</td>
    <td width="272">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.</td>
  </tr>
  <tr>
    <td width="81">header_timeout</td>
    <td width="117">30</td>
    <td width="272">How long to try and talk to the upstream site before admitting to the user
    that item 'xxx' cannot be fetched.</td>
  </tr>
</table>

<p>&nbsp;</p>

<p>Use the command&nbsp; <strong>tellnews status_hcache </strong>to determine how well the
cache is working.</p>

<p>Example Output and explanation:</p>

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

<table border="0" cellspacing="8" width="500" bgcolor="#008080">
  <tr>
    <td>&nbsp;&nbsp;&nbsp; 23/10&nbsp;&nbsp;&nbsp; 23 items read from cache, 10 items fetched
    from upstream<p>&nbsp;&nbsp;&nbsp; 5000k/2340k&nbsp; 5000K read from cache, 2340k Read
    from upstream</p>
    <p>&nbsp;&nbsp;&nbsp; 10/4000 10 of the 4000 cache entries are currently used</p>
    <p>&nbsp;&nbsp;&nbsp; 3MB/20MB 3MB of the cache files are strored, of 20mb permitted.</td>
  </tr>
</table>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a> </p>

<p><a NAME="7"><b>Adding an IHAVE feed</b></a> </p>

<p>Adding an incoming IHAVE feed is very easy, you simply add to the access.conf file an
entry to let that server send you items. </p>

<p><i>second.sending.site:ihave:::*</i> </p>

<p>The only thing you need to consider is if you wish to route items from this server to
your other providers, if you don't want to route these items then you must set your
exclude parameters carefully so that no messages are routed between the sites e.g. </p>

<p><i>site main.upstream.site <br>
&nbsp;&nbsp;&nbsp;type builtin <br>
&nbsp;&nbsp;&nbsp;groups * <br>
&nbsp;&nbsp;&nbsp;exclude second.sending.site <br>
site second.sending.site <br>
&nbsp;&nbsp;&nbsp;type builtin <br>
&nbsp;&nbsp;&nbsp;groups * <br>
&nbsp;&nbsp;&nbsp;exclude main.upstream.site</i> </p>

<p>If you do wish to route news between these two servers then you should be using live
links to handle the volume, e.g. </p>

<p><i>site main.upstream.site <br>
&nbsp;&nbsp;&nbsp;type live <br>
&nbsp;&nbsp;&nbsp;groups * </p>

<p>site second.sending.site <br>
&nbsp;&nbsp;&nbsp;type live <br>
&nbsp;&nbsp;&nbsp;groups *</i> </p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a> </p>

<p><a NAME="8"><b>Spam protection</b></a> </p>

<p>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. (these settings go in dnews.conf) </p>

<table CELLPADDING="0" CELLSPACING="0" BORDER="1">
  <tr>
    <th VALIGN="top" BGCOLOR="#666666">Setting</th>
    <th VALIGN="top" BGCOLOR="#666666">Default</th>
    <th VALIGN="top" BGCOLOR="#666666">Description</th>
  </tr>
  <tr>
    <td VALIGN="top" BGCOLOR="#FF8000">spam_stop</td>
    <td VALIGN="top" BGCOLOR="#FF8000">false</td>
    <td VALIGN="top" BGCOLOR="#FF8000">Enables spam protection</td>
  </tr>
  <tr>
    <td VALIGN="top" BGCOLOR="#FF8000">spam_test</td>
    <td VALIGN="top" BGCOLOR="#FF8000">false</td>
    <td VALIGN="top" BGCOLOR="#FF8000">Stops the spam rules from rejecting items, just logs
    what it would do. You still need spam_stop true set</td>
  </tr>
  <tr>
    <td VALIGN="top" BGCOLOR="#FF8000">spam_debug</td>
    <td VALIGN="top" BGCOLOR="#FF8000">false</td>
    <td VALIGN="top" BGCOLOR="#FF8000">Makes the rejectiosn 'noisey' normally the user will
    not be informed if the post is rejected dnews pretends it accepted the item. But while
    debugging your spam rules you might want to set this to true so you can check it is
    working.</td>
  </tr>
  <tr>
    <td VALIGN="top" BGCOLOR="#FF8000">spam_keepn</td>
    <td VALIGN="top" BGCOLOR="#FF8000">5</td>
    <td VALIGN="top" BGCOLOR="#FF8000">Number of rejected items to store in spam_n.tmp files
    (for reviewing)</td>
  </tr>
  <tr>
    <td VALIGN="top" BGCOLOR="#FF8000">spam_dup_total</td>
    <td VALIGN="top" BGCOLOR="#FF8000">5000</td>
    <td VALIGN="top" BGCOLOR="#FF8000">Number of items to 'remember' in our history of
    'duplicate' bodies. Uses about 30 bytes per entry.</td>
  </tr>
  <tr>
    <td VALIGN="top" BGCOLOR="#FF8000">spam_dup_hits</td>
    <td VALIGN="top" BGCOLOR="#FF8000">6</td>
    <td VALIGN="top" BGCOLOR="#FF8000">Number of duplicate bodies (not cross posted) to allow</td>
  </tr>
  <tr>
    <td VALIGN="top" BGCOLOR="#FF8000">spam_dup_cross</td>
    <td VALIGN="top" BGCOLOR="#FF8000">400</td>
    <td VALIGN="top" BGCOLOR="#FF8000">Number of duplicate bodies counting cross posts to
    allow</td>
  </tr>
  <tr>
    <td VALIGN="top" BGCOLOR="#FF8000">spam_from_hits</td>
    <td VALIGN="top" BGCOLOR="#FF8000">60</td>
    <td VALIGN="top" BGCOLOR="#FF8000">Number of messages from any single user per hour</td>
  </tr>
  <tr>
    <td VALIGN="top" BGCOLOR="#FF8000">spam_from_cross</td>
    <td VALIGN="top" BGCOLOR="#FF8000">1000</td>
    <td VALIGN="top" BGCOLOR="#FF8000">Number of messages counting cross posts from any single
    user per hour</td>
  </tr>
  <tr>
    <td VALIGN="top" BGCOLOR="#FF8000">spam_from_total</td>
    <td VALIGN="top" BGCOLOR="#FF8000">5000</td>
    <td VALIGN="top" BGCOLOR="#FF8000">Number of users to keep tabs on in our history of
    duplicate users, uses about 100 bytes per user.</td>
  </tr>
  <tr>
    <td VALIGN="top" BGCOLOR="#FF8000">spam_host</td>
    <td VALIGN="top" BGCOLOR="#FF8000">false</td>
    <td VALIGN="top" BGCOLOR="#FF8000">Use 'nntp-posting-host' instead of 'from' for the above
    3 rules</td>
  </tr>
</table>

<p>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. </p>

<p>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. </p>

<p>e.g. c:\dnews\spool\filter.dat </p>

<p><i>sex <br>
1-800-3333-4343 <br>
1-800-SEXYPHONE <br>
www.sex. <br>
Make money fast</i> </p>

<p>Here is a sample <a href="ftp://ftp.netwinsite.com/pub/netwinsite/dnews/filter.dat">filter.dat</a>
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. This is
a fairly 'strong' filter, you may want to go thru it and remove some of the more 'general'
phrases, but if you really hate spam then you might use it as is.&nbsp; Here is a <a
href="ftp://ftp.netwinsite.com/pub/netwinsite/dnews/filter_most.dat">trimmed version</a>
which is not quite so strong. </p>

<p>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. </p>

<p>To prevent wild cross posting use this setting on your 'me' feed in newsfeeds.conf. </p>

<p><i>site me <br>
&nbsp;&nbsp;&nbsp;groups * <br>
&nbsp;&nbsp;&nbsp;maxcross 10</i> </p>

<p>You can also use the 'accept/reject' rules to reject 'known spammers', click here for
details. </p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a> </p>

<p><a NAME="9"><b>Example of full feed from UUNET</b></a> </p>

<p><i>-------dnews.conf--------- <br>
# nntp_feeder your.feeder.ohio.edu <br>
cachedall true <br>
------newsfeeds.conf cut here ---------- <br>
site me <br>
&nbsp;&nbsp;&nbsp;groups * <br>
site nntp-in.uu.net <br>
&nbsp;&nbsp;&nbsp;type builtin <br>
&nbsp;&nbsp;&nbsp;groups *,!local.* <br>
&nbsp;&nbsp;&nbsp;exclude uunet <br>
site YOUR.MAIL.GATEWAY <br>
&nbsp;&nbsp;&nbsp;smtp <br>
----access.conf cut here and change your domain and ip numbers ---- <br>
# Don't let the world connect :-) <br>
*:logoff:::* <br>
# Do let your domain and ip range connect **** CHANGE THIS BIT *** <br>
*.your.domain:Read,Post:::* <br>
161.232.32.*:read,post:::* <br>
# Do let your news feed from UUNET send you items <br>
nntp-out1.uu.net:ihave:::*<br>
nntp-out2.uu.net:ihave:::*<br>
nntp-out3.uu.net:ihave:::*<br>
nntp-out4.uu.net:ihave:::*<br>
nntp-out5.uu.net:ihave:::*<br>
nntp-out6.uu.net:ihave:::*<br>
nntp-out7.uu.net:ihave:::*<br>
nntp-out8.uu.net:ihave:::*<br>
nntp-out9.uu.net:ihave:::*<br>
nntp-out10.uu.net:ihave:::*<br>
nntp-out11.uu.net:ihave:::*<br>
nntp-out12.uu.net:ihave:::*<br>
nntp-out13.uu.net:ihave:::*<br>
nntp-out14.uu.net:ihave:::*<br>
nntp-out15.uu.net:ihave:::*</i></p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a> </p>

<p><a NAME="10"><b>Help! I'm not getting any news</b></a> </p>

<p>There are several things that can be wrong, here are check lists for IHAVE and SUCKING
feeds, go through the appropriate check list to fix your feed.&nbsp;&nbsp; (Info on
sucking feeds is a few pages further down)</p>

<p><b>IHAVE feeds only</b> </p>

<p>Q: Is the group incorrectly set as 'moderated'</p>

<pre>	telnet your.news.server 119
	list active problem.group.name
	problem.group.name 14306 13982 m</pre>

<p>The 'm' at the end means it's moderated, so if you see that then fetch this file <a
href="ftp://ftp.netwinsite.com/pub/netwinsite/dnews/fixmoderators.sh">ftp://ftp.netwinsite.com/pub/netwinsite/dnews/fixmoderators.sh</a>
and run it, this file corrects most of the commonly incorrect groups, however it may add
groups you don't want, so first scan the file by hand to see if it contains heirachies you
don't carry.&nbsp; This script will work on NT or Unix, it may take some time to run :-)
&nbsp; </p>

<p>You should also modify your CONTROL.CONF file to prevent impersonators from causing
this problem again, to do this modify all the 'doit' rules to 'log' or install PGP to
check the validity of control messages, see <a href="http://netwinsite.com/dnews/pgp.htm">http://netwinsite.com/dnews/pgp.htm</a>
for details.</p>

<p>Q: Is someone sending you a feed? <br>
A: You must get someone to send a news feed to you, click here for more information. </p>

<p>Q:Is the feed being rejected due to a problem with access.conf? <br>
A:Search your dnews.log file for 'Refusing' or 'Transfer' , if you find this then it is
likely that either you have not put the correct IP address in access.conf or you have used
a name but disabled reverse dns checking so dnews cannot lookup the name. Or if you find
'Transfer' then you haven't given IHAVE access to that host in access.conf, (post access
is not enough). </p>

<p>Also DNEWS may find the 'real' name of an ip address is not the same as the name your
provider told you, you can always use the name listed in the 'Refusing' error message to
correct your access.conf file, e.g. if you find </p>

<p><i>Refusing connection from {news3.sprint.net}, ...</i> </p>

<p>Then you would add to the END of your access.conf </p>

<p>news*.sprint.net:ihave:::* </p>

<p>Remember access.conf is sensitive to the order of the lines, the LAST matching rule is
applied. </p>

<p>Q: Do you have an active.dat file? </p>

<p>A: An active.dat file is the list of newsgroups, with a full news feed this is between
20,000 and 40,000 groups. </p>

<p>With an IHAVE feed dnews cannot get an active.dat file automatically, it must be FTP'd
by hand and placed in the work directory. Look in dnews.log for the following line about 1
page down from the start. </p>

<p><i>init: Server initialized and running, 25748 groups</i> </p>

<p>If it reads '0 groups' then you need to ftp an active file from your feed provider,
copy it to c:\dnews\spool\active.add or wherever your 'workarea' directory is, this is
defined in your dnews.conf by the 'workarea' symbol. It is essential that you copy the
file to active.add and NOT active.dat, never never never over write or mess with the
active.dat file directly, it's part of the database :-) </p>

<p><i>copy feeders_active_file c:\dnews\spool\active.add <br>
tellnews group_merge</i> </p>

<p>Q: Is your ME feed stopping the items from coming in? </p>

<p>A: In newsfeeds.conf there is a special feed at the top, it is your 'me' feed, which is
actually used for controlling what you news server will accept. This may seem confusing
but all the rules that can be used to 'send out' a news feed are just as useful to control
what is accepted on your machine. </p>

<p>The 'me' feed MUST be the first feed in the file. Here is an example that will work: </p>

<p><i>site me <br>
&nbsp;&nbsp;&nbsp;groups *</i> </p>

<p>If you specify a list, then make sure you don't have spaces between the items as this
will not work, e.g. rec.*,comp.* will work but rec.*, comp.* will not. </p>

<p>However, we recommend that you control your incoming groups to limit them just to those
that are relevant and meaningful, here is a list that will allow most of the standard news
trees and block out some of the rubbish and foreign groups. </p>

<p>site me <br>
&nbsp;&nbsp;&nbsp;groups rec.*,alt.*,news.*,comp.*,biz.*,misc.*,sci.*,soc.*,talk.* </p>

<p>Some ISP's brag about having 30,000 or 40,000 news groups. If you want to provide your
customers with a good service then a smaller list is much better, having a huge list of
inane or local newsgroups does not make reading news easier for your customers. </p>

<p><b>SUCKING feeds only</b> </p>

<p>Q: Do you have any newsgroups defined? </p>

<p>A: Normally with a sucking feed dnews will fetch the list of newsgroups automatically,
however if you had something setup wrong initially and have since fixed it you may need to
use the command: </p>

<p><i>tellnews getgroups</i> </p>

<p>You can check that dnews has got the groups by using the command: </p>

<p><i>tellnews status <br>
... <br>
Groups Xover n nMB, cached nn of nnnnnn, GID ....</i> </p>

<p>If nnnnnn is zero then you try the getgroups command, if it doesn't help look in
dnews.log to see what went wrong. </p>

<p>Q: Is the connection to nntp_feeder working? <br>
A: This is the most likely problem. If you have zero groups as described above and
getgroups doesn't fix it then DNEWS cannot talk to your upstream site. Even if you do have
groups dnews may not be able to talk any more. So look in dnews.log for an obvious error,
e.g.: </p>

<p><i>tellnews update_clear <br>
tellnews cached rec.humor 1 <br>
tellnews updateone rec.humor</i> </p>

<p>Then look in dnews.log, here are some common errors you might see: </p>

<p><i>suck: BAD status code returned {you have no permission to talk}</i> </p>

<p>This means your ISP has not given you 'news reader' access, call your ISP. </p>

<p><i>suck: Open channel 0 to {news.upstream.com} <br>
nntp: Channel closed or didn't open [0] 13 {news.upstream.com} <br>
suck: Drat channel closed or failed to open properly...</i> </p>

<p>The three lines above, mean that the connection could not be opened, this implies that
either the address 'news.upstream.com' is not valid, or their news server is not running
at the moment or your internet link is not working at the moment. </p>

<p>You should test the TCPIP link to your upstream site using telnet, it should respond as
follows, be sure to specify port 119 in the connection dialogue on NT: </p>

<p><i>telnet news.upstream.com 119 <br>
200 news.upstream.com DNEWS Version 4.3c, S0, posting OK</i> </p>

<p>It should respond as above, if it closes the connection, or doesn't even open the
connection then you need to fix before dnews will work. </p>

<p>Q: Is your ME feed stopping the items from coming in? </p>

<p>A: Do the items exist on your upstream site? Configure a news reader to read directly
from your upstream site, and compare a problem news group, if they more or less match then
dnews is working and the problem is on your upstream server. If dnews is missing articles,
then try this incantation: </p>

<p><i>tellnews getold &quot;*&quot; 300 </p>

<p>tellnews update</i> </p>

<p>And in dnews.conf add this line: </p>

<p><i>suck_maxold 1900</i> </p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a> </p>

<p><a NAME="11"><b>Help! I'm not getting any news in alt.binaries.xxx</b></a> </p>

<p>Check your 'me' feed in the file 'newsfeeds.conf' this must be the first site defined
in the file, by default this feed contains &quot;*,!*binaries*&quot; which will partly
block binary news groups you should remove this so the line reads, &quot;groups *&quot;
and then use these commands: </p>

<p><i>tellnews undelete &quot;*&quot; <br>
tellnews matchfeed <br>
tellnews getgroups <br>
tellnews update</i> </p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a> </p>

<p><a NAME="12"><b>Help! I'm not getting any news in x.y.z</b></a> </p>

<p>Check dnews.in for rejection messages, and examine your 'me' feed in 'newsfeeds.conf'
as described above. With an IHAVE feed the most likely cause for this problem is that the
upstream site is not sending messages for that group. Talk with your ISP to confirm if
they are sending that group to you. </p>

<p>Another common reason is that the group has been renamed to x.y.q.z and your users
aren't aware of the move (or the new group hasn't been created for some reason) </p>

<p align="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a></p>

<p><a NAME="14"><b>Help! Newsgroup x.y.z isn't up to date</b></a> </p>

<p>First check to see if it is cached using tellnews showcached.<br>
<br>
D:\&gt;tellnews showcached problem.group<br>
200 port DNEWS Version 5.1a-beta6, S0, posting OK<br>
483 Temporary license expires after Feb-2000<br>
483 Please read LICENSE.TXT for registration information<br>
problem.group start 3 end 2, upto on feed 0, days 0<br>
483 Temporary license expires after Feb-2000<br>
281 Completed<br>
205 closing connection - goodbye!<br>
<br>
If it isn't cached then reading an item from the problem.group should set it to cached. If
this not happening then in dnews.conf set...<br>
cache_onxover true<br>
...and that should get it working.&nbsp; You could also set...<br>
cache_ongroup true<br>
... but this is not recommended because it can often be triggered when a group isn't even
read.<br>
You can manually cache the group using the following command<br>
tellnews cached problem.group 10<br>
This will set the group cached for a period of 10 days.<br>
<br>
If it is cached (as the results above indicate) then try the following command<br>
tellnews getold &quot;problem.group&quot; 20000<br>
tellnews updateone problem.group<br>
<br>
Also check dnews.in for any rejection messages which may explain the missing articles.<br>
If it still fails, then do this:<br>
<br>
tellnews debug suck:chan_read:chan_write:<br>
tellnews loglvl debug<br>
tellnews cached &quot;problem.group&quot; 2<br>
tellnews getold &quot;problem.group&quot; 20000<br>
tellnews updateone problem.group<br>
<br>
Then check the resulting dnews.log and send it to <a href="mailto:support@netwinsite.com">support@netwinsite.com</a>
if you require further help identifying the problem.</p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a>&nbsp; </p>

<p><a NAME="13"><b>Help I'm not getting any news from MCI</b></a> </p>

<p>Recently MCI installed a new news server, which responds slightly differently to most
servers, this confuses DNEWS's sucking mechanism due to a bug in DNEWS. The quick fix is
to add this to dnews.conf </p>

<p><i>suck_stream true</i> </p>

<p>Or upgrade to DNEWS 4.6g which should also solve the problem (4.6g will only be
available at the end of April 98) </p>

<p ALIGN="right"><a HREF="man3.htm#top"><img SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT
BORDER="0" HSPACE="10"></a></font></p>
<font FACE="Verdana, Arial" SIZE="-1">

<p></font><a name="parts"><strong><font size="3">Help!, I've got missing parts to my
binary items</font></strong></a><font FACE="Verdana, Arial" SIZE="-1"></p>

<p>If you are experiencing this problem do the following, 

<ol>
  <li>Upgrade to 5.2 if it's available/released for your system (it may be a beta so only do
    this if you are happy with a beta)</li>
  <li>If your feed is coming from a system running a 'live' dnews feed then ask them to change
    it to a 'dfeed' feed</li>
  <li>Ask your feed site to send to port 7500 if you are running dmulti, this <strong>isn't</strong>
    necessary if you are running dnews 5.2/NT version but is a good idea for all other
    versions and operating systems.&nbsp; </li>
  <li>check the load on your master system using tellnews -s0 stats, if it's over 80% busy
    then you probably still have a configuration issue, netwin support will help you to
    resolve/identify the problem.&nbsp; </li>
  <li>There is a utility available for testing the speed your system will take news, you may
    want to use this to track down a problem with a network interface.&nbsp; This is described
    below</li>
  <li>If you can't resolve the problem contact netwin support and send the stats figures, they
    will help you establish where the problem is.</li>
</ol>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a
href="ftp://ftp.netwinsite.com/pub/netwinsite/dnews/feedtest">ftp://ftp.netwinsite.com/pub/netwinsite/dnews/feedtest</a></p>

<p>You can use this utility with a command like this:</p>

<p>&nbsp;&nbsp; tellnews newgroup test.feedtest y <br>
&nbsp;&nbsp; In dnews.conf increase 'too_old' to 100, temporarily<br>
&nbsp;&nbsp; tellnews reload<br>
&nbsp;&nbsp; ./feedtest -group test.feedtest -to site.name:port -size 10000 -items 100</p>

<p>It will print out figures showing the speed it could send news into your system, by
testing your server on the server itself and then again on another server in the same LAN
and again outside your LAN on the WAN you can establish if the server or your network or
the wide area network is the problem.</p>

<p><strong>WARNING: Always be careful to send this test feed to a local&nbsp; TEST news
group like test.feedtest !!!!.</strong></p>

<p ALIGN="right"></font>&nbsp;</p>

<p ALIGN="right"><font FACE="Verdana, Arial" SIZE="-1"><a HREF="man3.htm#top"><img
SRC="btt.gif" WIDTH="89" HEIGHT="15" ALT BORDER="0" HSPACE="10"></a> </font><!--remove_end--> </p>

<p ALIGN="right"><font FACE="Verdana, Arial" SIZE="-1">&nbsp;</font><!--remove_end--> </p>

<table CELLPADDING="0" CELLSPACING="0" BORDER="0" WIDTH="500">
  <tr>
    <th BGCOLOR="#000000"><a HREF="../index.html"><font FACE="Verdana, Arial" SIZE="-1">Products</font></a></th>
    <th BGCOLOR="#000000"><a HREF="download.htm"><font FACE="Verdana, Arial" SIZE="-1">Downloads</font></a></th>
    <th BGCOLOR="#000000"><a HREF="../prices.htm"><font FACE="Verdana, Arial" SIZE="-1">Prices</font></a></th>
    <th BGCOLOR="#000000"><a HREF="../support.htm"><font FACE="Verdana, Arial" SIZE="-1">Support</font></a></th>
    <th BGCOLOR="#000000"><a HREF="../company.htm"><font FACE="Verdana, Arial" SIZE="-1">Company</font></a></th>
  </tr>
  <tr>
    <td><font FACE="Verdana, Arial" SIZE="-1"><img SRC="nada.gif" WIDTH="100" HEIGHT="1"
    BORDER="0" ALT></font></td>
    <td><font FACE="Verdana, Arial" SIZE="-1"><img SRC="nada.gif" WIDTH="100" HEIGHT="1"
    BORDER="0" ALT></font></td>
    <td><font FACE="Verdana, Arial" SIZE="-1"><img SRC="nada.gif" WIDTH="100" HEIGHT="1"
    BORDER="0" ALT></font></td>
    <td><font FACE="Verdana, Arial" SIZE="-1"><img SRC="nada.gif" WIDTH="100" HEIGHT="1"
    BORDER="0" ALT></font></td>
    <td><font FACE="Verdana, Arial" SIZE="-1"><img SRC="nada.gif" WIDTH="100" HEIGHT="1"
    BORDER="0" ALT></font></td>
  </tr>
  <tr>
    <td><table>
    </table>
    </td>
  </tr>
</table>
</body>
</html>
