[IRCServices] Services 5.1.4 released

Andrew Church achurch at achurch.org
Thu Oct 25 19:09:21 PDT 2007


>Do you have steps to replicate this? Because it sounds rather like a
>bug, unless the uplink is sending SQUIT for some reason.. (been
>talking to Stskeeps, who thinks the same)

I haven't reproduced it myself, but it looks like it could come from the
following code in exit_one_client() (src/s_misc.c):

	/*
	   ** SQUIT going "upstream". This is the remote
	   ** squit still hunting for the target. Use prefixed
	   ** form. "from" will be either the oper that issued
	   ** the squit or some server along the path that
	   ** didn't have this fix installed. --msa
	 */
	if (sptr->from == acptr)
	{
		sendto_one(acptr, ":%s SQUIT %s :%s", from->name, sptr->name, comment);
	}
	else
	{
		sendto_one(acptr, "SQUIT %s :%s", sptr->name, comment);
	}

where exit_one_client() is called from exit_client(), and exit_client() is
called in turn from src/modules/m_squit.c.  I haven't traced the code in
detail, but at first glance it looks like this strips the sender from
SQUIT broadcasts after the server is disconnected.

  --Andrew Church
    achurch at achurch.org
    http://achurch.org/