stanonik@nprdc.arpa (Ron Stanonik) (01/29/86)
A sendmail class is a set of tokens delimited by the operators (macro o), which includes ".". After removing "." from the operators we still had problems because sendmail could not bear to let two ATMs get by without a "." between them. So, we also modified parseaddr.c revision 1.2 date: 85/08/29 08:48:50; author: root; state: Exp; lines added/del: 0/4 no longer insert a SpaceSub "." between tokens if both are ATMs. now if "." is not a delimiter, $w.$D becomes nprdc.arpa, rather than nprdc..arpa. --- parseaddr.c *************** *** 830,838 sz -= 2; while (*pvp != NULL && (i = strlen(*pvp)) < sz) { - natomtok = (toktype(**pvp) == ATM); - if (oatomtok && natomtok) - *p++ = SpaceSub; (void) strcpy(p, *pvp); oatomtok = natomtok; p += i; --- 830,835 ----- sz -= 2; while (*pvp != NULL && (i = strlen(*pvp)) < sz) { (void) strcpy(p, *pvp); p += i; sz -= i + 1; *************** *** 834,840 if (oatomtok && natomtok) *p++ = SpaceSub; (void) strcpy(p, *pvp); - oatomtok = natomtok; p += i; sz -= i + 1; pvp++; --- 831,836 ----- while (*pvp != NULL && (i = strlen(*pvp)) < sz) { (void) strcpy(p, *pvp); p += i; sz -= i + 1; pvp++; We also had the problem of silently disappearing mail. For us it turned out to be a sendmail bug which causes smtp senders to be dropped from the recipient list. revision 1.3 date: 84/12/17 08:47:10; author: root; state: Exp; lines added/del: 1/0 fix alias expansion/lost mail problems for mail from smtp. now smtp recipients are treated the same as sendmail arguments; ie, flagged QPRIMARY. --- srvrsmtp.c *************** *** 231,236 a = parseaddr(p, (ADDRESS *) NULL, 1); if (a == NULL) break; a = recipient(a, &CurEnv->e_sendqueue); if (Errors != 0) break; --- 231,237 ----- a = parseaddr(p, (ADDRESS *) NULL, 1); if (a == NULL) break; + a->q_flags |= QPRIMARY; a = recipient(a, &CurEnv->e_sendqueue); if (Errors != 0) break;
stanonik@nprdc.arpa (01/29/86)
Oh yes, be warned that if you remove "." from the operators you probably need to do some serious rewriting of the reset of your config file. Ron