Annotation of 43BSDTahoe/new/notes/doc/b.interface, revision 1.1.1.1

1.1       root        1: .ls 1
                      2: .ap B "Interfacing Notesfiles to News"
                      3: 
                      4:        The News system provides functions similar to
                      5: those provided by the Notesfile system.
                      6: It is possible to gateway articles between the two systems.
                      7: In USENET, a common configuration is for several notesfiles
                      8: sites to form a subnetwork of USENET and
                      9: gateway articles between the local notesfile network and
                     10: the rest of USENET.
                     11: These articles propogate across USENET in the news system.
                     12: Article originating in the news system are gatewayed into
                     13: the notesfile network.
                     14: When several notesfile networks exist as subnetworks of
                     15: a larger news network (such as USENET), articles written
                     16: in one notesfile network will be correctly interpreted
                     17: when arriving at another notesfile network.
                     18: ``Correctly'' interpreted includes proper linking of
                     19: responses to their true parents;
                     20: this is sometimes not possible with articles written in the
                     21: news system.
                     22: 
                     23:        The notesfile gateway code recognizes articles meeting
                     24: the USENET standards.
                     25: Additionally, the A-news protocol and older B-news protocols
                     26: are recognized.
                     27: Incoming (news \(-> notes) articles are parsed and placed in the
                     28: appropriate notesfiles.
                     29: Articles written within a notesfile subnetwork are formatted according
                     30: to USENET standards and transmitted to the news system.
                     31: 
                     32: .a1 "Configurations for Sites without News"
                     33: 
                     34:        Sites running notesfiles without the news program have
                     35: several possible configuations.
                     36: If your site is part of a notesfile subnetwork and you wish to
                     37: have your articles gatewayed to the news system and the
                     38: rest of USENET, you must find a site who will act as a 
                     39: gateway for your articles.
                     40: The gateway code performs its task in such a way as to allow
                     41: several sites to gateway the same article into the news system;
                     42: the multiple copies will have identical unique identifiers 
                     43: and one copy will be canceled when they meet on a remote system.
                     44: 
                     45: .a2 "Sites with no News Neighbors"
                     46: 
                     47:        If you have no immediate neighbor running news, there is
                     48: no particular action you should take other than to reassure
                     49: yourself that some site in the notesfile subnetwork is gatewaying
                     50: notes-generated articles to the news system.
                     51: This can be done in one of several ways.
                     52: If the site wants to gateway articles specifically from your
                     53: machine, the following command should be executed on that site
                     54: occasionally. This is typically done through cron(8).
                     55: 
                     56:        newsoutput -syoursite notesfile-list
                     57: 
                     58: A more typical arrangement is where the gateway site sends all
                     59: notes-generated articles that arrive on its system into the 
                     60: news system.
                     61: In this case, the gateway site will execute a command such as 
                     62: the following:
                     63: 
                     64:        newsoutput -a notesfile-list
                     65: 
                     66: A site gate using this command line will automatically gateway
                     67: articles written at your site and eliminates the need of running
                     68: a command similar to the first command line.
                     69: 
                     70: 
                     71: .a2 "Sites with Neighbors running News"
                     72: 
                     73:        If a neighboring system runs both notes and news, you
                     74: have the option of gatewaying your own articles or allowing
                     75: the neighbor to gateway articles for you.
                     76: If the neighbor does not run the notesfile system, you must
                     77: provide your own gateway functions.
                     78: 
                     79:        Gatewaying can be done similarly to the site without
                     80: a news neighbor.  You can let your articles propogate across
                     81: a notesfile network to a gateway site which will send them
                     82: to the news system.
                     83: Another option is to gateway your articles,
                     84: and possibly any notesfile-generated articles,
                     85: into the news system at the neighboring site.
                     86: This gets your articles into USENET as quickly as possible.
                     87: The two options are not mutually exclusive;
                     88: you can gateway your own articles and allow another site to
                     89: gateway them.
                     90: When copies of the same article meet on a news system, the
                     91: extra copy will be removed from the network.
                     92: 
                     93:        To gateway articles into news, you must modify the
                     94: file
                     95: /usr/spool/notes/.utilities/net.how
                     96: to tell the newsoutput
                     97: program how to get to the news system.
                     98: More information on this can be found in the section
                     99: ``Copying Notesfiles to News'' later in this appendix.
                    100: 
                    101:        To gateway from the news system to the notesfile
                    102: system, you must arrange to have the news system at the remote
                    103: site send articles as standard input to the program
                    104: /usr/spool/notes/.utilities/newsinput 
                    105: on your system.
                    106: 
                    107:        Information on mapping functions between notesfiles
                    108: and news, how to configure a news system to send articles to
                    109: a notesfile system,
                    110: and
                    111: how to have a notesfile system send articles to a news system
                    112: can be found later in this appendix.
                    113: 
                    114: .a1 "Configurations for Sites running News"
                    115: 
                    116:        A site running both notesfiles and news will typically
                    117: perform gateway functions in both directions,
                    118: from the notesfile system to the news system
                    119: and
                    120: from the news system to the notesfile system.
                    121: In these cases all the operations are local.
                    122: 
                    123: .a1 "Gatewaying between Notesfiles and News"
                    124: 
                    125:        The two notesfile programs ``newsoutput'' and ``newsinput''
                    126: perform gatewaying between notesfile and news systems.
                    127: Newsoutput takes notesfile-generated articles, formats them,
                    128: and hands them to the news system.
                    129: Newsinput takes articles from the news system and inserts
                    130: them in the notesfile system.
                    131: 
                    132: .a2 "Copying News to Notesfiles"
                    133: 
                    134:        The news system maintains ``subscription lists'' for
                    135: each neighboring system.
                    136: The subscription list is stored in the file /usr/lib/news/sys
                    137: on a B-news system.
                    138: On an A-news system, the subscription list is in 
                    139: /usr/spool/news/.sys
                    140: 
                    141:        News feeds articles to neighboring systems as they 
                    142: arrive.
                    143: In many cases, the article is queued for transmission.
                    144: In other cases, the article is given to a batching program
                    145: which collects a number of articles for transfer
                    146: and sends them to an appropriate un-batching program at
                    147: the receiving end.
                    148: 
                    149:        In the case where the notesfile system resides on another
                    150: machine, the news subscription line should be generated similarly
                    151: to that for a normal news feed with several exceptions.
                    152: The first is that the newsinput program does not understand about
                    153: batching; articles must be sent one at a time.
                    154: Also, one must specify the method of transmitting the article.
                    155: To feed the system ``somesite'' with news, the
                    156: neighbor will add a line of the following form to his /usr/lib/news/sys:
                    157: 
                    158:        somesite:subscription::uux - -n somesite!/usr/spool/notes/.utilities/newsinput
                    159: 
                    160: Of course, networks other than UUCP can be used.
                    161: 
                    162:        To forward to a notesfile system on the same machine as the
                    163: news system, create a pseudo site which doesn't exist elsewhere
                    164: (a sitename such as ``nf_sys'' works), and add a line like:
                    165: 
                    166:        nf_sys:subscription::/usr/spool/notes/.utilities/newsinput
                    167: 
                    168: Articles arriving at the local system will now be forwarded to
                    169: the notesfile system.
                    170: By default, news articles are placed in notesfiles with the
                    171: same name.
                    172: To map newsgroups to particular notesfiles, see the later
                    173: section ``Naming Notesfiles and Newsgroups''.
                    174: 
                    175: .a2 "Copying Notesfiles to News"
                    176: 
                    177:        The newsoutput program transfers notesfile-generated
                    178: articles from the notesfile system to a news system.
                    179: The news system does not have to be on the same machine.
                    180: 
                    181:        Newsoutput accepts parameters telling it to gateway
                    182: articles from specific systems or any system.
                    183: Additional options allow backwards compatible
                    184: headers for older versions of the notesfile software.
                    185: A typical newsoutput invocation looks like:
                    186: 
                    187:        newsoutput -a notesfile-list
                    188: 
                    189: The -a parameter indicates that notesfile generated articles
                    190: from any site are to be sent to the news system.
                    191: Under no circumstances will newsoutput transfer an article
                    192: to the news system if it has passed through the news system
                    193: before.
                    194: Thus if a notes generated article passes from one notesfile
                    195: subnetwork to another through the news system, the 
                    196: article will not be sent into the news system by anyone in 
                    197: the second notesfile subnetwork.
                    198: 
                    199:        The ``notesfile-list'' can contain a mixture of
                    200: specific notesfiles, wild-card specifications (net.*),
                    201: or ``-f file'' parameters which specifies a file
                    202: containing a list of notesfiles to send.
                    203: 
                    204:        Alternatively, articles for only one system can be
                    205: gatewayed with a command line of the form:
                    206: 
                    207:        newsoutput -ssitename notesfile-list
                    208: 
                    209: This invocation method maintains a sequencer for each system;
                    210: the -a option maintains a single global sequencer.
                    211: 
                    212:        A third invocation method of newsoutput uses the
                    213: ``-c'' option and specifies a specific set of systems to
                    214: gateway articles for.  The command looks like:
                    215: 
                    216:        newsoutput -c gateway-site-file notesfile-list
                    217: 
                    218: The ``gateway-site-file'' specifies a file containing a list
                    219: of sitenames.
                    220: Articles written at any of these sites are gatewayed to the
                    221: news system.
                    222: Thus newsoutput has the ability to send articles to news
                    223: for a single system, several systems, or any system.
                    224: 
                    225:        Newsoutput assumes that a news system is installed
                    226: on the local system.
                    227: If the news system is in a non-standard location on the
                    228: local system or
                    229: the news system is on a different machine, newsoutput
                    230: can be told where to send articles.
                    231: The file /usr/spool/notes/.utilities/net.how contains
                    232: command templates for notesfile networking.
                    233: To specify a non-standard place for the ``rnews'' program,
                    234: add a line of the form:
                    235: 
                    236:        Usenet:x:::uux - -n myneighbor!/usr/bin/rnews
                    237: 
                    238: Non-UUCP connections and the like can be specified.
                    239: 
                    240: .a2 "Naming Notesfiles and Newsgroups"
                    241: 
                    242:        Notesfiles and newsgroups for the same topic can have
                    243: different names.
                    244: Notesfiles are currently limited in the last component of
                    245: their name to the length of a filename;
                    246: under V7, System III, System V, and 4.1 Bsd this is 14
                    247: characters.  4.2 Bsd extends the length of a filename
                    248: to a maximum of 255 characters per component.
                    249: Newsgroup names are no longer limited in total length;
                    250: the only restriction in current news versions is
                    251: that each component (between .'s) is unique in
                    252: the first 14 characters.
                    253: 
                    254:        The file ``/usr/spool/notes/.utilities/newsgroups''
                    255: defines the relationships between notesfiles and newsgroups.
                    256: Lines in the file have the general form:
                    257: 
                    258:        notesfile:base_newsgroup:respone_newsgroup
                    259: 
                    260: Lines beginning with the ``#'' character are considered
                    261: comment lines.
                    262: The ``response_newsgroup'' field and the colon separating
                    263: it from the base_newsgroup field are optional.
                    264: 
                    265:        Entries in this file need be made for only a few reasons:
                    266: (1) The newsgroup which matches the notesfile is longer than fourteen
                    267: characters,
                    268: (2) the notesfile and the newsgroup are different names
                    269: (e.g. the notesfile `Bnews' can be linked to the newsgroup `net.news.b'
                    270: with an entry of `Bnews:net.news.b'),
                    271: (3) you want several newsgroups linked to a single notesfile,
                    272: and
                    273: (4) notes and responses from a notesfile should go to
                    274: different newsgroups (net.general/net.followup is one example).
                    275: The file is scanned from the beginning until EOF or a match is found.
                    276: When no match is found, the code returns the original argument as if
                    277: it had matched itself.
                    278: The process is similar to having placed a sentinel line of the
                    279: form:
                    280: 
                    281:        myarg:myarg
                    282: 
                    283: at the end of the file.
                    284: 
                    285:        The optional third field in the line is used to send 
                    286: notes and responses from a notesfile to separate newsgroups.
                    287: The net.general/net.followup convention is an example of
                    288: how this would be used.
                    289: Typically the net.general and net.followup newsgroups are
                    290: mapped into the same notesfile.
                    291: To preserve peace with news users, responses written in a
                    292: notesfile `net.general' should go to the newsgroup `net.followup'.
                    293: The following pair of lines will map all news from net.general
                    294: and net.followup into the notesfile net.general. 
                    295: Base notes from the notesfile net.general will go to the newsgroup
                    296: net.general;
                    297: responses in the net.general notesfile will be sent to
                    298: the net.followup newsgroup.
                    299: 
                    300: .nf
                    301:        net.general:net.general:net.followup
                    302:        net.general:net.followup
                    303: .fi
                    304: 
                    305: The first line maps news in net.general to the notesfile net.general.
                    306: It also does the mapping from notesfiles to newsgroups.
                    307: The second line maps news from net.followup into the notesfile
                    308: net.general.
                    309: Note that the response field is not used in the mapping from
                    310: newsgroups to notesfiles; it is used only for mapping notesfile
                    311: responses into a different newsgroup.
                    312: 
                    313:        To map several newsgroups into the same notesfile, 
                    314: place lines of the following form in the ``newsgroups'' file:
                    315: 
                    316: .nf
                    317:        somenotesfile:newsgroup1
                    318:        somenotesfile:newsgroup2
                    319: .fi
                    320: 
                    321: If you wish to have articles from the notesfile ``somenotesfile''
                    322: go to both of the newsgroups, insert a line before the above lines
                    323: to map articles going to notesfiles.
                    324: The result would look like:
                    325: 
                    326: .nf
                    327:        somenotesfile:newsgroup1,newsgroup2
                    328:        somenotesfile:newsgroup1
                    329:        somenotesfile:newsgroup2
                    330: .fi
                    331: 
                    332: The first line is the one used for articles going from notesfiles
                    333: to news; the newsgroups specification ``newsgroup1,newsgroup2''
                    334: is used on those articles.
                    335: Articles coming from the newsgroup ``newsgroup1'' will fail to
                    336: match the first line, since the program expects exact matching.
                    337: They will match the second line and be mapped to the 
                    338: notesfile ``somenotesfile''.
                    339: 
                    340: .a1 "Typical Configurations"
                    341: 
                    342:        A typical notesfile subnetwork contains a number of
                    343: pure notesfile sites and several sites running both news and
                    344: notesfiles.
                    345: In these situations, some subset of the sites running
                    346: both notes and news
                    347: act as gateway sites.
                    348: The pure notesfile sites don't concern themselves with 
                    349: gateway operations.
                    350: The gateway sites typically gateway all notes-generated
                    351: articles to news.
                    352: Duplicate articles, gatewayed at several sites,
                    353: will propogate across the news network.
                    354: When two or more of these articles meet at some site, the
                    355: superflous copy will be removed from the network.
                    356: 
                    357:        If none of the sites in the notesfile subnetwork
                    358: run the news program,
                    359: the gateway site will be one or more of the sites having
                    360: neighbors that do run news.
                    361: These gateway sites will run newsoutput and direct the
                    362: output to the news site by making the appropriate
                    363: entry in /usr/spool/notes/.utilities/net.how
                    364: for the pseudo-site ``Usenet''.
                    365: 
                    366: .a1 "News Gateway Installation Checklist"
                    367: 
                    368:        The following checklist covers the variables in the
                    369: ``newsgate.h'' file which may need to be changed on your system.
                    370: It also mentions which files to modify to automate the transfer
                    371: of articles between the two systems.
                    372: 
                    373: .bz
                    374: .iz
                    375: [edit] src/newsgate.h
                    376: .iz
                    377: MYDOMAIN.
                    378: This should be set to the domain your site is in.
                    379: Typical domains are ``UUCP'' and ``ARPA''.
                    380: .iz
                    381: DFLTRNEWS.
                    382: The news receiving program. 
                    383: This can normally be left as is;
                    384: alternate news insertion methods can be specified
                    385: with more flexibility through the net.how file.
                    386: .iz
                    387: EXPANDPATH.
                    388: If defined, the code looks in the file specified
                    389: by PATHMAP for a route to an author's system.
                    390: The code which does this is in ``src/newspath.c''
                    391: and expects a particular format in the PATHMAP 
                    392: file.
                    393: You may wish to replace it with code of your own if
                    394: your data base is in a different format.
                    395: .iz
                    396: PATHMAP.
                    397: This is the full pathname of the routing tables
                    398: used if EXPANDPATH is defined.
                    399: .iz
                    400: [finished editing] src/newsgate.h
                    401: .iz
                    402: make newsouput newsinput.
                    403: This will recompile the notesfile/news gateway programs.
                    404: .iz
                    405: Check /usr/lib/news/sys
                    406: to see that news will be forwarded to the notesfile system.
                    407: .iz
                    408: Make entries in /usr/lib/crontab to
                    409: invoke newsoutput occcasionally.
                    410: We use every 6 hours.
                    411: .iz
                    412: If the news system is on another machine or in a non-standard
                    413: place,
                    414: modify 
                    415: /usr/spool/notes/.utilities/net.how.
                    416: Add a pseudo-site ``Usenet'' which specifies how to
                    417: get to the remote machine.  One example is:
                    418: .br
                    419:        Usenet:x:::uux - -z neighbor!/usr/bin/rnews
                    420: .iz
                    421: Check /usr/spool/notes/.utilities/newsgroups.
                    422: A sample of how this file will look is included in the
                    423: ``Samples'' directory of the distribution.
                    424: .iz
                    425: Everything should be configured now.
                    426: You will probably want to run several tests on local
                    427: or limited distribution newsgroups to satisfy yourself
                    428: that it works.
                    429: .ez

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.