Removing obsolete control messages in INN 2.7

Julien ÉLIE julien at
Wed Nov 24 22:23:03 UTC 2021

Hi Russ,

>> - remove control/modules/{sendsys,senduuname,version}.pl;
>> - remove the "doifarg" keyword from controlchan and control.ctl
>>    documentation (it is only used for these 3 kinds of control messages);
>> - but keep the recognition of the sendsys, senduuname and version control
>>   messages in inncheck and scanlogs (because they are still referenced in
>>   control.ctl) as well as in the example of a regexp for
>>   obsolete control articles.
> Sounds good to me.  I can't imagine us ever wanting to support those
> control messages.

Sure!  Now removed from the INN distribution.

>> There is a common man page for send-ihave (ihave control messages) and
>> send-nntp (usual articles).  I suggest to:
>> - remove the send-nntp script, and mention in NEWS that nntpsend or
>>    innfeed should be used instead;
> I agree, I don't understand why that script exists when nntpsend exists.
> nntpsend feels like a more sophisticated version of send-nntp.

OK, I'll remove send-nntp.  As the current man page is for both 
send-nntp and send-ihave, I'll adapt it to only keep send-ihave for INN 

>> - keep the send-ihave script as well as control/modules/{ihave,sendme}.pl
>>   as the ihave and sendme control messages are not obsolete.  Though I
>> would be half-tempted to also drop them...  Even the documentation says
>> "the author of this manpage is unsure as to how [send-ihave] actually
>> works or used to work".  Indeed, it is not clear how ihave batch files are
>> generated... (no examples)
> My recollection is that this stuff is all intended for UUCP feeds.  The
> idea is that you tell your UUCP peers what articles you have available via
> ihave control messages, you respond with a sendme control message for the
> articles that you want, and the sendme controlchan module creates a batch
> file to send to that site via UUCP.

What remains unclear is how the ihave control messages are generated first.

Hmm, after digging a bit, I found out a very old documentation from Rich 
in the INN 1.5.1 install guide:

It will need a bit of testing to verify if ihave still works this way 
with current versions, and then redocument it with full samples of 
newsfeeds entries and crontab.

FWIW, here is the excerpt from INN 1.5.1:
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).

> I have no idea if any UUCP site is still using ihave/sendme control
> messages to control the feed, rather than simply sending everything.
> Obviously, this mechanism was more important when UUCP was done via
> long-distance telephone calls and modems, where you wanted to minimize the
> amount of time the line had to stay connected.

Seems like it could still be useful to support ihave/sendme.  There are 
still discussions about UUCP (and more recent NNCP) on the web, though 
NNCP documentation I found speaks of a full exchanges of rnews batches.
UUCP sometimes mentions ihave/sendme.

Julien ÉLIE

« A man who is not married is incomplete; a man who is married is
   finished. »

More information about the inn-workers mailing list