Installing INN part 2: [Previous]
[Up to Table of Contents]
1. Ihave/sendme feed
For a standard UUCP newsfeed, a site batches up all the articles it
receives and sends them to the downstream site, which unpacks the batch
and processes each article. If the downstream site has multiple feeds,
however, it might want to "filter" the articles that get sent. This
is done by having the feeding site send a list of Message-ID's as an
"ihave" control message. The receiving site examines the list to see
which articles it does not currently have, and sends it back to the
upstream site as a "sendme" message. The original site receives this
message and prepares a batch in the standard way.
Note that this has nothing to do with NNTP. It is a specialized
type of batched feed that is not used very often. To do ihave/sendme
with a site named remote, the local site must either have a
"to.remote" newsgroup or be compiled with MERGE_TO_GROUPS set to
Accepting an ihave/sendme feed is easy. Suppose an "ihave"
message is received from a site named remote. When innd processes the
message it will invoke the appropriate control script,
/usr/local/news/bin/control/ihave. The script will filter the body
using grephistory, creating a list of Message-ID's not found in the
history database. It uses this output to create a "sendme" control
article which is posted to the "to.remote" newsgroup using inews.
This article will then be queued and sent to remote in the normal way.
The remote site will then send the desired articles back.
Providing an ihave/sendme feed is a bit more complicated. First,
you must create two entries in your newsfeeds file. The first should be
named remote.ihave. Make this a "Tf,Wm" feed that contains the
remote's subscription list. This entry results in a a file that
accumulates the Message-ID's of all articles that remote might want.
The other entry should be named remote. This should be a "Tf,Wn" feed
that only subscribes to the "to.remote" newsgroup. (Actually, if you
feed some groups as a standard feed, you can put them on the remote
entry, rather then the remote.ihave entry.)
The next step is to have the "ihave" control messages sent out.
To do this, review the send-ihave script and make sure it is invoked as
needed (usually out of cron). It splits the batchfile from the
remote.ihave newsfeeds entry and posts "ihave" control messages into
the "to.remote" newsgroup. These messages will get queued for the
The next step is to send out any articles queued for the remote
entry. Treat this as a standard UUCP feed, invoking send-uucp or
sendbatch as appropriate, typically a few minutes after send-ihave runs.
When the remote site receives the "ihave" message it will filter
it and send back a "sendme" message whose body is the list of desired
Message-ID's. When innd processes this message it will invoke the
appropriate control script, /usr/local/news/bin/control/sendme. This
script will call grephistory to turn the list into a list of files
appended to the batchfile for remote. Examine this script (the filename
should probably match the filename in the remote newsfeeds entry) and
send the batch to the remote site (using batcher, often called by send-
uucp or sendbatch).
[Source:"Installing InterNetNews 1.5.1"][
File-name:install.ms.2][Revision: 1.19 1996/11/10]
[Copyright: 1991 Rich Salz, 1996 Internet Software Consortium]
Installing INN Part 2 : [Previous]
[Up to Table of Contents]
You can find a summary and links related to this topic
as part of the Mib Software Usenet RKT.