if (!bitnset(M_USR_UPPER, a->q_mailer->m_flags)) makelower(obuf);
alias(a, sendq, aliaslevel, e)	register ADDRESS *a;	ADDRESS **sendq;	int aliaslevel;	register ENVELOPE *e;{	register char *p;	int naliases;	char *owner;	auto int stat = EX_OK;	char obuf[MAXNAME + 7];	extern char *aliaslookup();	if (tTd(27, 1))		printf("alias(%s)\n", a->q_user);	/* don't realias already aliased names */	if (bitset(QDONTSEND|QBADADDR|QVERIFIED, a->q_flags))		return;	if (NoAlias)		return;	e->e_to = a->q_paddr;	/*	**  Look up this name.	**	**	If the map was unavailable, we will queue this message	**	until the map becomes available; otherwise, we could	**	bounce messages inappropriately.	*/	p = aliaslookup(a->q_user, &stat, e);	if (stat == EX_TEMPFAIL || stat == EX_UNAVAILABLE)	{		a->q_flags |= QQUEUEUP;		if (e->e_message == NULL)			e->e_message = "alias database unavailable";		return;	}	if (p == NULL)		return;	/*	**  Match on Alias.	**	Deliver to the target list.	*/	if (tTd(27, 1))		printf("%s (%s, %s) aliased to %s\n",		    a->q_paddr, a->q_host, a->q_user, p);	if (bitset(EF_VRFYONLY, e->e_flags))	{		a->q_flags |= QVERIFIED;		return;	}	message("aliased to %s", shortenstring(p, 203));#ifdef LOG	if (LogLevel > 9)		syslog(LOG_INFO, "%s: alias %.100s => %s",			e->e_id == NULL ? "NOQUEUE" : e->e_id,			a->q_paddr, shortenstring(p, 203));#endif	a->q_flags &= ~QSELFREF;	if (tTd(27, 5))	{		printf("alias: QDONTSEND ");		printaddr(a, FALSE);	}	a->q_flags |= QDONTSEND;	naliases = sendtolist(p, a, sendq, aliaslevel + 1, e);	if (bitset(QSELFREF, a->q_flags))		a->q_flags &= ~QDONTSEND;	/*	**  Look for owner of alias	*/	(void) strcpy(obuf, "owner-");	if (strncmp(a->q_user, "owner-", 6) == 0 ||	    strlen(a->q_user) > (SIZE_T) sizeof obuf - 7)		(void) strcat(obuf, "owner");	else		(void) strcat(obuf, a->q_user);	if (!bitnset(M_USR_UPPER, a->q_mailer->m_flags))		makelower(obuf);	owner = aliaslookup(obuf, &stat, e);	if (owner == NULL)		return;	/* reflect owner into envelope sender */	if (strpbrk(owner, ",:/|\"") != NULL)		owner = obuf;	a->q_owner = newstr(owner);	/* announce delivery to this alias; NORECEIPT bit set later */	if (e->e_xfp != NULL)		fprintf(e->e_xfp, "Message delivered to mailing list %s\n",			a->q_paddr);	e->e_flags |= EF_SENDRECEIPT;	a->q_flags |= QDELIVERED|QEXPANDED;}