|Subject: (2.19) Warnings to people that must set HAVE_UNIX_DOMAIN to DONT|
Disclaimer: First of all, if you have to set HAVE_UNIX_DOMAIN to DONT,
YOU HAVE TO SET IT to DONT. It's not a choice you can make, it's a
description of the operating system that you've purchased. If you've
wrongly set this variable to DO your system isn't going to work *at*
When you use POST (the NNTP command), you are talking to nnrpd. nnrpd
cleans up your headers, adds the missing headers that it is allowed to
add, checks whatever it checks, and then submits the finalized version
to innd. How does it talk to innd?
If you have HAVE_UNIX_DOMAIN set to DO, nnrpd opens a Unix domain
socket and sends the text. At this point it is talking to innd
somewhat like ctlinnd does. innd can trust that the post isn't
forged since it is coming from a program trustworthy enough to
get to the socket (which isn't much).
If you have HAVE_UNIX_DOMAIN set to DONT, it has no choice but to open
a socket to port 119, issue the "IHAVE" command, and send the text that
way (just like a remote newsreader). This means that innd (not another
nnrpd) has to be at the other end of the pipe. If it opens the
connection and sees a "nnrpd" you're hosed and you get "441 480
Transfer permission denied". (Better the "441 480" message than an
infinite loop of nnrpd's connecting to nnrpd's!) To get innd to not
hand off the connection to a nnrpd process, you must have the host's
name in the hosts.nntp file. (don't forget to do "ctlinnd reload
If you have your host's name in the hosts.nntp file, then any
newsreader running on your nntphost must be "INN-aware" (i.e. that they
issue the "mode reader" command) or they must read news via the file
system instead of NNTP.
If you have NNTP-based newsreaders that can't send the "mode reader"
command, you can try including "server: localhost" in your inn.conf
file, but then you must have a different inn.conf file for the other
machines. If you can't do that, you have no other options but to
recompile your newsreaders.
Remember, if you change your inn.conf file, you must shutdown and
restart innd. There is no "ctlinnd reload inn.conf" command.
There is a patch which is listed in the unoff3/UNOFF-NOTES that seems to
work at least for linux but should theoretically work for other os that
have to set HAVE_UNIX_DOMAIN to DONT which resolves the problem that
multiple invocations of ctlinnd break.
[Last Changed: $Date: 1997/09/23 01:25:52 $ $Revision: 2.34 $]
[Copyright: 1997 Heiko Rupp, portions by Tom Limoncelli, Rich Salz, et al.]