You can FTP the latest copy of the files from our main ftp site, their are binaries for common platforms (Windows NT (intel & Alpha), Linux, Solaris, VAXVMS, ALPHAVMS.
ftp ftp.netwinsite.com cd pub/netwinsite/dnews binary get dnews26o.exe (Windows NT version 2.6o)
This is a self extracting archive, that means you just run dnews_nt.exe and it will extract itself , e.g.
dnews26o.exe (extracts the new files to \tmp) cd \tmp install.cmd (or newver.cmd if you already have dnews installed)
Use the following references to see our web pages and ftp area.
http://netwinsite.com/ ftp://ftp.netwinsite.com/pub/netwinsite/dnews
A sucking feed has several advantages, not all obvious.
This is the most obvious advantage, you may only end up getting a couple of hundred groups, possibly saving 80% of your disk space and 80% of your network bandwidth. A 64Kbps line isn't enough to take a full news feed, but with a sucking feed it is easily enough to give the 'impression' of a full news feed.
More items in 'read' groups: As disk space is saved, it becomes very easy to keep 1 or 2 weeks of news (or more) in the groups people actually want, most full feed systems can only store a few days of news in each group.
As items are fetched for one group at a time, most file IO is to a single open file, this is a lot more efficient that the standard news system of getting items in a 'random' order. This efficiency is more significant on operating systems with slower file systems, e.g. Windows NT and VMS.
DNEWS does not use the 'newnews' command which all news managers hate, it uses low impact commands to find the new messages and retrieve them without accessing the history database on the upstream server. As so much fewer articles are fetched the overall load is greatly reduced. The exact load depends on how many groups are being sucked.
On the upstream site, instead of setting up and managing a feed, something which is difficult to do and tends to require almost constant maintenance, all that is required is to give your system simple 'news reader' access.
Look in dnews.conf for the symbol LOG_DIR, this will tell you which directory to find them in, there are three files:
dnews.log The main log file dnews.in A one line log of each message that came in dnews.out A one line log of each item dnews sent out.
The file dnews.log contains .in and .out messages as well. By default the logging level is set to INFO, you can set it in dnews.conf to one of, error,warn,info,debug. E.g.:
loglvl warn
In debug mode all error messages are sent to the log file, in info mode only error,warn and info messages are printed. In warn mode only error and warn messages are sent, and in error mode only serious errors are printed to the log file.
Every night, or if the log files get more than DEBUG_ROTATE lines in them the files are rotated like this:
dnews.log -> dnews.log2 ->dnews.log3 ->dnews.log4 ->(deleted)
This is the main configuration file, and you can't move it from it's built in directory which is:
Windows NT /winnt35/system32/dnews.conf (system dir) Unix /etc/dnews.conf
All other configuration files will be in the config directory defined in dnews.conf
You can limit user access to the server by username and password and by group, to do this you need to edit access.conf. This file is both tricky in it's syntax and order sensitive, but quite powerful.
Note that the netscape news reader does not currently implement usernames and passwords so you will need to make your users use a proper news reader :-)
Here is a simple access.conf where you only allow users in your domain with ip names and you only let them connect using usernames and passwords:
# By default don't let anyone even connect *:::!* # Let people in my domain connect long enough to send a username/password pc*.here.edu:read:::!* # Here are the individual users and their passwords pc*.here.edu:read,post:joe:joespassword:* pc*.here.edu:read,post:alice:alicespassword:* pc*.here.edu:read,post:jack:jackspassword:*
Here is a second example, where we want to stop joe from posting to the group local.rules, but he can read it ok still.
# By default don't let anyone even connect *:logoff::!* # Let people in my domain connect long enough to send a username/password pc*.here.edu:read:::!* # Here are the individual users and their passwords pc*.here.edu:read:joe:joespassword:* pc*.here.edu:read,post:joe:joespassword:*,!local.rules # And don't let anyone from the finance section even connect *finance.here.edu:logoff:::*
At the end of your expire.conf file add a line like this:
upto 1000% groups local.* keep 999 minitems 10000 maxitems 100000
This will keep all items in the local group for 999 days, and even then will keep at least 10000 items but will expire items if more than 100000 items are in the group.
If you wish to have local groups on your server, that are not on the server you 'suck' from, then you should remove the 'POSTING' flag from the feed to your feeder site (in newsfeeds.conf). But only if you can get ihave (or transfer permission) to send articles up stream rather than simple 'posting' access.
You can still have local groups if you can't get ihave access, it's just not the 'recommended' setup.
You can add groups with the TELLNEWS NEWGROUP command, e.g.
tellnews newgroup here.chat y myname Local group here.chat = name of group y = Normal group (m = moderated) myname = A record of who created the group (one word) Local group = description for active.names file.
To stop your local group from being sent up stream, you would change the line in your newsfeeds.conf file:
groups *,!here.chat,!here.secret.*
NOTE: KNOWN BUG, with version 2.0 items will still be sent upstream if you have left the 'POSTING' keyword in your feed. This will probably be fixed in a future version. (ofcourse this isn't a major problem unless the items are very secret as your upstream site will probably just reject them anyway)
You have restored part of a database, to merge this new stuff into the indexes use: tellnews addlost
Which will scan the entire database and rebuild the history file. This could take 12 hours or more to run on 4 Gig of news.
First shutdown DNEWS:
tellnews exit
Then move the entire SPOOL tree structure from it's current place to it's new place, for example on NT you might use file manager to move
c:\dnews\spool... to e:\dnews\spool...
Change the definition of SPOOL in DNEWS.CONF
NOTEPAD \winnt35\system32\dnews.conf spool e:\dnews\spool
Restart DNEWS:
(NT) Control Panel, Services, Start (UNIX) su root; dnews_start.sh
Updates for a sucking feed normal run once every ten minutes, this is controlled in DNEWS.CONF with the command
update_at *5 *
This "*5" tells dnews to do an update whenever the minutes end in a digit '5' and the second "*" tells it to do updates during any hour.
To do one update a night at 5 past 2 in the morning you would use:
update_at 5 2
To do updates every 10 minutes from 6p.m. to 8a.m. you would use:
update_at *5 18-8
NNTP is a text based protocol, this means you can test it, and even read news without any software, just by using telnet and typing in commands by hand, this is not a seriously good way to read news, but it is a very good way to test your own server or your feeding server:
NT Accessories, Telnet, Connect, Remote Service Enter the feeder.site and under PORT type in NNTP Under Terminal Preferences turn ECHO on Press Control J to end lines instead of ENTER VMS $ telnet feeder.site /port=119 UNIX > telnet feeder.site 119 Type in this sequence of commands to read an article by hand: group comp.os.vms (select a group) head (display the header) body (display the body) next (next item please) help (show valid commands) quit (exit the connection)
Use the alternate suck names, NNTP_SUCK2, NNTP_SUCK3, NNTP_SUCK4
Put these in dnews.conf, followed by the list of news groups that should be sucked from these alternate sites. You should use the NNTP_FEEDER variable (suck1) for the largest number of groups.
nntp_feeder news.upstream.site nntp_suck2 other.news.site chat.local.*
Alternatively you can take a feed and suck from another host at the same time.
Your list of groups will be based on the NNTP_FEEDER host, other groups must be added using the tellnews newgroup command.
To do this just setup the system to suck as usual, but then add a line to access.conf to allow your secondary feed to come in, e.g.:
other.feed.machine:ihave:::*
Spamming, is where people cross post to hundreds of news groups with information which is not relevant to the content of the news group. e.g. advertising pyramid schemes etc...
Cross posting is a neat idea but enormously abused mechanism, you can limit the abuse by rejecting items that are crossposted to more than 'n' groups, a value of 5-10 would seem reasonable to me. The default is 100 for DNEWS.
You can chage the limit in newsfeeds.conf under the ME settings, e.g.
site me groups *,!*binary* maxcross 4
By default DNEWS caches the last 200 item headers that it has read, if you have spare memory then it is well worth increasing this value: The upper limit is 9000, at approx 3K per header this would use about 27MB, but a value of 2000 would use 6MB which most systems could easily deal with. In DNEWS.CONF
HEAD_CACHE 2000
You may wish to rename a current volume /var/spool/news to be /var/spool/dnews, to do this:
cd /var/spool/news mkdir OLD mv * OLD umount /var/spool/news emacs /etc/vfstab (or /etc/fstab) (change /news into /dnews) mount /var/spool/dnews
When you are happy with the new system, or you need the space:
rm -r /var/spool/dnews/OLDReturn to the Index
In access.conf, give your feed site access to send you ihave messages:
my.feeder.site.com:ihave:::*
In dnews.conf, comment out the nntp_feeder definition.
In newsfeeds.conf, replace:
site $NNTP_FEEDER groups * builtin posting
With:
site my.feeder.site groups * builtin
And in dnews.conf add a line:
cachedall true
You need to FTP an active file from your provider, if he won't supply you one then you can get one of the NetWin FTP site, but it is better to get a local one. Copy this file to your spool directory:
(Stop DNEWS first) copy active_from_provider.txt /dnews/spool/active.dat
Now, read the FAQ section entitled "3.6 How do I set my EXCLUDE parameter correctly?"
Here is an example of a full feed from UUNET. Note the exclude parameter is essential.
-------dnews.conf--------- In dnews.conf comment out nntp_feeder by putting a HASH in front of the line, and add cachedall true, e.g. # nntp_feeder your.feeder.ohio.edu cachedall true ------newsfeeds.conf cut here ---------- site me groups * site news.uu.net groups *,!local.* builtin exclude uunet site YOUR.MAIL.GATEWAY smtp ------access.conf cut here and change your domain and ipnumbers ------ # Don't let the world connect :-) *:logoff:::* # Do let your domain and ip range connect **** CHANGE THIS BIT *** *.your.domain:Read,Post:::* 161.232.32.*:read,post:::* # Do let your news feed from UUNET send you items news*.uu.net:ihave:::*
Lets assume you have been told you will get a feed from any or all of:
news1.xxx.net news2.xxx.net news3.xxx.net news4.xxx.net
And you have also been told to send your feed back to
newsup.xxx.net
And after examining the PATH header in a news item from your upstream feed you have seen that they stamp all incoming messages with the name 'news_stamp.xxx.net'
Then you would setup access.conf and newsfeeds.conf like this:
news1.xxx.net:ihave:::* news2.xxx.net:ihave:::* news3.xxx.net:ihave:::* news4.xxx.net:ihave:::*
And you would setup newsfeeds.conf like this:
site me groups * site newsup.xxx.net groups * builtin exclude news_stamp.xxx.net site your.mail.gateway smtp
If you have more than one large feed coming into your site, then you should use XMIT to send to all sites and NOT use the builtin feeding system at all, (see the keyword builtin above, remove it!!) The builtin feeder will not run fast enough to 'pass through' large feeds so you must use the XMIT feeder in all directions. (Leaf sites can still use a sucking feed quite safely as this is also very efficient)
The XMIT feeder is a high speed, auto configuring streaming feeder with built in scheduling, so you don't need to use CRON or anything else tricky like that.
First add entries to your NEWSFEEDS.CONF file, this creates the .feed file that XMIT will use:
NOTEPAD newsfeeds.conf site other.site.here.com groups *
Now modify your startup procedure to run the xmit job for each feed you have defined in newsfeeds.conf
On windows NT you need to setup each xmit job as a service, to do this use the program ADDSVC.EXE which came with the dnews distribution to add a service for each outgoing feed, e.g. (notepad setupsvc.cmd and then run it to create the feeds)
addsvc -add dxmit1 xmit.exe "dxmit1 site.name.edu -at *5 *" addsvc -add dxmit2 xmit.exe "dxmit2 site2.name.edu -at *5 *"
Then from CONTROL PANEL, SERVICES, and start the feed(s).
Add lines to your dnews_start.sh procedure, e.g.
cd /usr/local/dnews ./xmit send.to.site.name -at "*2" "*" ./xmit send.other.site.name -at "*7" "*"
Modify RUNXMIT.COM and add it to dnews_start.com
This is not necessary, but if you are replacing a system then there are some files that you may want to preserve so that news.rc files are not 'too' confused by the new system.
You can safely copy these files:
active -> active.dat active.times -> active.times newsgroups -> active.names (may be changed in future)
If you copy the active file, you must reset DNEWS with this special manager command:
tellnews resetall
To do this, install a modem and ethernet card in a pc, then configure the pc for tcpip access to your local lan using a local ip number (you can make this up) and then configure it again for modem internet access to your local provider (probably using an ip address provided via ppp).
Here are some example settings if your LAN is not on the internet.
Ethernet Adapter: IP Address 1.1.1.1 (anything just give each pc a different number) Subnet Mask 255.255.255.0 Gateway (leave blank) DNS (Leave blank) Modem TCPIP Adapter: IP Address (leave blank, provider will supply) Subnet Mask (blank) Gateway (blank) DNS 1.2.3.4 (You MUST get this from your provider)Then for myname in dnews.conf you would use 1.1.1.1 and from other PC's on your lan set their news server to be 1.1.1.1
In newsfeeds.conf you must set your exclude parameter to stop DNEWS from sending incoming messages back to your feed site. Lets assume your feed site is called fastfeed.world.net. You need to find out what it stamps onto news articles, to do this read a news article (and show all headers so you can see the PATH header) e.g.
Newsgroups: alt.winsock.trumpet Subject: Sportster Si does not seem to work with TRUMPET Date: Thu, 26 Oct 1995 22:44:08 Organization: Personal Lines: 8 Message-ID: <moleski.2.0016BD02@sasknet.sk.ca> NNTP-Posting-Host: eagle28.sasknet.sk.ca X-Newsreader: Trumpet for Windows [Version 1.0 Rev A] Path: fast1.world.net!world.net!news.icix.net!esol.intermedia.com
Look thru the path, left to right, and find the first or most generic name for your feed site, in this case 'world.net' looks like the best name to choose. So here is the entry you should put in newsfeeds.conf, you may need the builtin and posting settings as well but that is up to you.
site fastfeed.world.net groups * exclude world.net builtin
You may need to delete your .feed and .sending files from the spool directory to clear out the backlog of articles queued.
This is fairly simple to achieve, install DNEWS normally, then in dnews.conf set
cachedall true
Don't define the 'nntp_feeder' variable at all, remove the word 'posting' from newsfeeds.conf then start the server.
Now create your local groups, try to pick names that will never conflict with internet names if you decide to join up at a later date, to achieve this add your companys name to the start of each group name (or an abbreviation of it)
tellnews newgroup netwin.chatting y Group for chatting about things tellnews newgroup netwin.schedule y For scheduling meetings tellnews newgroup netwin.products y Product sheets and info for sales staff
Done!
This is like editing a database with a binary editor and removing a few records by hand, it is not a good idea :-(
However, DNEWS is written for people just like you, the database will correct itself with a little luck. :-)
Please do not edit an item file and remove individual items or change them, this will corrupt the database and the items will simply disappear.
No, it's not. You need to do this, type in:
tellnews addlost
And cross your fingers and wait until the addlost finishes (it could take a few hours on a full feed system)
Unless you have infinite memory on your system then it is necessary to limit the size of messages that can be processed. This also saves a lot of wasted bandwidth and disk space for you and every other news system. DNEWS limits messages to 1MB by default, (a fairly generous limit considering many news readers still die horribly with messages greater than 64K and anything bigger than this should not be sent via news but should be put on an FTP/WEB site and a pointer to it should be sent)
To deal with messages of size 1MB dnews needs about 6MB of memory, so if you are short of memory you may want to reduce this. To limit messages to 100k you would add a line in DNEWS.CONF
ITEM_MAX 100000
(this setting is not dynamic, you must restart DNEWS)
The default configuration file (newsfeeds.conf) that comes with DNEWS excludes all binary groups. In my opinion these groups should not exist, they are a left over from the days before FTP and WEB and even EMAIL, so that news was the only option, now it is much more appropriate to post pointers to large files, rather than the file itself.
Anyway, you or your users demand it, to fix the problem edit your newsfeeds.conf file and remove the !*binary* from the 'ME' feed.
Then use the commands:
tellnews undelete *binary* tellnews matchfeed
Check access.conf, you might have access to get in, but no access to read the news groups so they will appear empty or give 'no such newsgroup' errors.
There are two main reasons for posts to fail:
Follow these instructions to figure out where the
error is:
Post an item to some local TEST news group, e.g. nz.test, then check the file DNEWS.OUT, this should give one line per message sent 'out' of your system, if this file is empty, or gives an error, first consider if the error is from DNEWS or if it is from the site you are sending items to. Second, look in dnews.log, search for "out:" once you've found the failure message you will probably find more clues just above or below it as to what went wrong.
Post an item to alt.test, you should receive 10-15 messages from news robots all over the world.
There are two main reasons for incoming feeds to fail:
In case 1), first try letting everyone in by putting a wildcard access line at the bottom of access.conf
*:read,post,ihave:::* tellnews reload
Then check the log files, or use tellnews status, and you will see the name and number of any machine sending you IHAVE messages, (in the list of connected channels) put this name in access.conf.
If tellnews status shows the number twice, but no name, then your DNS is not working, use numbers in the access.conf file instead or fix your DNS.
First I advise you not to play with guns because you are in danger of shooting yourself in the foot.
Before restarting dnews, delete history.idx and history.dat, and then start dnews and type:
tellnews addlost
Which will scan the entire database and rebuild the history file. This could take 12 hours or more to run on 4 Gig of news.
This means the item is missing from the history database, this should never happen, but since it has, try this command:
tellnews addlost
Which will scan the entire database and rebuild the history file. This could take 12 hours or more to run on 4 Gig of news.
DNEWS maintains an internal count of free disk space, this can be wrong, or possibly your setting for 'diskspace' in dnews.conf could be wrong. Decide which is wrong, either fix the number in dnews.conf or use the 'setused' command to change the internal count, e.g. to set the used value to 950MB, type in:
tellnews setused 950
Then wait 2 minutes and do another:
tellnews status
Check your DNS is working, try putting
nodns true
In dnews.conf, and fix access.conf to use numbers then type:
tellnews reload
Then see if that speeds things up, if it does then your DNS is faulty.
First check your pagefile settings, for a full feed you will need about 120MB of pagefile on Windows NT.
See the section on large news messages.
Send the output of tellnews status to the mailing list or NetWin and ask for comments.
Check your DNS is working.
Type in:
tellnews stats(not status)
This gives a listing of NNTP commands and how long dnews is spending on each one, this will show if one command is slow, and also if one command is being used more than is reasonable. Also consider adding memory.
Send the output of tellnews stats and status to the mailing list or NetWin for further suggestions.
Consider installing more memory or a faster disk drive.
If the xover command is using most of the time then consider increasing the buffering of headers. (see dnews.conf options)
Panic!
Check the log file dnews.log, work out from the time stamps what dnews was doing when it locked up.
This can happen if you run an expire while lots of people are trying to use the system or while an ihave feed is sending stuff in.
Use the tellnews stats command, this will also point to commands which are taking too long to process for some reason.
Check your DNS and also that site you are sucking from is working and it's news server is working, either of these can cause a problem. If the site you suck from is down for a few hours, you may have to remove the feeder line from dnews.conf until it is up again. (normally you won't have to do this, it's just a thing to watch for)
Check the end of the file dnews.log, the only partly acceptable reason for a crash is if DNEWS runs out of memory, if the errors indicate this then see the section on memory problems above.
If it gives an error 'signal xxx causing exit' then set the debugging level to 'debug', if the log files just ends suddenly, then set the debug level to 'flush'
loglvl debug (or flush) debug_rotate 3000
Now next time it crashes email the last few hundred lines of dnews.log to NetWin. We really don't accept crashes as acceptable behaviour and will go to some extreme lengths to fix this sort of problem.
Can't BIND, and tellnews says "I can't talk to you" when you telnet to the port.
On LINUX the slackware distribution comes with a dummy nntp daemon installed, you must remove this so dnews can bind to the socket.
edit /etc/inetd.conf (comment out the NNTP line) kill -HUP <pid of inetd process>
The DNEWS process may take 1-2 minutes to initialize, so wait a bit before panicking.
Check if the process is running
ps -axl | grep dnews (linux) ps -ef | grep dnews (SunOS)
Check the log files
more /usr/local/dnews/dnews.log
On UNIX if it gets started up with the wrong PID you will get all sorts of protection problems, all the files in:
/var/spool/dnews/...(including var/spool/dnews)
must be owned by the same user, normally 'news'. Also all the files in:
/var/local/dnews/*
Also on UNIX it is possible to start dnews twice, this can cause real disasters, always check with ps and by looking at the log before restarting DNEWS.
Check the myname variable in DNEWS.CONF, also check your DNS is working, if its isn't then use the number in dnews.conf
On VMS, if the symbol tellnews is not defined, it will try and run telnet instead, this can be confusing. You may have to log in again to get the symbol, or if you forgot to put it in your sylogin: script then you will have to do so, e.g.:
$ tellnews :== $dnews_top:tellnews
For some reason tellnews cannot find it's configuration files, on NT this could be caused by a file protection problem or more likely if the disk drive letter was not specified in the configuration file DNEWS.CONF.
On VMS and UNIX you must be running the tellnews command from the usercode ROOT or NEWS or NEWS$SERVER.
Your news-host does not want to talk to you, this is because there is a security file which gives a list of hosts which are allowed to connect, the name of your machine must be in this list, and your machine's name must be in the Domain Name Server tables as well as the Reverse Translation Domain Name server tables.
The access file may be called something like:
CNEWS /usr/local/lib/news/nntp_access
INND /usr/local/news/nnrp.access
DNEWS /usr/local/dnews/access.conf
DNEWS-NT /dnews/access.conf
This can come from one of two directions, DNEWS can give this error when a site tries to feed it new items.
If you are using a sucking feed then you should stop the site that is trying to send to you from sending as DNEWS will ask for any items it wants.
If you do want to allow incoming IHAVE messages, then add an IHAVE record for this ip address in the ACCESS.CONF file, and also remove the 'POSTING' flag from the NEWSFEEDS.CONF file for the ME site.
The last possibility is that this error is coming from your feeding site, in which case you need to contact the system manager of that site and ask him to give you 'ihave' access.
The problem is DNEWS is echo'ing all your incoming news back to your news feed site, this is clogging the outgoing feed. To fix this see the section above entitled "3.6 How do I set my EXCLUDE parameter correctly?"
You have two options, the DNEWS discussion list has lots of expertise on it. So try that first.
If that fails, or if you are a registered (not free) customer then as part of normal support NetWin provide email advice and help on setting up your system. In general try and give as much information as possible about your setup and what you want to do, and ALWAYS include a FAX or phone number just incase your mail system is broken as well :-) e.g.
Hardware & OS: Windows NT - Intel (or NT-Alpha or Solaris 4.3 etc...)
Version of DNEWS: 2.0b
Type of feed: Sucking feed (or full ihave feed...)
FAX: (include country code)
And any relevant setup files, usually one or more of: dnews.conf, newsfeeds.conf, access.conf
And maybe a few lines from dnews.log showing the problem
(Please don't email 3MB of log files to us :-)
And state your problem clearly:
(a bad example) My feed doesn't work, why not?
(a good example) The IHAVE feed coming INTO my system from my provider is being refused, he says it gives an error, 'transfer permission denied', I have searched the log files but can't find an equivalent error at my end, what should I do?
There are two mailing lists for DNEWS, one is only used to make major announcements of new version or urgent patches. The other is for general discussion, you may want to join both.
dnews-request@adam.com.au
A message containing one word:
subscribe
Then to post to the list send to:
dnews@adam.com.au
Send a message to:
maiser@emagic.co.nz
Containing the line:
subscribe dnews
This is a moderated list, it's only function is to provide timely information on new features, releases, bugs, installation gotcha's etc to interested people. You will not get 20 messages a day from this list, it will probably average 1-2 messages per month.