gih900@csc.anu.oz (Geoff Huston) (10/10/89)
-+-+-+-+-+-+-+-+ START OF PART 3 -+-+-+-+-+-+-+-+
*** `091.news_v59_src`093newsselect.c
X--- `091.news_src`093newsselect.c
$ CALL UNPACK NEWSSELECT.DIFF;2 1985495098
$ create/nolog 'f'
X*** `091.news_v59_src`093newssetshow.c
X--- `091.news_src`093newssetshow.c
X**************
X*** 1205,1213
X check_access(g)
X int g;
X `123
X! char acline`091256`093, cknode`091132`093, mod`091132`093,
X! *cp, *ap, *op;
X! FILE *fpd;
X `032
X ga`091g`093->grp_flags `124= NEWS_M_ACCESS_CHECKED;
X if (ga`091g`093->grp_flags & NEWS_M_MAILMODERATE) `123
X--- 1205,1213 -----
X check_access(g)
X int g;
X `123
X! char acline`091256`093, cknode`091132`093, mod`091132`093,
X! *cp, *ap, *op;
X! FILE *fpd;
X `032
X ga`091g`093->grp_flags `124= NEWS_M_ACCESS_CHECKED;
X if (ga`091g`093->grp_flags & NEWS_M_MAILMODERATE) `123
X**************
X*** 1209,1221
X *cp, *ap, *op;
X FILE *fpd;
X `032
X! ga`091g`093->grp_flags `124= NEWS_M_ACCESS_CHECKED;
X! if (ga`091g`093->grp_flags & NEWS_M_MAILMODERATE) `123
X! sprintf(mod,"%s@%s",usr_username,Node_address);
X! if (!strcmp(mod,moderator_address(ga`091g`093->grp_name))) `123
X! ga`091g`093->grp_flags `124= (NEWS_M_MOD_USER `124 NEWS_M_WRIT
VE_ACCESS);
X! return;
X! `125
X `125
X if (!(ga`091g`093->grp_flags & NEWS_M_NOWRITE_SET)) ga`091g`093->grp_
Vflags `124= NEWS_M_WRITE_ACCESS;
X sprintf(itm_fname,Access_template,util_dir(ga`091g`093->grp_name));
X--- 1209,1246 -----
X *cp, *ap, *op;
X FILE *fpd;
X `032
X! ga`091g`093->grp_flags `124= NEWS_M_ACCESS_CHECKED;
X! if (ga`091g`093->grp_flags & NEWS_M_MAILMODERATE) `123
X! sprintf(mod,"%s@%s",usr_username,Node_address);
X! if (!strcmp(mod,moderator_address(ga`091g`093->grp_name))) `123
X! ga`091g`093->grp_flags `124= (NEWS_M_MOD_USER `124 NEWS_M_WRITE_ACCE
VSS);
X! return;
X! `125
X! `125
X! if (!(ga`091g`093->grp_flags & NEWS_M_NOWRITE_SET))
X! ga`091g`093->grp_flags `124= NEWS_M_WRITE_ACCESS;
X! sprintf(itm_fname,Access_template,util_dir(ga`091g`093->grp_name));
X! sysprv();
X! if (fpd = fopen(itm_fname,"r")) `123
X! while (fgets(acline,256,fpd)) `123
X! if (*acline == '#') continue;
X! if (cp = strchr(acline,'\n')) *cp = ' ';
X! s_to_lower(acline);
X! if (cp = strchr(acline,' ')) *cp = '\0';
X! if (ap = strchr(acline,'@')) *ap = '\0';
X! if (op = strchr(acline,':')) *op = '\0';
X! if ( !strcmp(acline,usr_username)
X! `124`124 wild_match(usr_username,acline)
X! `124`124 idmatch(acline)) `123
X! if (cp) *cp = ' ';
X! if (ap) *ap = '@';
X! if (strchr(acline,'@')) `123
X! sprintf(cknode,"@%s ",news_node);
X! if (!substrcmp(cp,cknode)) continue;
X! `125
X! if (substrcmp(cp," write ")) ga`091g`093->grp_flags `124= NEWS_M_W
VRITE_ACCESS;
X! if (substrcmp(cp," nowrite ")) ga`091g`093->grp_flags &= `126NEWS_
VM_WRITE_ACCESS;
X! if (substrcmp(cp," moderate ")) ga`091g`093->grp_flags `124= (NEWS
V_M_MOD_USER `124 NEWS_M_WRITE_ACCESS);
X `125
X `125
X fclose(fpd);
X**************
X*** 1217,1248
X return;
X `125
X `125
X! if (!(ga`091g`093->grp_flags & NEWS_M_NOWRITE_SET)) ga`091g`093->grp_
Vflags `124= NEWS_M_WRITE_ACCESS;
X! sprintf(itm_fname,Access_template,util_dir(ga`091g`093->grp_name));
X! sysprv();
X! if (fpd = fopen(itm_fname,"r")) `123
X! while (fgets(acline,256,fpd)) `123
X! if (*acline == '#') continue;
X! if (cp = strchr(acline,'\n')) *cp = ' ';
X! s_to_lower(acline);
X! if (cp = strchr(acline,' ')) *cp = '\0';
X! if (ap = strchr(acline,'@')) *ap = '\0';
X! if (op = strchr(acline,':')) *op = '\0';
X! if (!strcmp(acline,usr_username) `124`124 wild_match(usr_usern
Vame,acline) `124`124 idmatch(acline)) `123
X! if (cp) *cp = ' ';
X! if (ap) *ap = '@';
X! if (strchr(acline,'@')) `123
X! sprintf(cknode,"@%s ",news_node);
X! if (!substrcmp(cp,cknode)) continue;
X! `125
X! if (substrcmp(cp," write ")) ga`091g`093->grp_flags `124=
V NEWS_M_WRITE_ACCESS;
X! if (substrcmp(cp," nowrite ")) ga`091g`093->grp_flags &= `
V126NEWS_M_WRITE_ACCESS;
X! if (substrcmp(cp," moderate ")) ga`091g`093->grp_flags `12
V4= (NEWS_M_MOD_USER `124 NEWS_M_WRITE_ACCESS);
X! `125
X! `125
X! fclose(fpd);
X! `125
X! nosysprv();
X `125
X `012
X do_set_mod()
X--- 1242,1251 -----
X if (substrcmp(cp," nowrite ")) ga`091g`093->grp_flags &= `126NEWS_
VM_WRITE_ACCESS;
X if (substrcmp(cp," moderate ")) ga`091g`093->grp_flags `124= (NEWS
V_M_MOD_USER `124 NEWS_M_WRITE_ACCESS);
X `125
X! `125
X! fclose(fpd);
X! `125
X! nosysprv();
X `125
X `012
X do_set_mod()
$ CALL UNPACK NEWSSETSHOW.DIFF;2 1333330426
$ create/nolog 'f'
X*** `091.news_v59_src`093newssite.c
X--- `091.news_src`093newssite.c
$ CALL UNPACK NEWSSITE.DIFF;2 1985494834
$ create/nolog 'f'
X*** `091.news_v59_src`093newssite.h
X--- `091.news_src`093newssite.h
$ CALL UNPACK NEWSSITE_H.DIFF;2 1985494834
$ create/nolog 'f'
X*** `091.news_v59_src`093newsskim.c
X--- `091.news_src`093newsskim.c
$ CALL UNPACK NEWSSKIM.DIFF;2 1985494834
$ create/nolog 'f'
X*** `091.news_v59_src`093newsskip.c
X--- `091.news_src`093newsskip.c
$ CALL UNPACK NEWSSKIP.DIFF;2 1985494834
$ create/nolog 'f'
X*** `091.news_v59_src`093newsutility.c
X--- `091.news_src`093newsutility.c
$ CALL UNPACK NEWSUTILITY.DIFF;2 1985494578
$ create/nolog 'f'
$ CALL UNPACK NEWSV58_UPGRADE.DIFF;2 0
$ create/nolog 'f'
X*** `091.news_v59_src`093newsvariables.h
X--- `091.news_src`093newsvariables.h
$ CALL UNPACK NEWSVARIABLES.DIFF;2 1985494846
$ create/nolog 'f'
X*** `091.news_v59_src`093newsvmsmail.c
X--- `091.news_src`093newsvmsmail.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`091fn_dsc->dsc$w_length`093 = '\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`091fn_dsc->dsc$w_length`093 = '\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`09180`093;
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`09180`093;
X `032
$ CALL UNPACK NEWSVMSMAIL.DIFF;2 572078297
$ create/nolog 'f'
X*** `091.news_v59_src`093news.hlp
X--- `091.news_src`093news.hlp
$ CALL UNPACK NEWS_HLP.DIFF;2 1985495234
$ create/nolog 'f'
X*** `091.news_v59_src`093nntp_client.c
X--- `091.news_src`093nntp_client.c
$ CALL UNPACK NNTP_CLIENT.DIFF;2 1985494578
$ create/nolog 'f'
X*** `091.news_v59_src`093nntp_dec.c
X--- `091.news_src`093nntp_dec.c
$ CALL UNPACK NNTP_DEC.DIFF;2 1985494842
$ create/nolog 'f'
X*** `091.news_v59_src`093nntp_decm.c
X--- `091.news_src`093nntp_decm.c
$ CALL UNPACK NNTP_DECM.DIFF;2 1985494838
$ create/nolog 'f'
X*** `091.news_v59_src`093nntp_feed.c
X--- `091.news_src`093nntp_feed.c
X**************
X*** 482,488
X `032
X toggle_link()
X `123
X! if (!nntp_write("YCMND") `124`124 (!(wait_net_response(RESP_TIMER,1)))
V) `123
X if (*net_open_chan) `123
X close_net();
X printf("Lost connection to NEWS SERVER (`091%c`093 %s)",
X--- 482,488 -----
X `032
X toggle_link()
X `123
X! if (!nntp_write("STAT") `124`124 (!(wait_net_response(RESP_TIMER,1))))
V `123
X if (*net_open_chan) `123
X close_net();
X printf("Lost connection to NEWS SERVER (`091%c`093 %s)",
$ CALL UNPACK NNTP_FEED.DIFF;2 1666597739
$ create/nolog 'f'
X*** `091.news_v59_src`093nntp_server.c
X--- `091.news_src`093nntp_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
X #define CLOSE_LINK 0 /* Status flags passed between server and driv
Ver */
X #define NO_INPUT 0
X--- 90,96 -----
X #define LOG_TABLE "LNM$SYSTEM"
X `032
X /* file names */
X! #define NEWSBATCH "NEWS_MANAGER:NNTP_%X.BATCH"
X `032
X #define CLOSE_LINK 0 /* Status flags passed between server and driv
Ver */
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--- 259,266 -----
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*** 1254,1260
X `123
X FILE *fpr,
X *fpw;
X! char line`091BUFF_STRLEN`093;
X `032
X if (mode == POST) return(post_add_item(fn,msgbuf,stm));
X `032
X--- 1255,1262 -----
X `123
X FILE *fpr,
X *fpw;
X! char line`091BUFF_STRLEN`093,
X! batch`091FILE_STRLEN`093;
X `032
X if (mode == POST) return(post_add_item(fn,msgbuf,stm));
X `032
X**************
X*** 1262,1268
X strcpy(msgbuf,"File handler error in NNTP Server.");
X return(0);
X `125
X! if (!(fpw = fopen(NEWSBATCH,"a"))) `123
X strcpy(msgbuf,"File handler error in NNTP Server.");
X return(0);
X `125
X--- 1264,1271 -----
X strcpy(msgbuf,"File handler error in NNTP Server.");
X return(0);
X `125
X! sprintf(batch,NEWSBATCH,getpid());
X! if (!(fpw = fopen(batch,"a"))) `123
X strcpy(msgbuf,"File handler error in NNTP Server.");
X return(0);
X `125
X**************
X*** 1266,1272
X strcpy(msgbuf,"File handler error in NNTP Server.");
X return(0);
X `125
X! fputs("#! rnews 1\n",fpw);
X while (fgets(line,BUFF_STRLEN,fpr)) fputs(line,fpw);
X fclose(fpr);
X fclose(fpw);
X--- 1269,1275 -----
X strcpy(msgbuf,"File handler error in NNTP Server.");
X return(0);
X `125
X! fprintf(fpw,"#! rnews %d\n", (ihave_size > 0 ? ihave_size : 1));
X while (fgets(line,BUFF_STRLEN,fpr)) fputs(line,fpw);
X fclose(fpr);
X fclose(fpw);
X**************
X*** 1271,1276
X fclose(fpr);
X fclose(fpw);
X strcpy(msgbuf,"Item successfully spooled.");
X return(1);
X `125
X `012
X--- 1274,1280 -----
X fclose(fpr);
X fclose(fpw);
X strcpy(msgbuf,"Item successfully spooled.");
X+ while (!delete(fn));
X return(1);
X `125
X `012
X**************
X*** 1817,1826
X */
X `032
X static
X! FILE *openartbyid(id, msg_status,stm)
X! char *id;
X! int *msg_status;
X! int stm;
X `123
X char l_id`091IDLEN + 4`093;
X int i;
X--- 1821,1830 -----
X */
X `032
X static
X! FILE *openartbyid(id,msg_status,stm)
X! char *id;
X! int *msg_status;
X! int stm;
X `123
X char l_id`091IDLEN + 4`093;
X int i;
X**************
X*** 1822,1829
X int *msg_status;
X int stm;
X `123
X! char l_id`091IDLEN + 4`093;
X! int i;
X `032
X *msg_status = M430;
X for (i = 0; i < (IDLEN + 4); ++i) l_id`091i`093 = '\0';
X--- 1826,1833 -----
X int *msg_status;
X int stm;
X `123
X! char l_id`091IDLEN + 4`093;
X! int i;
X `032
X ihave_size = 0;
X *msg_status = M430;
X**************
X*** 1825,1833
X char l_id`091IDLEN + 4`093;
X int i;
X `032
X! *msg_status = M430;
X! for (i = 0; i < (IDLEN + 4); ++i) l_id`091i`093 = '\0';
X! strncpy(l_id,id,IDLEN);
X `032
X grprab.rab$l_kbf = &(newsitm.itm_grp);
X grprab.rab$b_ksz = 4;
X--- 1829,1838 -----
X char l_id`091IDLEN + 4`093;
X int i;
X `032
X! ihave_size = 0;
X! *msg_status = M430;
X! for (i = 0; i < (IDLEN + 4); ++i) l_id`091i`093 = '\0';
X! strncpy(l_id,id,IDLEN);
X `032
X grprab.rab$l_kbf = &(newsitm.itm_grp);
X grprab.rab$b_ksz = 4;
X**************
X*** 1829,1839
X for (i = 0; i < (IDLEN + 4); ++i) l_id`091i`093 = '\0';
X strncpy(l_id,id,IDLEN);
X `032
X! grprab.rab$l_kbf = &(newsitm.itm_grp);
X! grprab.rab$b_ksz = 4;
X! grprab.rab$b_krf = 1;
X! grprab.rab$l_rop = RAB$M_RRL `124 RAB$M_NLK;
X! grprab.rab$b_rac = RAB$C_KEY;
X `032
X itmrab.rab$l_kbf = l_id;
X itmrab.rab$b_ksz = IDLEN + 4;
X--- 1834,1844 -----
X for (i = 0; i < (IDLEN + 4); ++i) l_id`091i`093 = '\0';
X strncpy(l_id,id,IDLEN);
X `032
X! grprab.rab$l_kbf = &(newsitm.itm_grp);
X! grprab.rab$b_ksz = 4;
X! grprab.rab$b_krf = 1;
X! grprab.rab$l_rop = RAB$M_RRL `124 RAB$M_NLK;
X! grprab.rab$b_rac = RAB$C_KEY;
X `032
X itmrab.rab$l_kbf = l_id;
X itmrab.rab$b_ksz = IDLEN + 4;
X**************
X*** 1835,1855
+-+-+-+-+-+-+-+- END OF PART 3 +-+-+-+-+-+-+-+-