chiark / gitweb /
REORG Delete everything that's not innduct or build system or changed for innduct
[innduct.git] / lib / clientlib.c
diff --git a/lib/clientlib.c b/lib/clientlib.c
deleted file mode 100644 (file)
index b0d0268..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-/*  $Id: clientlib.c 6155 2003-01-19 19:58:25Z rra $
-**
-**  Routines compatible with the NNTP "clientlib" routines.
-*/
-#include "config.h"
-#include "clibrary.h"
-
-#include "inn/innconf.h"
-#include "libinn.h"
-#include "nntp.h"
-
-
-FILE   *ser_rd_fp = NULL;
-FILE   *ser_wr_fp = NULL;
-char   ser_line[NNTP_STRLEN + 2];
-
-
-/*
-**  Get the name of the NNTP server.  Ignore the filename; we use
-**  our own configuration stuff.  Return pointer to static data.
-*/
-char *
-getserverbyfile(char *file UNUSED)
-{
-    static char        buff[256];
-
-    strlcpy(buff, innconf->server, sizeof(buff));
-    return buff;
-}
-
-
-/*
-**  Get a connection to the remote news server.  Return server's reply
-**  code or -1 on error.
-*/
-int
-server_init(char *host, int port)
-{
-    char       line2[NNTP_STRLEN];
-
-    /* This interface may be used by clients that assume C News behavior and
-       won't read inn.conf themselves. */
-    if (innconf == NULL)
-        if (!innconf_read(NULL))
-            return -1;
-
-    if (NNTPconnect(host, port, &ser_rd_fp, &ser_wr_fp, ser_line) < 0) {
-       if (ser_line[0] == '\0')
-           /* I/O problem. */
-           return -1;
-
-       /* Server rejected connection; return it's reply code. */
-       return atoi(ser_line);
-    }
-
-    /* Send the INN command; if understood, use that reply. */
-    put_server("mode reader");
-    if (get_server(line2, (int)sizeof line2) < 0)
-       return -1;
-    if (atoi(line2) != NNTP_BAD_COMMAND_VAL)
-       strlcpy(ser_line, line2, sizeof(ser_line));
-
-    /* Connected; return server's reply code. */
-    return atoi(ser_line);
-}
-
-
-#define CANTPOST       \
-    "NOTE:  This machine does not have permission to post articles"
-#define CANTUSE                \
-       "This machine does not have permission to use the %s news server.\n"
-/*
-**  Print a message based on the the server's initial response.
-**  Return -1 if server wants us to go away.
-*/
-int
-handle_server_response(int response, char *host)
-{
-    char       *p;
-
-    switch (response) {
-    default:
-       printf("Unknown response code %d from %s.\n", response, host);
-       return -1;
-     case NNTP_GOODBYE_VAL:
-       if (atoi(ser_line) == response) {
-           p = &ser_line[strlen(ser_line) - 1];
-           if (*p == '\n' && *--p == '\r')
-               *p = '\0';
-           if (p > &ser_line[3]) {
-               printf("News server %s unavailable: %s\n", host,
-                       &ser_line[4]);
-               return -1;
-           }
-       }
-       printf("News server %s unavailable, try later.\n", host);
-       return -1;
-    case NNTP_ACCESS_VAL:
-       printf(CANTUSE, host);
-       return -1;
-    case NNTP_NOPOSTOK_VAL:
-       printf("%s.\n", CANTPOST);
-       /* FALLTHROUGH */
-    case NNTP_POSTOK_VAL:
-       break;
-    }
-    return 0;
-}
-
-
-/*
-**  Send a line of text to the server.
-*/
-void
-put_server(const char *buff)
-{
-    fprintf(ser_wr_fp, "%s\r\n", buff);
-    fflush(ser_wr_fp);
-}
-
-
-/*
-**  Get a line of text from the server, strip trailing \r\n.
-**  Return -1 on error.
-*/
-int
-get_server(char *buff, int buffsize)
-{
-    char       *p;
-
-    if (fgets(buff, buffsize, ser_rd_fp) == NULL)
-       return -1;
-    p = &buff[strlen(buff)];
-    if (p >= &buff[2] && p[-2] == '\r' && p[-1] == '\n')
-       p[-2] = '\0';
-    return 0;
-}
-
-
-/*
-**  Send QUIT and close the server.
-*/
-void
-close_server(void)
-{
-    char       buff[NNTP_STRLEN];
-
-    if (ser_wr_fp != NULL && ser_rd_fp != NULL) {
-       put_server("QUIT");
-       fclose(ser_wr_fp);
-       ser_wr_fp = NULL;
-
-       get_server(buff, (int)sizeof buff);
-       fclose(ser_rd_fp);
-       ser_rd_fp = NULL;
-    }
-}