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 +-+-+-+-+-+-+-+-