From:	CRDGW2::CRDGW2::MRGATE::"SMTP::VM1.NODAK.EDU::ANU-NEWS" 14-JUN-1990 03:55:28.14
To:	MRGATE::"ARISIA::EVERHART"
CC:	
Subj:	Re: Problems with V6 beta

Received:  by crdgw1.ge.com (5.57/GE 1.70)
	 id AA13046; Thu, 14 Jun 90 03:45:48 EDT
Message-Id:  <9006140745.AA13046@crdgw1.ge.com>
Received: from NDSUVM1.BITNET by VM1.NoDak.EDU (IBM VM SMTP R1.2.1MX) with BSMTP id 3648; Thu, 14 Jun 90 02:43:17 CDT
Received: from NDSUVM1.BITNET by NDSUVM1.BITNET (Mailer R2.07) with BSMTP id
 3641; Thu, 14 Jun 90 02:43:16 CDT
Date:         Thu, 14 Jun 90 06:37:12 GMT
Reply-To: gih900%SAO.AARNET.EDU.AU@VM1.NoDak.EDU
Sender: ANU-NEWS Discussion <ANU-NEWS@VM1.NoDak.EDU>
From: gih900%SAO.AARNET.EDU.AU@VM1.NoDak.EDU
Subject:      Re: Problems with V6 beta
To: Multiple recipients of list ANU-NEWS <ANU-NEWS@NDSUVM1>

In article <1990Jun13.164112.1@rogue.llnl.gov>, oberman@rogue.llnl.gov writes:
> I want to make sure that this the appropriate forum for posting messages on
> problems with V6. (Since it's not yet officially released.)
>
> If so, I have another nasty one. Once again, running as a client. the NEWS
> image crashes with an ACCESS VIOLATION when I try to post to COMP.dcom.telecom
.
> Since this is, I believe, a moderated group, I wonder if there might be a
> problem on client posts to moderated groups. In client mode, the post should
> simply be sent to the server who should post or mail as required. I supect tha
t
> something else is happening.

correct - the code gets a nonexistant moderator address (i.e a char* value of 0)
then attempts a strcmp call - presto instant accvio.

The change in NEWSPOST.C to prevent this accvio is as follows:

do_posting()
{
 ...

    /* check if this posting is by the moderator of a newsgroup,
       and if so, whether there is further moderation required,
       or if the posting can happen now */

  sprintf(mod_address,"%s@%s",usr_username,Node_address);
  *post_address = '\0';
  cp1 = ngroup;
  while ((cp1) && (*cp1)) {
    if (cp2 = strchr(cp1,',')) *cp2 = '\0';
    util_cvrt(lg,cp1);
    if (cp2) *cp2++ = ',';
    if ((g = ga_exact_name(lg)) && (ga[g]->grp_flags & NEWS_M_MAILLIST)) {
      char infile_name[257],
           *pa;

      if (fgetname(fpr,infile_name)) {
        fclose(fpr);
        if (pa = moderator_address(ga[g]->grp_name)) {
          sprintf(err_oline,"Post to %s List-Server (%s)",ga[g]->grp_name,pa);
          call_mail(infile_name,&subj_line[9],add_transform(pa),err_oline);
          fpr = fopen(infile_name,"r");
          }
        else if (!nntp_client) {
          sprintf(err_oline,"No maillist server address for group %s",ga[g]->grp
_name);
          err_line(err_oline);
          }
        }
      }
    else if (g && (ga[g]->grp_flags & NEWS_M_MAILMODERATE)) {
      if (pa = moderator_address(ga[g]->grp_name)) {
        if (strcmp(mod_address,pa)) {
          strcpy(post_address,pa);
          break;
          }
        else approval_required = 1;
        }
      }
    cp1 = cp2;
    }
  c$cks(1);

  ...
}

the change is a check for a null return from moderator_address() before using th
e
returned value. There are also associated similar changes to NEWSSETSHOW.C which
will be included once I finally get sufficient time to package up a distribution
.

> Also, when I enter NEWS, I find my pointer pointing to some odd group which is
> not registered. A dir/reg or dir/new also leaves the pointer in some strange
> location. Once I actually select a group, the pointer is pointing at the first
> unread message.

This is one I cannot reproduce here.

cheers,

Geoff
