Annotation of 43BSD/contrib/notes/src/newsgate.h, revision 1.1.1.1

1.1       root        1: #if    defined(RCSIDENT) && defined(MAINLINE)
                      2: static char *zznewsgate = "$Header: newsgate.h,v 1.7.0.2 85/07/20 13:44:37 notes Rel $";
                      3: #endif defined(RCSIDENT) && defined(MAINLINE)
                      4: 
                      5: /*
                      6:  *     newsgate.h
                      7:  *
                      8:  *     This file contains the definitions needed for the notesfile/news
                      9:  *     gateway features.
                     10:  *
                     11:  *     The new (April 4) implementation allows gateing from news to 
                     12:  *     notesfiles at ANY site. Gateing from notes to news is allowed 
                     13:  *     by a SINGLE site (for any given newsgroup) per notesfile 'subnet'.
                     14:  *
                     15:  *     An example:
                     16:  *     4 sites running notesfiles: A,B,C and D.
                     17:  *
                     18:  *     Both A and B run news alongside the notesfile program.
                     19:  *     A and B both gateway news into notesfiles; this is safe
                     20:  *     and does not generate duplicate articles.
                     21:  *     Neither C nor D run news; they do want the articles they
                     22:  *     have written to go to the news system beyond A and B.
                     23:  *     Sites A and B should at least gateway their locally generated
                     24:  *     articles to news.  Sites C and D should each make their own
                     25:  *     arrangements to have their articles passed to the news
                     26:  *     networks.  Good criteria for choosing the site include
                     27:  *     the load of the machine to gateway, how well it is connected
                     28:  *     to the rest of the network and who runs the machine.
                     29:  *     In this case, suppose C goes with A and D goes with B.
                     30:  *     The gateway scripts will look something like:
                     31:  *
                     32:  *     On A:
                     33:  *             newsoutput list                 (local articles (A))
                     34:  *             newsoutput -sC list             (C's articles)
                     35:  *
                     36:  *     On B:
                     37:  *             newsoutput list                 (local articles (B))
                     38:  *             newsoutput -sD list             (D's articles)
                     39:  *
                     40:  *
                     41:  *     Original Coding:        Ray Essick      April 4, 1982
                     42:  *
                     43:  */
                     44: 
                     45: /*
                     46:  *     Definitions that are likely to change between sites:
                     47:  */
                     48: 
                     49: #define                DFLTRNEWS               "rnews"         /* if getnet fails */
                     50: #undef         EXPANDPATH                              /* do indirect links */
                     51: #define                DFLTDOMAIN      "UUCP"                  /* if undomained */
                     52: #define                PATHMAP         "/usr/local/lib/usemap" /* path to the paths */
                     53:                                                        /* pathmap unused. */
                     54: 
                     55: /*
                     56:  *     definitions that aren't likely to be changed.
                     57:  */
                     58: 
                     59: #define        UGLYPATH                                        /* want Path: ....!author */
                     60: 
                     61: #define RNEWSNAME      "Usenet"                        /* getnet pseudohost */
                     62: #define        NEWSSYS         "Anysystem"                     /* news' sequencer */
                     63: #define        NEWSSEQ         "News"                          /* prefix for above */
                     64: #define        NEWSALIAS       "newsgroups"                    /* mapping file */
                     65: #define        NGRPLEN         30                              /* longest newsgroup */
                     66: #define        NEWSNF          1                               /* alias news->nf */
                     67: #define        NFBASENEWS      2                               /* alias nf->news */
                     68: #define        NFRESPNEWS      3                               /* alias nf->news */
                     69: #define        OLDSUFFIX       "- from a notesfile"            /* catch loops */
                     70: #define        NFSUFFIX        "- (nf)"                        /* catch nf-news-nf */
                     71: #define        CTL             ".ctl"                          /* control msgs */
                     72: #define        SLEEPTIME       10                              /* between rnews' */
                     73: #define        GATEMAX         100                             /* for newsoutput -c */
                     74: #define        AUTHORPLACEHOLDER       "seefromline"           /* for Path: line */
                     75: 
                     76: /*
                     77:  *     classes to send back
                     78:  */
                     79: 
                     80: #define                NEWS_ALLSEND    001                     /* all non-local */
                     81: #define                NEWS_LOCALSEND  002                     /* local articles */
                     82: 
                     83: 
                     84: /*
                     85:  *     stuff to be compatible with Salkind/Spickelmier work
                     86:  *     Most of these are carried over from the news system.
                     87:  */
                     88: 
                     89: #define        NGDELIM         ','
                     90: #define        NEGCHAR         '!'                             /* negation */
                     91: #define        PROTO           'A'                             /* A-news protocol */
                     92: #define        NUMGROUPS       5
                     93: 
                     94: /*
                     95:  *     Definitions for the New and Improved version thanks to
                     96:  *     Tw Cook of Hewlett-Packard.
                     97:  */
                     98: 
                     99: #define                NFLINE1 "Nf-ID"                         /* parent, etc */
                    100: #define                NFLINE2 "Nf-From"                       /* author,dates */
                    101: 
                    102: 
                    103: extern char *tzone ();                                 /* in newsdump.c */
                    104: extern char *getpath ();                               /* in newspath.c */
                    105: extern char *Version;                                  /* in newsdump.c */
                    106: extern char rnewscmd[];                                        /* in newsoutput.c */
                    107: extern int  sendclass;                                 /* classes to send */
                    108: 
                    109: /*
                    110:  *     The following lines are from the B-news program.
                    111:  *
                    112:  * header.h - Article header format
                    113:  *
                    114:  *     @(#)header.h    2.11    4/24/83";
                    115:  */
                    116: 
                    117: #define                NUNREC          50                      /* bnews:header.h */
                    118: #define                BUFLEN          256                     /* bnews:defs.h */
                    119: #define                PATHLEN         512                     /* bnews:defs.h */
                    120: #define                NAMELEN         64                      /* bnews:defs.h */
                    121: #define                NETCHRS         "!:.@^%"                /* bnews:defs.h */
                    122: #define                LBUFLEN         1024                    /* bnews:defs.h */
                    123: #define                BDATE           64                      /* bnews:defs.h */
                    124:                                                        /* was DATELEN */
                    125: 
                    126: struct hbuf                                            /* article header */
                    127: {                                                      /* bnews:header.h */
                    128:     char    from[BUFLEN];                              /* From: */
                    129:     char    path[PATHLEN];                             /* Path: */
                    130:     char    nbuf[BUFLEN];                              /* Newsgroups: */
                    131:     char    snbuf[BUFLEN];                             /* Squashed nbuf. */
                    132:     char    title[BUFLEN];                             /* Subject: */
                    133:     char    oident[BUFLEN];                            /* Article-I.D.: */
                    134:     char    ident[BUFLEN];                             /* Message-ID: */
                    135:     char    replyto[BUFLEN];                           /* Reply-To: */
                    136:     char    followid[BUFLEN];                          /* References: */
                    137:     char    subdate[BDATE];                            /* (submitted) Date: */
                    138:     long    subtime;                                   /* subdate in secs */
                    139:     char    recdate[BDATE];                            /* Date-Received: */
                    140:     long    rectime;                                   /* recdate in secs */
                    141:     char    expdate[BDATE];                            /* Expires: */
                    142:     long    exptime;                                   /* expdate in secs */
                    143:     char    ctlmsg[PATHLEN];                           /* Control: */
                    144:     char    sender[BUFLEN];                            /* Sender: */
                    145:     char    followto[BUFLEN];                          /* Followup-to: */
                    146:     char    postversion[BUFLEN];                       /* Post-Version: */
                    147:     char    relayversion[BUFLEN];                      /* Relay-Version: */
                    148:     char    distribution[BUFLEN];                      /* Distribution: */
                    149:     char    organization[BUFLEN];                      /* Organization: */
                    150:     char    numlines[8];                               /* Lines: */
                    151:     int     intnumlines;                               /* Integer version */
                    152:     char    keywords[BUFLEN];                          /* Keywords: */
                    153:     char    approved[BUFLEN];                          /* Approved: */
                    154:     char    nline1[BUFLEN];                            /* NF-Id: */
                    155:     char    nline2[BUFLEN];                            /* NF-From: */
                    156:     char   *unrec[NUNREC];                             /* unrecognized lines */
                    157: };

unix.superglobalmegacorp.com

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