dmmartindale@watcgl.UUCP (Dave Martindale) (11/08/84)
At Waterloo, there are a number of local newsgroups associated with courses with names like "cs488". From their names, they appear to be local groups, but in fact are explicitly distributed by the sys file on each machine to whatever other machines share the group. This scheme worked fine under 2.10.1, but now we find that the 2.10.2 postnews absolutely insists on assigning a distribution to every article posted, and that this distribution must be one of the short list in LIBDIR/distributions. Since there are several such groups, and since the set of machines that are interested in the group is different for each group, creating a separate distribution code for each of these newsgroups seems silly. I can understand why postnews would want to prevent the user from specifying a meaningless distribution code, but why must it insist that the user provide one? Why not allow the ability to leave out the Distribution line, having the distribution determined by the newsgroup name? How does this affect sites who try to receive only specific groups under control of their sys line on the machine which feeds them news? As I understand it, if every incoming article has a Distribution line, then the newsgroup name will be ignored in favour of the Distribution name in determining where an article is sent. Dave Martindale {ihnp4,clyde,decvax,allegra}!watmath!dmmartindale
davest@daemon.UUCP (Dave Stewart) (11/14/84)
In article <368@watcgl.UUCP> dmmartindale@watcgl.UUCP (Dave Martindale) writes: >At Waterloo, there are a number of local newsgroups associated with >courses with names like "cs488". From their names, they appear to be >local groups, but in fact are explicitly distributed by the sys file >on each machine to whatever other machines share the group. This scheme >worked fine under 2.10.1, but now we find that the 2.10.2 postnews >absolutely insists on assigning a distribution to every article >posted, and that this distribution must be one of the short list in >LIBDIR/distributions. > >Since there are several such groups, and since the set of machines that >are interested in the group is different for each group, creating a >separate distribution code for each of these newsgroups seems silly. Firstly, postnews requires a Distribution: line before entering the editor, but not after. Thus, you could set up a dummy distribution, like "class" to respond to the "distribution" prompt, and then have your students simply remove the Distribution: header line. >As I understand it, if every incoming article has a Distribution line, >then the newsgroup name will be ignored in favour of the Distribution >name in determining where an article is sent. If there is no Distribution: header line, inews goes with the Newsgroups: line only to determine distribution. If both header lines exist, they BOTH must match the sys file line to be sent to that site. Thus, alternatively, you could set up a distribution for all Waterloo machines and have your students post to "Newsgroup: cs488" and "Distribution: wat" or whatever, and it should work just fine. -- David C. Stewart uucp: tektronix!davest Small Systems Support Group tektronix!usenet Tektronix, Inc. phone: (503) 627-5418
dmmartindale@watcgl.UUCP (Dave Martindale) (11/16/84)
> >At Waterloo, there are a number of local newsgroups associated with > >courses with names like "cs488". From their names, they appear to be > >local groups, but in fact are explicitly distributed by the sys file > >on each machine to whatever other machines share the group. This scheme > >worked fine under 2.10.1, but now we find that the 2.10.2 postnews > >absolutely insists on assigning a distribution to every article > >posted, and that this distribution must be one of the short list in > >LIBDIR/distributions. > > Firstly, postnews requires a Distribution: line before entering > the editor, but not after. Thus, you could set up a dummy distribution, > like "class" to respond to the "distribution" prompt, and then have your > students simply remove the Distribution: header line. I know this works; that's what the teaching assistants for the course have been doing. And I consider this unacceptable, and it is one of the reasons I have not installed 2.10.2 on any of the other machines at Waterloo. Why should people have to explicitly remember to DELETE the distribution information? There should be some way of telling postnews "leave out the distribution". My real question was: the ability to explicitly route newsgroups via the sys file seemed a very useful feature of all previous versions of news; why should this now be broken? What reason is there that all articles should now have a Distribution header, even if the user doesn't wish to apply a non-default distribution? > If there is no Distribution: header line, inews goes with the > Newsgroups: line only to determine distribution. If both header lines > exist, they BOTH must match the sys file line to be sent to that site. > Thus, alternatively, you could set up a distribution for all Waterloo > machines and have your students post to "Newsgroup: cs488" and > "Distribution: wat" or whatever, and it should work just fine. Hmm. Has this changed in 2.10.2? If so, this would work, although it would be slower ("cs448 is currently distributed immediately, via Ethernet, to the other machines that receive it, while "wat" material is sent to the central news machine which distributes via batching). I know that with 2.10.1, the Distribution line completely replaced the Newsgroup line for determining where articles were sent. Dave Martindale
david@ukma.UUCP (David Herron) (11/19/84)
>From: davest@daemon.UUCP (Dave Stewart) >Subject: Re: Why are distributions mandatory in 2.10.2? >Message-ID: <77@daemon.UUCP> >Date: Wed, 14-Nov-84 12:43:50 EST >References: <368@watcgl.UUCP> >In article <368@watcgl.UUCP> dmmartindale@watcgl.UUCP (Dave Martindale) writes: >>At Waterloo, there are a number of local newsgroups associated with >>courses with names like "cs488". From their names, they appear to be >>local groups, but in fact are explicitly distributed by the sys file >>on each machine to whatever other machines share the group. This scheme >>worked fine under 2.10.1, but now we find that the 2.10.2 postnews >>absolutely insists on assigning a distribution to every article >>posted, and that this distribution must be one of the short list in >>LIBDIR/distributions. >> >>Since there are several such groups, and since the set of machines that >>are interested in the group is different for each group, creating a >>separate distribution code for each of these newsgroups seems silly. Couldn't you have a local distribution for ONLY your machines? That is something I have been planning to do here if we ever get one of the local machines connected up. You put these class newsgroups in this local distribution, don't send it outside, and everybody will be happy. ----------------------------------------- David Herron (University of Kentucky Department of Mathatical Sciences) Phone: (606) 257-4244 (phone will be answered as "Vax Lab", usually). (606) 254-7820 /------- Arpa-Net unmvax----\ / research >---/----------------/----------- anlams!ukma!david boulder---/ / decvax!ucbvax ---/ (or cbosgd!hasmed!qusavx!ukma!david) For arpa-net, anlams has the name ANL-MCS. (i.e. use "ukma!david"@ANL-MCS).
davest@daemon.UUCP (Dave Stewart) (11/20/84)
[] Well, I'm going to have to forget about including what was said before on this - too much context is confusing things. If you need to know what this is about, read the referenced articles. Dave, as to your first point: You're quite correct. Postnews probably should not demand a distribution. However, the workaround is so trivial, (Deleting the line in the editor), that it's not even worth patching the code in my opinion. Why require people to enter a distribution? Because distributions are a previously under-used feature that can help limit the news traffic net-wide. True, it may be over- compensation, but that's how it goes. It should not be a hard fix, in any case. As to your second point: Although I have not testing my suggestion, I believe that it would work. If you are worried about speed of trans- mission with the "wat" distribution class, then invent a new one, like "wat-fast" or "wat-class" that fully interconnects all nodes in the sub-network that is defined to be sent directly via ethernet; then post all articles with this distribution class as I suggested. -- David C. Stewart uucp: tektronix!davest Small Systems Support Group tektronix!usenet Tektronix, Inc. phone: (503) 627-5418
adrian@ru-cs44.UUCP (Adrian Pell) (11/26/84)
I just got bitten by the distribution feature. For various historical reasons, our sys line at our feed site (ukc) specified a number of net.* groups explicitly (with the intention of reducing the phone bill!). Consider now what happens to an incoming article to ukc destined for one of the groups to which we subscribe. If it doesn't have a Distribution line, all is well. If it does have a Distribution line of 'net', for example, 2.10.1 inews uses this in preference to the newsgroup name, and WE DON'T GET THE ARTICLE because there's no 'net' entry in our sys line. I've had our sys line changed so that we get all net groups now, but it's a bit of a heavy hammer to solve the problem. Any suggestions?? -- Adrian Pell ({mcvax,edcaad}!ukc!ru-cs44!adrian) Computer Science Dept. University of Reading UK
kre@munnari.OZ (Robert Elz) (12/14/84)
> I just got bitten by the distribution feature. > > For various historical reasons, our sys line at our feed site (ukc) > specified a number of net.* groups explicitly (with the intention of > reducing the phone bill!). > > Consider now what happens to an incoming article to ukc destined for > one of the groups to which we subscribe. If it doesn't have a Distribution > line, all is well. If it does have a Distribution line of 'net', > for example, 2.10.1 inews uses this in preference to the newsgroup > name, and WE DON'T GET THE ARTICLE because there's no 'net' entry > in our sys line. > > I've had our sys line changed so that we get all net groups now, but > it's a bit of a heavy hammer to solve the problem. Any suggestions?? > > -- > Adrian Pell ({mcvax,edcaad}!ukc!ru-cs44!adrian) > Computer Science Dept. > University of Reading > UK It too me a while, but I have just realized that Australia has been suffering from this problem too. Decvax sends us news, but only a few groups. In this case, changing our subscription so that we get everything is not a viable alternative. So, here are two patches, one for 2.10.2 to omit distribution lines when they say nothing new to a 2.10.2 system (that is, when 2.10.2 would ALWAYS ignore the distribution anyway), and one for 2.10.1 to make it handle disributions rationally, as 2.10.2 does. Please - if you are running 2.10.2 do install this fix, its very simple, and will not harm anything at all. If you are running 2.10.1, please install the 2nd fix, but here you might want to exercise a little caution. I am no longer running 2.10.1 so I cannot absolutely promise that it will work, however I am reasonably sure that it will. Note: Don't use Larry Wall's patch utility on this article, it will probably destroy your news system, as only one of the following patches should be applied. There's no way that "patch" can possibly know that! First, the 2.10.2 patch. This is to "postnews.c". The line numbers won't necessarily correspond, so I've made this an 8 line context diff. ------------------------------------------------------------- 2.10.2 B news fix *** postnews.c.was Thu Sep 20 01:30:48 1984 --- postnews.c Thu Dec 13 20:41:27 1984 *************** *** 188,203 printf("%s\t%s\n", distr[i].abbr, distr[i].descr); continue; } /* Check that it's a proper distribution */ for (i=0; distr[i].abbr[0]; i++) { if (strncmp(distr[i].abbr, distribution, sizeof(distr[0].abbr)) == 0) { /* Found a match. Do any special rewriting. */ if (strcmp(distribution, "world") == 0) strcpy(distribution, "net"); return; } } printf("Type ? for help.\n"); } --- 188,205 ----- printf("%s\t%s\n", distr[i].abbr, distr[i].descr); continue; } /* Check that it's a proper distribution */ for (i=0; distr[i].abbr[0]; i++) { if (strncmp(distr[i].abbr, distribution, sizeof(distr[0].abbr)) == 0) { /* Found a match. Do any special rewriting. */ + if (strcmp(distribution, def) == 0) + strcpy(distribution, ""); if (strcmp(distribution, "world") == 0) strcpy(distribution, "net"); return; } } printf("Type ? for help.\n"); } ------------------------------------------------------------ end 2.10.2 B fix Next, here is the fix for 2.10.1, this time to ifuncs.c. Again the line numbers are not likely to match, so again I have used 8 line context diffs ... Something similar to this would probably also help earlier versions of B news. I have no idea about A news (is there really anyone still running that???) ------------------------------------------------------------ 2.10.1 B news fix *** ifuncs.c.was Wed Aug 24 09:14:28 1983 --- ifuncs.c Thu Dec 13 21:11:38 1984 *************** *** 24,41 struct hbuf h; #endif /* h is a local copy of the header we can scribble on */ fp = xfopen(ARTICLE, "r"); if (hread(&h, fp, TRUE) == NULL) xerror("Cannot reread article"); fclose(fp); ! if (h.distribution[0]) ! strcpy(h.nbuf, h.distribution); ngcat(h.nbuf); /* break path into list of systems. */ hptr = nptr = h.path; while (*hptr != '\0') { if (index(NETCHRS, *hptr)) { *hptr++ = '\0'; nptr = hptr; --- 24,41 ----- struct hbuf h; #endif /* h is a local copy of the header we can scribble on */ fp = xfopen(ARTICLE, "r"); if (hread(&h, fp, TRUE) == NULL) xerror("Cannot reread article"); fclose(fp); ! if (h.distribution) ! ngcat(h.distribution); ngcat(h.nbuf); /* break path into list of systems. */ hptr = nptr = h.path; while (*hptr != '\0') { if (index(NETCHRS, *hptr)) { *hptr++ = '\0'; nptr = hptr; *************** *** 52,68 continue; hptr = h.path; while (*hptr != '\0') { if (strncmp(srec.s_name, hptr, SNLN) == 0) goto contin; while (*hptr++ != '\0') ; } ! if (ngmatch(h.nbuf, srec.s_nbuf)) { transmit(&srec, xfopen(ARTICLE, "r"), 1); } contin:; } s_close(); unlock(); } --- 52,71 ----- continue; hptr = h.path; while (*hptr != '\0') { if (strncmp(srec.s_name, hptr, SNLN) == 0) goto contin; while (*hptr++ != '\0') ; } ! if (ngmatch(h.nbuf, srec.s_nbuf) && ! (h.distribution[0] == '\0' || ! ngmatch(h.distribution, srec.s_nbuf) || ! ngmatch(h.nbuf, h.distribution))) { transmit(&srec, xfopen(ARTICLE, "r"), 1); } contin:; } s_close(); unlock(); } --------------------------------------------------------------- end 2.10.1 B fix Again, please, do insert whichever of these fixes is appropriate for your site. For 2.10.2 sites, omitting the fix means that articles your users post may not get seen by some parts of the net. For 2.10.1 sites, you may be (unwittingly) failing to forward articles that other sites have posted, and which should be forwarded. Robert Elz decvax!mulga!kre