gih900@csc.anu.oz (Geoff Huston) (11/25/89)
+-+-+-+ Beginning of part 8 +-+-+-+ X `032 X toggle_link() X `123 V! if (!nntp_write("YCMND") `124`124 (!(wait_net_response(RESP_TIMER,1)))) ` X123 X if (*net_open_chan) `123 X char proto_type; X `032 X--- 346,352 ----- X `032 X toggle_link() X `123 V! if (!nntp_write("STAT") `124`124 (!(wait_net_response(RESP_TIMER,1)))) `1 X23 X if (*net_open_chan) `123 X char proto_type; X `032 X************** X*** 352,358 X `032 X if (net_proto == CMUTCP) proto_type = 'T'; X else if (net_proto == WINTCP) proto_type = 'W'; X! else if (net_proto == SRITCP) proto_type = 'S'; X else proto_type = 'D'; X close_net(); V sprintf(client_msg,"Lost connection to NEWS SERVER ([%c] %s)",proto_t Xype,net_open_chan); X--- 352,358 ----- X `032 X if (net_proto == CMUTCP) proto_type = 'T'; X else if (net_proto == WINTCP) proto_type = 'W'; X! else if (net_proto == MULTINETTCP) proto_type = 'M'; X else proto_type = 'D'; X close_net(); V sprintf(client_msg,"Lost connection to NEWS SERVER ([%c] %s)",proto_t Xype,net_open_chan); X************** X*** 366,372 X * open_rem_chan X * X * Open channel to remote NNTP server on host name node, using protocol X! * proto (3 = SRITCP, 2 == WINTCP, 1 == CMUTCP, 0 = DECNET) X */ X `032 X open_rem_chan(node,proto) X--- 366,372 ----- X * open_rem_chan X * X * Open channel to remote NNTP server on host name node, using protocol X! * proto (3 = MULTINETTCP, 2 == WINTCP, 1 == CMUTCP, 0 = DECNET) X */ X `032 X open_rem_chan(node,proto) X************** X*** 391,397 X `032 X if (net_proto == CMUTCP) proto_type = 'T'; X else if (net_proto == WINTCP) proto_type = 'W'; X! else if (net_proto == SRITCP) proto_type = 'S'; X else proto_type = 'D'; V sprintf(client_msg,"Cannot connect to NEWS SERVER ([%c] %s)",proto_ty Xpe,net_open_chan); X net_read_status = 0; X--- 391,397 ----- X `032 X if (net_proto == CMUTCP) proto_type = 'T'; X else if (net_proto == WINTCP) proto_type = 'W'; X! else if (net_proto == MULTINETTCP) proto_type = 'M'; X else proto_type = 'D'; V sprintf(client_msg,"Cannot connect to NEWS SERVER ([%c] %s)",proto_ty Xpe,net_open_chan); X net_read_status = 0; X************** X*** 404,410 X `032 X if (net_proto == CMUTCP) proto_type = 'T'; X else if (net_proto == WINTCP) proto_type = 'W'; X! else if (net_proto == SRITCP) proto_type = 'S'; X else proto_type = 'D'; X close_net(); X net_read_status = 0; X--- 404,410 ----- X `032 X if (net_proto == CMUTCP) proto_type = 'T'; X else if (net_proto == WINTCP) proto_type = 'W'; X! else if (net_proto == MULTINETTCP) proto_type = 'M'; X else proto_type = 'D'; X close_net(); X net_read_status = 0; $ GOSUB UNPACK_FILE $ FILE_IS = "NEWSRTL.DIFF" $ CHECKSUM_IS = 1985494578 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X*** [.news_v59_src]newsrtl.c X--- [.news_src]newsrtl.c $ GOSUB UNPACK_FILE $ FILE_IS = "NEWSSEARCH.DIFF" $ CHECKSUM_IS = 1985493570 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X*** [.news_v59_src]newssearch.c X--- [.news_src]newssearch.c $ GOSUB UNPACK_FILE $ FILE_IS = "NEWSSELECT.DIFF" $ CHECKSUM_IS = 1985495098 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X*** [.news_v59_src]newsselect.c X--- [.news_src]newsselect.c $ GOSUB UNPACK_FILE $ FILE_IS = "NEWSSETSHOW.DIFF" $ CHECKSUM_IS = 101864379 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X*** [.news_v59_src]newssetshow.c X--- [.news_src]newssetshow.c X************** X*** 26,32 V ** - Alter SHOW NEWSGROUP output to be similar to that of newsgroup_ Xheader() X ** - Add SET NEWSGROUP/TITLE V ** - Due to code commonality, NEWSCREATE has been included in this m Xodule X! ** - Add support for SRI Multinet TCP (Mats Sundvall) X ** V5.9 9-June-1989 GIH X ** - If ADD MEMBER modifies an existing member then the confirmation X ** message indicates alteration rather than addition. X--- 26,32 ----- V ** - Alter SHOW NEWSGROUP output to be similar to that of newsgroup_ Xheader() X ** - Add SET NEWSGROUP/TITLE V ** - Due to code commonality, NEWSCREATE has been included in this m Xodule X! ** - Add support for MULTINET Multinet TCP (Mats Sundvall) X ** V5.9 9-June-1989 GIH X ** - If ADD MEMBER modifies an existing member then the confirmation X ** message indicates alteration rather than addition. X************** X*** 159,165 X if (!len) protocol_val = 0; X else if (!strncmp(tmpstr,"CMUTCP",len)) protocol_val= 1; X else if (!strncmp(tmpstr,"WINTCP",len)) protocol_val = 2; X! else if (!strncmp(tmpstr,"SRITCP",len)) protocol_val = 3; X else if (!strncmp(tmpstr,"TCP",len)) X `032 X #ifdef SRI X--- 159,165 ----- X if (!len) protocol_val = 0; X else if (!strncmp(tmpstr,"CMUTCP",len)) protocol_val= 1; X else if (!strncmp(tmpstr,"WINTCP",len)) protocol_val = 2; X! else if (!strncmp(tmpstr,"MULTINETTCP",len)) protocol_val = 3; X else if (!strncmp(tmpstr,"TCP",len)) X `032 X #ifdef MULTINET X************** X*** 162,168 X else if (!strncmp(tmpstr,"SRITCP",len)) protocol_val = 3; X else if (!strncmp(tmpstr,"TCP",len)) X `032 X! #ifdef SRI X protocol_val = 3; X #else X #ifdef TWG X--- 162,168 ----- X else if (!strncmp(tmpstr,"MULTINETTCP",len)) protocol_val = 3; X else if (!strncmp(tmpstr,"TCP",len)) X `032 X! #ifdef MULTINET X protocol_val = 3; X #else X #ifdef TWG X************** X*** 1205,1213 X check_access(g) X int g; X `123 X! char acline[256], cknode[132], mod[132], X! *cp, *ap, *op; X! FILE *fpd; X `032 X ga[g]->grp_flags `124= NEWS_M_ACCESS_CHECKED; X if (ga[g]->grp_flags & NEWS_M_MAILMODERATE) `123 X--- 1205,1213 ----- X check_access(g) X int g; X `123 X! char acline[256], cknode[132], mod[132], X! *cp, *ap, *op; X! FILE *fpd; X `032 X ga[g]->grp_flags `124= NEWS_M_ACCESS_CHECKED; X if (ga[g]->grp_flags & NEWS_M_MAILMODERATE) `123 X************** X*** 1209,1221 X *cp, *ap, *op; X FILE *fpd; X `032 X! ga[g]->grp_flags `124= NEWS_M_ACCESS_CHECKED; X! if (ga[g]->grp_flags & NEWS_M_MAILMODERATE) `123 X! sprintf(mod,"%s@%s",usr_username,Node_address); X! if (!strcmp(mod,moderator_address(ga[g]->grp_name))) `123 V! ga[g]->grp_flags `124= (NEWS_M_MOD_USER `124 NEWS_M_WRITE_ACCES XS); X! return; X! `125 X `125 V if (!(ga[g]->grp_flags & NEWS_M_NOWRITE_SET)) ga[g]->grp_flags `124= N XEWS_M_WRITE_ACCESS; X sprintf(itm_fname,Access_template,util_dir(ga[g]->grp_name)); X--- 1209,1246 ----- X *cp, *ap, *op; X FILE *fpd; X `032 X! ga[g]->grp_flags `124= NEWS_M_ACCESS_CHECKED; X! if (ga[g]->grp_flags & NEWS_M_MAILMODERATE) `123 X! sprintf(mod,"%s@%s",usr_username,Node_address); X! if (!strcmp(mod,moderator_address(ga[g]->grp_name))) `123 X! ga[g]->grp_flags `124= (NEWS_M_MOD_USER `124 NEWS_M_WRITE_ACCESS); X! return; X! `125 X! `125 X! if (!(ga[g]->grp_flags & NEWS_M_NOWRITE_SET)) X! ga[g]->grp_flags `124= NEWS_M_WRITE_ACCESS; X! sprintf(itm_fname,Access_template,util_dir(ga[g]->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 V! if (substrcmp(cp," write ")) ga[g]->grp_flags `124= NEWS_M_WRITE_AC XCESS; V! if (substrcmp(cp," nowrite ")) ga[g]->grp_flags &= `126NEWS_M_WRITE X_ACCESS; V! if (substrcmp(cp," moderate ")) ga[g]->grp_flags `124= (NEWS_M_MOD_ XUSER `124 NEWS_M_WRITE_ACCESS); X `125 X `125 X fclose(fpd); X************** X*** 1217,1248 X return; X `125 X `125 V! if (!(ga[g]->grp_flags & NEWS_M_NOWRITE_SET)) ga[g]->grp_flags `124= N XEWS_M_WRITE_ACCESS; X! sprintf(itm_fname,Access_template,util_dir(ga[g]->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'; V! if (!strcmp(acline,usr_username) `124`124 wild_match(usr_userna Xme,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 V! if (substrcmp(cp," write ")) ga[g]->grp_flags `124= NEWS_M_ XWRITE_ACCESS; V! if (substrcmp(cp," nowrite ")) ga[g]->grp_flags &= `126NEWS X_M_WRITE_ACCESS; V! if (substrcmp(cp," moderate ")) ga[g]->grp_flags `124= (NEW XS_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 ----- V if (substrcmp(cp," nowrite ")) ga[g]->grp_flags &= `126NEWS_M_WRITE X_ACCESS; V if (substrcmp(cp," moderate ")) ga[g]->grp_flags `124= (NEWS_M_MOD_ XUSER `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************** X*** 1425,1431 X `032 X if (ga[g]->grp_srvproto == 1) put_line("NNTP-Transport: TCP (CMU)",0); V else if (ga[g]->grp_srvproto == 2) put_line("NNTP-Transport: TCP (WIN) X",0); V! else if (ga[g]->grp_srvproto == 3) put_line("NNTP-Transport: TCP (SRI) X",0); X else put_line("NNTP-Transport: DECnet",0); X if (!(ga[g]->grp_flags & NEWS_M_NNTPCACHE)) X put_line("NNTP-Local-Note-Cache: Disabled",0); X--- 1428,1434 ----- X `032 X if (ga[g]->grp_srvproto == 1) put_line("NNTP-Transport: TCP (CMU)",0); V else if (ga[g]->grp_srvproto == 2) put_line("NNTP-Transport: TCP (WIN) X",0); V! else if (ga[g]->grp_srvproto == 3) put_line("NNTP-Transport: TCP (MULT XINET)",0); X else put_line("NNTP-Transport: DECnet",0); X if (!(ga[g]->grp_flags & NEWS_M_NNTPCACHE)) X put_line("NNTP-Local-Note-Cache: Disabled",0); X************** X*** 1514,1520 X old_lev = news_context; X `032 X if (upd_client) strcpy(s,"*"); X! else parse_newsgroups(s,"",0,0); X `032 V if (upd_client `124`124 (inquire_sts = (cli$present(c$dsc("INQUIRE")) & 1 X))) `123 X if (!*s) strcpy(s,"*"); X--- 1517,1523 ----- X old_lev = news_context; X `032 X if (upd_client) strcpy(s,"*"); X! else parse_newsgroups(s,"",0,0,1); X `032 V if (upd_client `124`124 (inquire_sts = (cli$present(c$dsc("INQUIRE")) & 1 X))) `123 X if (!*s) strcpy(s,"*"); X************** X*** 1558,1564 X if (!len) protocol_val = 0; X else if (!strncmp(tmpstr,"CMUTCP",len)) protocol_val= 1; X else if (!strncmp(tmpstr,"WINTCP",len)) protocol_val= 2; X! else if (!strncmp(tmpstr,"SRITCP",len)) protocol_val= 2; X else if (!strncmp(tmpstr,"TCP",len)) X `032 X #ifdef SRI X--- 1561,1567 ----- X if (!len) protocol_val = 0; X else if (!strncmp(tmpstr,"CMUTCP",len)) protocol_val= 1; X else if (!strncmp(tmpstr,"WINTCP",len)) protocol_val= 2; X! else if (!strncmp(tmpstr,"MULTINETTCP",len)) protocol_val= 2; X else if (!strncmp(tmpstr,"TCP",len)) X `032 X #ifdef MULTINET X************** X*** 1561,1567 X else if (!strncmp(tmpstr,"SRITCP",len)) protocol_val= 2; X else if (!strncmp(tmpstr,"TCP",len)) X `032 X! #ifdef SRI X protocol_val = 3 X #else X #ifdef TWG X--- 1564,1570 ----- X else if (!strncmp(tmpstr,"MULTINETTCP",len)) protocol_val= 2; X else if (!strncmp(tmpstr,"TCP",len)) X `032 X! #ifdef MULTINET X protocol_val = 3 X #else X #ifdef TWG $ GOSUB UNPACK_FILE $ FILE_IS = "NEWSSITE.DIFF" $ CHECKSUM_IS = 1682381736 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X*** [.news_v59_src]newssite.c X--- [.news_src]newssite.c X************** X*** 242,247 X strcpy(mail_sig,usr_username); X s_to_lower(mail_sig); X `125 X `032 X *usr_persname = '\0'; X mail_flags = 0; X--- 242,251 ----- X strcpy(mail_sig,usr_username); X s_to_lower(mail_sig); X `125 X+ if (!strchr(mail_sig,'@')) `123 X+ strcat(mail_sig,"@"); X+ strcat(mail_sig,Node_address); X+ `125 X `032 X *usr_persname = '\0'; X mail_flags = 0; $ GOSUB UNPACK_FILE $ FILE_IS = "NEWSSITE_H.DIFF" $ CHECKSUM_IS = 1080295435 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X*** [.news_v59_src]newssite.h X--- [.news_src]newssite.h X************** X*** 1,7 X /* X **++ X ** FACILITY: X! ** NEWSSITE X ** X ** ABSTRACT: X ** Site tailorable NEWS constant definitions. X--- 1,7 ----- X /* X **++ X ** FACILITY: X! ** NEWSSITE.H X ** X ** ABSTRACT: X ** Site tailorable NEWS constant definitions. X************** X*** 21,26 X ** - Add MIN and MAX expiry times X ** V5.8 2-Mar-1989 GIH X ** - Add RECHECK_TIMER, PATH_CHECK, SYSFILE, DISTFILE X **-- X **/ X `032 X--- 21,28 ----- X ** - Add MIN and MAX expiry times X ** V5.8 2-Mar-1989 GIH X ** - Add RECHECK_TIMER, PATH_CHECK, SYSFILE, DISTFILE X+ **`009V5.9B`00925-Oct-1989`009GIH V+ **`009 - Drop default item lifetime to 20 days (NEWS volumes are increasin Xg) X **-- X **/ X `032 X************** X*** 24,32 X **-- X **/ X `032 X! #define NEWS_VERSION "VMS News - V5.9" X! #define NEWS_VDATE "09-Jul-1989" X! #define NEWS_DDATE "09/07/89" X `032 X /* X * EXP_TIME X--- 26,34 ----- X **-- X **/ X `032 X! #define NEWS_VERSION "VMS News - V5.9B" X! #define NEWS_VDATE "25-Oct-1989" X! #define NEWS_DDATE "25/10/89" X `032 X /* X * EXP_TIME X************** X*** 36,42 X * Newsgroup lifetime (in days): global default. X */ X `032 X! #define EXP_TIME 30 X #define GRP_TIME 60 X `032 X /* X--- 38,44 ----- X * Newsgroup lifetime (in days): global default. X */ X `032 -+-+-+-+-+ End of part 8 +-+-+-+-+-