spotter@tekcad.UUCP (12/13/83)
#R:enea:-18400:tekcad:2700001:000:2218 tekcad!spotter Dec 13 10:05:00 1983 >I've a problem with the notefile system when it submits >articles from notesfile to netnews with the routine newsoutput. >The author is always set to "notes" (owner of notesfile) >instead of the original author as it should, using B-news (2.10.1). >Has anyone a fix for this? Without DEMANDNEWS, when cron fires up the "su notesmo- derator < cronrun", the notes for the day get sent out BUT they get sent out with a PATH and a SENDER that list the "real" user - notesmoderator. Then when someone responds through mail from news, the response goes to notesmoderator.The only way to avoid this is to use your own inews that is allowed to believe the -f flag. I don't really think that's a very good idea, since it would allow anyone to send mail and pretend that it's from someone else. With DEMANDNEWS, notes sends out each note as it gets it - or at least that's the theory. What actually happens is that any note that has been posted since the last dump - OR AT THE SAME TIME AS THE LAST DUMP - is sent out. This means that if the news dump takes less than a minute (that's the resolution notes stores) then the note will go out again on the next dump. It can't be fixed by insisting that the time of the note be > the dump time because then if a user posts 2 notes in a minute the second one will not go out. The fix I have implemented (and it seems to work) is to change the resolution on times to 1 sec. Another problem: bnewsinput hangs on some mal-formed inputs. When given input that could be garbage you should never have things like: while ((c = getc(rawnews)) != '\n'); I changed them all to things like: while (((c = getc(rawnews)) != '\n') && (c != EOF)); if (c == EOF) goto toobad; Also, it looks like bnewsinput is looking for the date of notes/replies generated by the notes system wrong. The lines read: i = 0; while ((line[i] = getc(rawnews)) != '\n'); /* grab date */ and should read: i = 0; while (((line[i++] = c = getc(rawnews)) != '\n') && (c != EOF)); ^^ /* grab date */ if (c == EOF) goto toobad; This occurs in two places. All these changes are available as ...!tekcad!~uucp/notes.tar -- Steve Potter CSnet: spotter@tek ARPAnet: spotter.tek@rand-relay uucp: {ucbvax,decvax,chico,pur-ee,cbosg,ihnss}!tektronix!tekcad!spotter