
		 NewsX - Frequently Asked Questions
		 ==================================

Is there a way to make NewsX fetch articles more quickly?

	Try adding the following option:

		--window 10

	You could even try with a larger number.

	This feature is normally safe with NNTP, but is not enabled by
	default since the method of operation is not explicitly
	mentioned in RFC-977.

How do I find out about future NewsX versions?

	Send an email message to majordomo@kvaleberg.no with the 
	following message body:

		subscribe newsx-announce

	This should add your name to the NewsX announcement list, where 
	future versions and possible bug alerts will be announced.

I fetch most of my news from one provider, but in addition I want to pick
up "linux.*" from another source. Is it possible? I can't find any NewsX 
configuration file where I can specify this.

	That is because NewsX relies on the configuration file already
	present in your news spool. This neatly coordinates the actions of 
	the outbound stream prepared by the news server itself with the
	inbound stream handled by NewsX.

	Assuming you already has your main newsserver set up (see README),
	you have to define the second news source. For C News, you would
	then add to the "sys" file:

		foo/foo.bar:linux.all/all:FL:

	Similarily for the INN "newsfeeds" file:

		foo/foo.bar:linux*:Tf,Wfb:

	This will tell NewsX to only pick up the linux hierarchy to the
	foo spool, and tell the local news server to place local postings
	for the "linux" hierarchy in the foo spool.

	Assuming acme.net don't carry these groups, you will never get
	any linux news from news.acme.net. But to prevent postings to be
	sent there in vain, and to avoid attempts at fetching these
	groups, the acme entry needs to be modified:

		acme/news.acme.net:all,!linux,!junk/all:FL:

	And for INN:

		acme/acme.net:*,!linux*,!junk*:Tf,Wfb:

	To fetch from both sources, you would need to invoke NewsX twice:

		newsx acme news.acme.net &
		newsx foo  news.foo.bar  &

How can I automatically ensure my local spool carries all available
groups, subject to the limitations of my sys/newsfeeds file?

	You can make NewsX produce a list of newsgroups that the
	remote newsserver carries, and feed that list to a small
	script that handles the actual task of local subscriptions.

	This can be combined with normal news fetching by adding the
	option: 

		--newlist "|addgroup.all" 

	This will pipe the list of new groups to the script specified, 
	which incidently is available in the lib subdirectory in the
	distribution.

	On servers with many newsgroups this does take some time, so it 
	may be useful not to do it too often. A standalone effort may
	thus be convenient, e.g.:
	 
		newsx acme news.acme.net --newlist "|addgroup.all" \
				 --nofetch --nopost --locks none

How can NewsX be set up to handle the increasing problem of spamming?
It surely makes sense not to download the spam article in the first
place.

	The answer to that is not as obvious as it might seem, and
	all depends on how large percentage of the message stream
	that would be stopped by an automated spam filter.

	The streaming mode of operation used by NewsX gives a very
	significant transfer speed increase over other methods.

	Filtering means that article transfer must be handled in a
	less efficient manner, either by using the overview mechanism
	(which is not entirely standardized and universally available
	anyway), or by reading the article header and body
	separately.

	This extra overhead means that the spam content must be very
	high to warrant stopping it in NewsX.

	There is one exception to this, and that is methods involving
	spam killing based on the message ID alone. The --filterm
	option is provided for this purpose.

Why can't you set up NewsX to check for things like multi crossposts on an
article, subject lines like `CASH CASH CASH`, `MAKE MONEY FAST`, `SEX SEX
SEX`, or the the path of an article to exclude known spam ridden sites?

	Doing news spam filtering on an individual basis really is a
	lost cause due to the huge efforts required to keep such
	filters up-to-date with the countermeasures in the spam
	arena. There are also other considerations:

	   1. Lost efficiency due to need for separate article header and
	      body requests.
	   2. Makes streaming much more difficult and less efficient to
	      implement.
	   3. Not as much gain as expected anyway, since article headers 
	      easily make up a significant part of most articles anyway.

	So, other methods of spam filtering is really more suitable:

	   A. Use an ISP that does spam filtering.
	   B. Use NoCeM to stop spam.
	   C. Do spam filtering in the local news spool, using existing
	      methods.
	   D. Do spam filtering in the newsreader by use of kill-files and
	      article scoring mechanisms.

How can NewsX be set up to take advantage of the NoCeM effort?

	The c-nocem package from Olaf Titz can be used with both INN
	and C News. It is available via:

		http://www.inka.de/~bigred/sw/c-nocem.txt

	c-nocem will delete articles that already has reached the
	spool. Just as importantly, it will mark articles not arrived
	yet in the history database.

	Since NewsX refers to the history database for every article,
	this does in fact mean that NewsX will NOT fetch any articles
	that has already been flagged by NoCeM.

	This method will work better the fresher NoCeM info you can get.
	It might be sensible to fetch and handle the NoCeM newsgroups
	before starting a new ordinary transfer.

	Note that the volume of the NoCeM newsgroups is pretty huge.
	For a small spool, this will mean that the total news
	transfer volume will most probably INCREASE when using NoCeM.
	NoCeM may still serve a useful purpose in reducing the number
	of undesired articles popping up in the newsreader.

I want to limit the number of groups that I actually fetch from a 
particular server. Should I use the -e mechanism for that?

	It depends. It will usually be better to set up your requirements
	in the sys/newsfeeds file. For instance by splitting into several
	incoming spools for a single news source.

	But by all means, the -e approach does work. You must manually
	edit and add a tag line in the server active file found in 
	"/var/spool/news/in.hosts/spool", where "spool" is the name of
	the spool that appears in the sys/newsfeeds file. Rearrange it
	so that all groups you want appears before the tag, and all those
	that you don't want appears after it. The tag line could look like
	this:

		:end

	Remember to use the corresponding command line option:

		-e end

	The thing with the -e option is that since you have limited the 
	number of groups, NewsX won't be allowed to start fetching new
	groups that appear in the active file. So you can't simply add 
	groups with addgroup, you will also have to manually create an 
	entry for them in the in.hosts file.

Why did the configure script fail to find the news home directory?

	The configure script goes through a list of probable directory 
	names in some order of priority to find the one you are using, 
	looking for the either an "bin/config" (C News) or 
	"innshellvars" (INN) file.

	One reason can be that the directory name you are using is not
	on the list:
		/usr/lib/news 
		/var/news/etc 
		/usr/spool/news 
		/usr/share/news
		/var/db/news
		/usr/local/news/control 
		/usr/local/news
		/local/news
		/usr/local/lib/news 
		/news/lib
		/usr/local/inn	    

	If your system is using another location, set the environment
	variable NEWSHOME before you invoke configure. Please alse send 
	the relevant information to egil@kvaleberg.no, so that future 
	versions can be updated.

	Another reason can be that the configuration file is missing
	altogether, which must be corrected because it will cause trouble
	with other news software.

	It could also be that access to the directory has been prohibited.

Why did the configure script come up with another news home directory than
the one I am using?

	Presumably, the script have found some traces of a previous news
	installation, or perhaps some symlink to the actual news
	directory. In the latter case, you may get away with keeping the
	configuration as it is.

Why did the configure say that the configure file is "inaccessible or
wrong format"?

	Usually because it is inaccessible. It is commonplace to protect
	access to this configure file from other users than he actual news
	user. The solution here is to install the software as user news, 
	or extend the read permission of the configuration file.

Why did the configure script say I am using INN when I am actually using
C News, or vice versa?

	Presumably, the script have found some traces of a previous news 
	installation, and has become confused.

Why did the configure script come up with another news spool directory 
than the one my system is in fact using?

	The news spool name is read from the news config file. In C News,
	the file is "bin/config" and the variable is NEWSARTS, In INN, the
	file is "innshellvars" and the variable is SPOOL. Either way, if
	this doesn't match the actual directory you are using, there is
	something wrong with the setup of your news server software. 

Why did the configure script come up with another history file than the
one my system is in fact using?

	The reason is most probably that the history database is in a non-
	standard location. 
	
	If you are running INN, this should have been defined properly by
	the news configuration file, so there must be something wrong 
	with news server setup.
	
	If you are using C News, you can either append a (non-standard)
	definition of HISTORY to "bin/config", or can solve this by
	installing appropriate symbolic links for the files "history", 
	"history.dir" and "history.pag" from the news home directory.

NewsX compiled fine, but doesn't work?  

	Run NewsX from the command line, adding the option "-ddddd".
	You will then be told what NewsX does step by step, and
	finding out what happens should be self-explanatory ;-).

NewsX seems to fetch news without complaint, but when I start up my
newsreader I don't see anything?

	The articles are probably still residing in the 
	"/var/spool/news/in.coming". To move these files to the news
	spool proper, you must do in C News:

		newsrun

	And in INN:

		rnews -U

But the incoming spool is also empty?

	The local server has probably rejected the articles, in which 
	case you will find them in "/var/spool/news/in.coming/bad". 
	Have a look in the logs to find out why they were rejected.
	For C News, look at "/usr/lib/news/errlog".

	When you have corrected the configuration, do:

		cd /var/spool/news/in.coming
		mv bad/* .

	Finally rerun newsrun/rnews as shown in the previous question
	to try again.

Why doesn't the history lookup function work?  

	The reason is probably that the history database is in a non-
	standard location, see the question about history configuration.
	
	It could also be that the database format is wrong. The standard
	configuration assumes that the news server uses the "dbz V3.4" 
	database manager. If your system has been configured
	otherwise, you have to manipulate the configuration variables
	HAVE_LIBDBZ and HAVE_LIBDBM.

What shall I do? The "ps" process status doesn't work, and/or crashes
the system.

	Set the PS_STATUS in "tune.h" to 0, and recompile. Also, 
	please run config.guess and report what it says to 
	egil@kvaleberg.no so that the PS_STATUS can be disabled in
	future releases for the system you are using.

	The dynamic process status probably has some portability   
	problems, but is simply too useful to take away completely.

What on earth is this tiny.server this in included in the distribution?

	One of the special features of NewsX is that it can fetch 
	news using NNTP relayed over Telnet.

	The point of the tiny.server is to offer people who can log
	onto machines that does not offer any NNTP connections a way 
	of fetching news. Since tiny.server is a Unix shell script, you 
	don't even need access to a C compiler. 

	Note that the shell script idea makes tiny.server quite 	
	inefficient. So tiny.server mostly exists for its hack.value.
	Also, only a subset of NNTP is offered.

