Installing INN part 2: [Previous] [Up to Table of Contents] [Next]

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
remote entry.

     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"][][Revision: 1.19 1996/11/10]
[Copyright: 1991 Rich Salz, 1996 Internet Software Consortium]
Installing INN Part 2 : [Previous] [Up to Table of Contents] [Next]
You can find a summary and links related to this topic
as part of the Mib Software Usenet RKT.