[news.software.anu-news] NEWS V5.9B diff/patch 9/11

gih900@csc.anu.oz (Geoff Huston) (11/25/89)

+-+-+-+ Beginning of part 9 +-+-+-+
X! #define EXP_TIME        20
X  #define GRP_TIME        60
X `032
X  /*
$ GOSUB UNPACK_FILE

$ FILE_IS = "NEWSSKIM.DIFF"
$ CHECKSUM_IS = 1985494834
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]newsskim.c
X--- [.news_src]newsskim.c
$ GOSUB UNPACK_FILE

$ FILE_IS = "NEWSSKIP.DIFF"
$ CHECKSUM_IS = 1985494834
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]newsskip.c
X--- [.news_src]newsskip.c
$ GOSUB UNPACK_FILE

$ FILE_IS = "NEWSUTILITY.DIFF"
$ CHECKSUM_IS = 1864043527
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]newsutility.c
X--- [.news_src]newsutility.c
X**************
X*** 1784,1789
X    char itemhold[40];
X `032
X    newsgroup_status_line(curr_g);
X    iap = gap->grp_ia;
X    if (gap->grp_count)
X      sprintf(tmp,"%s: %d Items (#%d - #%d) %s",gap->grp_name,gap->grp_count,
X--- 1784,1790 -----
X    char itemhold[40];
X `032
X    newsgroup_status_line(curr_g);
X+   if (!gap->grp_ia) map_items(curr_g);
X    iap = gap->grp_ia;
X    if (gap->grp_count)
X      sprintf(tmp,"%s: %d Items (#%d - #%d) %s",gap->grp_name,gap->grp_count,
$ GOSUB UNPACK_FILE

$ FILE_IS = "NEWSV58_UPGRADE.DIFF"
$ CHECKSUM_IS = 0
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X
$ GOSUB UNPACK_FILE

$ FILE_IS = "NEWSVARIABLES.DIFF"
$ CHECKSUM_IS = 1985494846
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]newsvariables.h
X--- [.news_src]newsvariables.h
$ GOSUB UNPACK_FILE

$ FILE_IS = "NEWSVMSMAIL.DIFF"
$ CHECKSUM_IS = 572078297
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]newsvmsmail.c
X--- [.news_src]newsvmsmail.c
X**************
X*** 1,7
X  /*
X  **++
X  **  FACILITY:
X! **      NEWSMAIL
X  **
X  **  ABSTRACT:
X  **      Routines which use callable mail to map VMS mail into NEWS.
X--- 1,7 -----
X  /*
X  **++
X  **  FACILITY:
X! **      NEWSVMSMAIL
X  **
X  **  ABSTRACT:
X  **      Routines which use callable mail to map VMS mail into NEWS.
X**************
X*** 22,28
X  **--
X  **/
X  `012
X! #module NEWSMAIL "V5.8"
X `032
X  #include "newsinclude.h"
X  #include "newsdefine.h"
X--- 22,28 -----
X  **--
X  **/
X  `012
X! #module NEWSVMSMAIL "V5.8"
X `032
X  #include "newsinclude.h"
X  #include "newsdefine.h"
X**************
X*** 124,129
X `032
X    if (!(fn_dsc->dsc$w_length)) return(1);
X    tmp = malloc(sizeof *tmp);
X    tmp->folder_name = malloc(fn_dsc->dsc$w_length + 1);
X    strncpy(tmp->folder_name,fn_dsc->dsc$a_pointer,fn_dsc->dsc$w_length);
X    tmp->folder_name[fn_dsc->dsc$w_length] = '\0';
X--- 124,130 -----
X `032
X    if (!(fn_dsc->dsc$w_length)) return(1);
X    tmp = malloc(sizeof *tmp);
X+   tmp->fnext = 0;
X    tmp->folder_name = malloc(fn_dsc->dsc$w_length + 1);
X    strncpy(tmp->folder_name,fn_dsc->dsc$a_pointer,fn_dsc->dsc$w_length);
X    tmp->folder_name[fn_dsc->dsc$w_length] = '\0';
X**************
X*** 728,734
X      err_line("\tNot a MAIL folder\n");
X      return(0);
X      `125
X!   all = ((news_context == 1) `124`124 (cli$present("ALL") & 1));
X    if (cli$get_value(c$dsc("FOLDER"),&f_d,&f_l) == CLI$_ABSENT) `123
X      char prm[80];
X `032
X--- 729,735 -----
X      err_line("\tNot a MAIL folder\n");
X      return(0);
X      `125
X!   all = ((news_context == 1) `124`124 (cli$present(c$dsc("ALL")) & 1));
X    if (cli$get_value(c$dsc("FOLDER"),&f_d,&f_l) == CLI$_ABSENT) `123
X      char prm[80];
X `032
$ GOSUB UNPACK_FILE

$ FILE_IS = "NEWS_HLP.DIFF"
$ CHECKSUM_IS = 1985495234
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]news.hlp
X--- [.news_src]news.hlp
$ GOSUB UNPACK_FILE

$ FILE_IS = "NNTP_CLIENT.DIFF"
$ CHECKSUM_IS = 1985494578
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]nntp_client.c
X--- [.news_src]nntp_client.c
$ GOSUB UNPACK_FILE

$ FILE_IS = "NNTP_DEC.DIFF"
$ CHECKSUM_IS = 1985494842
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]nntp_dec.c
X--- [.news_src]nntp_dec.c
$ GOSUB UNPACK_FILE

$ FILE_IS = "NNTP_DECM.DIFF"
$ CHECKSUM_IS = 1985494838
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]nntp_decm.c
X--- [.news_src]nntp_decm.c
$ GOSUB UNPACK_FILE

$ FILE_IS = "NNTP_FEED.DIFF"
$ CHECKSUM_IS = 1565736823
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]nntp_feed.c
X--- [.news_src]nntp_feed.c
X**************
X*** 31,37
X  **--
X  **/
X  `012
X- #ifdef vax11c
X  #module NNTP_FEED "V5.8"
X  #endif
X `032
X--- 31,36 -----
X  **--
X  **/
X  `012
X  #module NNTP_FEED "V5.8"
X `032
X  #include "newsinclude.h"
X**************
X*** 33,39
X  `012
X  #ifdef vax11c
X  #module NNTP_FEED "V5.8"
X- #endif
X `032
X  #include "newsinclude.h"
X  #include "newsdefine.h"
X--- 32,37 -----
X  **/
X  `012
X  #module NNTP_FEED "V5.8"
X `032
X  #include "newsinclude.h"
X  #include "newsdefine.h"
X**************
X*** 38,44
X  #include "newsinclude.h"
X  #include "newsdefine.h"
X `032
X- #ifdef vax11c
X  #include iodef
X  #include lnmdef
X  #include time
X--- 36,41 -----
X  #include "newsinclude.h"
X  #include "newsdefine.h"
X `032
X  #include iodef
X  #include lnmdef
X  #include time
X**************
X*** 44,55
X  #include time
X  #include psldef
X  #include signal
X- #else
X- #include <iodef.h>
X- #include <lnmdef.h>
X- #include <time.h>
X- #include <psldef.h>
X- #endif
X `032
X  #define LOG_TABLE   "LNM$SYSTEM"
X `032
X--- 41,46 -----
X  #include time
X  #include psldef
X  #include signal
X `032
X  #define LOG_TABLE   "LNM$SYSTEM"
X `032
X**************
X*** 62,68
X `032
X  #define CMUTCP     1
X  #define  WINTCP     2
X! #define  SRITCP     3
X `032
X  #ifdef TWG
X  #define  TWG        1
X--- 53,59 -----
X `032
X  #define CMUTCP     1
X  #define  WINTCP     2
X! #define  MULTINETTCP     3
X `032
X  #ifdef TWG
X  #define  TWG        1
X**************
X*** 67,74
X  #ifdef TWG
X  #define  TWG        1
X  #else
X! #ifdef SRI
X! #define  SRI        1
X  #endif
X  #endif
X `032
X--- 58,65 -----
X  #ifdef TWG
X  #define  TWG        1
X  #else
X! #ifdef MULTINET
X! #define  MULTINET        1
X  #endif
X  #endif
X `032
X**************
X*** 72,78
X  #endif
X  #endif
X `032
X! #if TWG `124`124 SRI
X  #include <types.h>
X  #include <socket.h>
X  #include <netdb.h>
X--- 63,69 -----
X  #endif
X  #endif
X `032
X! #if TWG `124`124 MULTINET
X  #include <types.h>
X  #include <socket.h>
X  #include <netdb.h>
X**************
X*** 153,159
X          datum[32],
X          logfile[256],
X          dbgfile[256],
X!         idfile[256];
X  `012
X  dat()
X  `123
X--- 144,151 -----
X          datum[32],
X          logfile[256],
X          dbgfile[256],
X!         idfile[256],
X! `009tmpf[256];
X  `012
X  dat()
X  `123
X**************
X*** 422,430
X          `125
X  #if TWG
X      else if (proto == WINTCP) `123
X!         if (sys$assign(c$dsc("INET:"),&net_chan,0,0) & 1) `123
X! #elif SRI
X!     else if (proto == SRITCP) `123
X          if (sys$assign(c$dsc("INET0:"),&net_chan,0,0) & 1) `123
X  #endif
X  #if TWG `124`124 SRI
X--- 414,421 -----
X          `125
X  #if TWG
X      else if (proto == WINTCP) `123
X! #elif MULTINET
X!     else if (proto == MULTINETTCP) `123
X          if (sys$assign(c$dsc("INET0:"),&net_chan,0,0) & 1) `123
X  #endif
X `032
X**************
X*** 427,433
X      else if (proto == SRITCP) `123
X          if (sys$assign(c$dsc("INET0:"),&net_chan,0,0) & 1) `123
X  #endif
X! #if TWG `124`124 SRI
X              if ((sys$qiow(0,net_chan,IO$_SOCKET,&read_iosb,0,0,
X                      AF_INET,SOCK_STREAM,0,0,0,0) & 1) &&
X                 (read_iosb.iostatus & 1)) `123
X--- 418,425 -----
X      else if (proto == MULTINETTCP) `123
X          if (sys$assign(c$dsc("INET0:"),&net_chan,0,0) & 1) `123
X  #endif
X!`032
X! #if TWG `124`124 MULTINET
X              if ((sys$qiow(0,net_chan,IO$_SOCKET,&read_iosb,0,0,
X                      AF_INET,SOCK_STREAM,0,0,0,0) & 1) &&
X                 (read_iosb.iostatus & 1)) `123
X**************
X*** 453,459
X          `125
X  #endif
X      else `123
X!         sprintf(netobj,"%s::\"NEWS=\"",node);
X          return(sys$assign(c$dsc(netobj),&net_chan,0,0) & 1);
X          `125
X  `125
X--- 445,451 -----
X          `125
X  #endif
X      else `123
X!         sprintf(netobj,"%s::\"TASK=NNTP\"",node);
X          return(sys$assign(c$dsc(netobj),&net_chan,0,0) & 1);
X          `125
X  `125
X**************
X*** 482,488
X `032
X  toggle_link()
X  `123
V!     if (!nntp_write("YCMND") `124`124 (!(wait_net_response(RESP_TIMER,1))))
X `123
X          if (*net_open_chan) `123
X              close_net();
X              printf("Lost connection to NEWS SERVER ([%c] %s)",
X--- 474,480 -----
X `032
X  toggle_link()
X  `123
V!     if (!nntp_write("STAT") `124`124 (!(wait_net_response(RESP_TIMER,1))))
X `123
X          if (*net_open_chan) `123
X              close_net();
X              printf("Lost connection to NEWS SERVER ([%c] %s)",
X**************
X*** 514,520
X  /*
X   *  open_rem_chan
X   *
X!  *  Open channel to remote NNTP server on host name node, using protocol
X   *  proto_num (3 == SRITCP, 2 == WINTCP, 1 == CMUTCP, 0 = DECNET)
X   */
X `032
X--- 506,512 -----
X  /*
X   *  open_rem_chan
X   *
X!  *  proto_num (3 == MULTINETTCP, 2 == WINTCP, 1 == CMUTCP, 0 = DECNET)
X   *  proto_num (3 == SRITCP, 2 == WINTCP, 1 == CMUTCP, 0 = DECNET)
X   */
X `032
X**************
X*** 588,594
X      if (lines_written) `123
X          while (fgets(inpstr,132,fpr)) fprintf(fpw,"%s",inpstr);
X          fclose(fpw);
X!         lib$rename_file(c$dsc("nntpfeed.tmp"),c$dsc(idfile),
X                          0,0,0,0,0,0,0,0,0,0);
X          strcat(idfile,";-1");
X          delete(idfile);
X--- 580,586 -----
X      if (lines_written) `123
X          while (fgets(inpstr,132,fpr)) fprintf(fpw,"%s",inpstr);
X          fclose(fpw);
X!         lib$rename_file(c$dsc(tmpf),c$dsc(idfile),
X                          0,0,0,0,0,0,0,0,0,0);
X          strcat(idfile,";-1");
X          delete(idfile);
X**************
X*** 595,601
X          `125
X      else `123
X          fclose(fpw);
X!         delete("nntpfeed.tmp;");
X          `125
X      if (type==MAX_OFFERED) `123
X  `009int len = 3;
X--- 587,593 -----
X          `125
X      else `123
X          fclose(fpw);
X!         delete(tmpf);
X          `125
X      if (type==MAX_OFFERED) `123
X  `009int len = 3;
X**************
X*** 756,764
X `032
X  #if TWG
X      if (tolower(*proto) == 't') proto_num = WINTCP;
X!     if (tolower(*proto) == 'w') proto_num = WINTCP;
X! #elif SRI
X!     if (tolower(*proto) == 't') proto_num = SRITCP;
X      if (tolower(*proto) == 's') proto_num = SRITCP;
X  #else
X      if (tolower(*proto) == 't') proto_num = CMUTCP;
X--- 748,756 -----
X `032
X  #if TWG
X      if (tolower(*proto) == 't') proto_num = WINTCP;
X! #elif MULTINET
X!     if (tolower(*proto) == 't') proto_num = MULTINETTCP;
X!     if (tolower(*proto) == 'm') proto_num = MULTINETTCP;
X      if (tolower(*proto) == 's') proto_num = SRITCP;
X  #else
X      if (tolower(*proto) == 't') proto_num = CMUTCP;
X**************
X*** 771,777
X          exit(1);
X          `125
X      if (cp = strchr(idfile,';')) *cp = '\0';
X!     fpw = fopen("nntpfeed.tmp","w");
X      if(debugging) fpd = fopen(dbgfile,"w");
X `032
X      printf("\tConnecting to NEWS SERVER on node %s:: ...\n",node);
X--- 763,774 -----
X          exit(1);
X          `125
X      if (cp = strchr(idfile,';')) *cp = '\0';
X!     strcpy(tmpf,idfile);
X!     if (cp = strrchr(tmpf,']')) cp++;
X!     else if (cp = strrchr(tmpf,':')) cp++;
X!     else cp = tmpf;
X!     sprintf(cp,"NNTP_%X.TMP",getpid());  `032
X!     fpw = fopen(tmpf,"w");
X      if(debugging) fpd = fopen(dbgfile,"w");
X `032
X      printf("\tConnecting to NEWS SERVER on node %s:: ...\n",node);
$ GOSUB UNPACK_FILE

$ FILE_IS = "NNTP_SERVER.DIFF"
$ CHECKSUM_IS = 996230204
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]nntp_server.c
X--- [.news_src]nntp_server.c
X**************
X*** 90,96
X  #define LOG_TABLE   "LNM$SYSTEM"
X `032
X                              /* file names */
X! #define NEWSBATCH       "NEWS_MANAGER:NNTP.BATCH"
X `032
V  #define CLOSE_LINK      0   /* Status flags passed between server and drive
Xr */
X  #define NO_INPUT        0
X--- 90,97 -----
X  #define LOG_TABLE   "LNM$SYSTEM"
X `032
X                              /* file names */
X! #define NEWSBATCH       "NEWS_MANAGER:NNTP_%X.BATCH"
X! #define NEWS_BATCH_SIZE 250000
X `032
V  #define CLOSE_LINK      0   /* Status flags passed between server and drive
Xr */
X  #define NO_INPUT        0
X**************
X*** 259,265
X  GRP newsgrp;                    /* newsgroup i/o buffer */
X `032
X  static
X! int mail_add_expiry;
X `032
X  sysprv()
X  `123
X--- 260,267 -----
X  GRP newsgrp;                    /* newsgroup i/o buffer */
X `032
X  static
X! int mail_add_expiry,
X!     ihave_size = 0;
X `032
X  sysprv()
X  `123
X**************
X*** 1102,1107
X    fseek(fpr,0,0);
X    while (fgets(xfrbuf,IO_SIZE,fpr)) `123
X      if (*xfrbuf == '\n') break;
X      if (isspace(*xfrbuf)) `123
X        if (curr_line) `123
V          curr_line = realloc(curr_line,strlen(curr_line) + strlen(xfrbuf) +
X 1);
X--- 1104,1111 -----
X    fseek(fpr,0,0);
X    while (fgets(xfrbuf,IO_SIZE,fpr)) `123
X      if (*xfrbuf == '\n') break;
X+     if (xfrbuf[strlen(xfrbuf)-1]=='\n')
X+       xfrbuf[strlen(xfrbuf)-1]='\0'; /* remove newline (POK) */
X      if (isspace(*xfrbuf)) `123
X        if (curr_line) `123
V          curr_line = realloc(curr_line,strlen(curr_line) + strlen(xfrbuf) +
X 1);
X**************
X*** 1247,1256
X `032
X  static
X  add_item(fn,mode,msgbuf,stm)
X!     char *fn;
X!     int mode;
X!     char *msgbuf;
X!     int stm;
X  `123
X      FILE *fpr,
X           *fpw;
X--- 1251,1260 -----
X `032
X  static
X  add_item(fn,mode,msgbuf,stm)
X!   char *fn;
X!   int mode;
X!   char *msgbuf;
X!   int stm;
X  `123
X    FILE *fpr,
X         *fpw;
X**************
X*** 1252,1260
X      char *msgbuf;
X      int stm;
X  `123
X!     FILE *fpr,
X!          *fpw;
X!     char line[BUFF_STRLEN];
X `032
X      if (mode == POST) return(post_add_item(fn,msgbuf,stm));
X `032
X--- 1256,1266 -----
X    char *msgbuf;
X    int stm;
X  `123
X!   FILE *fpr,
X!        *fpw;
X!   char line[BUFF_STRLEN],
X!        batch[FILE_STRLEN];
X!   struct stat sbuffer;
X `032
X    if (mode == POST) return(post_add_item(fn,msgbuf,stm));
X `032
X**************
X*** 1256,1262
X           *fpw;
X      char line[BUFF_STRLEN];
X `032
X!     if (mode == POST) return(post_add_item(fn,msgbuf,stm));
X `032
X      if (!(fpr = fopen(fn,"r"))) `123
X          strcpy(msgbuf,"File handler error in NNTP Server.");
X--- 1262,1268 -----
X         batch[FILE_STRLEN];
X    struct stat sbuffer;
X `032
X!   if (mode == POST) return(post_add_item(fn,msgbuf,stm));
X `032
X    if (!(fpr = fopen(fn,"r"))) `123
X      strcpy(msgbuf,"File handler error in NNTP Server.");
X**************
X*** 1258,1277
X `032
X      if (mode == POST) return(post_add_item(fn,msgbuf,stm));
X `032
X!     if (!(fpr = fopen(fn,"r"))) `123
X!         strcpy(msgbuf,"File handler error in NNTP Server.");
-+-+-+-+-+ End of part 9 +-+-+-+-+-