Annotation of 43BSDTahoe/new/nntp/server/ihave.c, revision 1.1

1.1     ! root        1: #ifndef lint
        !             2: static char    *sccsid = "@(#)ihave.c  1.10    (Berkeley) 10/15/87";
        !             3: #endif
        !             4: 
        !             5: #include "common.h"
        !             6: 
        !             7: #ifdef LOG
        !             8: int    ih_accepted;
        !             9: int    ih_rejected;
        !            10: int    ih_failed;
        !            11: #endif
        !            12: 
        !            13: /*
        !            14:  * IHAVE <messageid>
        !            15:  *
        !            16:  * Accept an article for transferral if we haven't seen it before.
        !            17:  */
        !            18: 
        !            19: ihave(argc, argv)
        !            20:        int             argc;
        !            21:        char            *argv[];
        !            22: {
        !            23:        char            errbuf[2 * MAX_STRLEN];
        !            24:        int             retcode;
        !            25:        register char   *cp;
        !            26: 
        !            27:        if (argc != 2) {
        !            28:                printf("%d Usage: IHAVE <message-id>.\r\n", ERR_CMDSYN);
        !            29:                (void) fflush(stdout);
        !            30:                return;
        !            31:        }
        !            32: 
        !            33:        cp = gethistent(argv[1]);
        !            34:        if (cp != NULL) {
        !            35:                printf("%d Got it.\r\n", ERR_GOTIT);
        !            36:                (void) fflush(stdout);
        !            37: #ifdef LOG
        !            38:                ih_rejected++;
        !            39: #ifdef IHAVE_DEBUG
        !            40:                syslog(LOG_DEBUG, "%s ihave %s rejected", hostname, argv[1]);
        !            41: #endif
        !            42: #endif
        !            43:                return;
        !            44:        }
        !            45:                
        !            46:        retcode = spawn(rnews, "rnews", (char *) 0, CONT_XFER, ERR_XFERFAIL, errbuf);
        !            47:        if (retcode <= 0)
        !            48:                printf("%d %s\r\n", ERR_XFERFAIL, errbuf);
        !            49:        else if (retcode > 0)
        !            50:                printf("%d Thanks.\r\n",
        !            51:                        OK_XFERED);
        !            52:        (void) fflush(stdout);
        !            53: 
        !            54: #ifdef LOG
        !            55:        if (retcode == 1)
        !            56:                ih_accepted++;
        !            57:        else
        !            58:                ih_failed++;
        !            59:                
        !            60: #ifdef IHAVE_DEBUG
        !            61:        syslog(LOG_DEBUG, "%s ihave %s accepted %s",
        !            62:                hostname, argv[1], retcode == 1 ? "succeeded" : "failed");
        !            63: #endif
        !            64: #endif
        !            65: 
        !            66: }

unix.superglobalmegacorp.com

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