Ensure AWAY pacing only affects local clients.
This commit is contained in:
parent
63a0ed0604
commit
dc0fd46236
1 changed files with 15 additions and 13 deletions
|
@ -94,19 +94,22 @@ m_away(struct Client *client_p, struct Client *source_p, int parc, const char *p
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Rate limit this because it is sent to common channels. */
|
/* Rate limit this because it is sent to common channels. */
|
||||||
if(!IsOper(source_p) &&
|
if (MyClient(source_p))
|
||||||
source_p->localClient->next_away > rb_current_time())
|
|
||||||
{
|
{
|
||||||
sendto_one(source_p, form_str(RPL_LOAD2HI),
|
if(!IsOper(source_p) &&
|
||||||
me.name, source_p->name, "AWAY");
|
source_p->localClient->next_away > rb_current_time())
|
||||||
return;
|
{
|
||||||
|
sendto_one(source_p, form_str(RPL_LOAD2HI),
|
||||||
|
me.name, source_p->name, "AWAY");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(source_p->localClient->next_away < rb_current_time() -
|
||||||
|
ConfigFileEntry.away_interval)
|
||||||
|
source_p->localClient->next_away = rb_current_time();
|
||||||
|
else
|
||||||
|
source_p->localClient->next_away = rb_current_time() +
|
||||||
|
ConfigFileEntry.away_interval;
|
||||||
}
|
}
|
||||||
if(source_p->localClient->next_away < rb_current_time() -
|
|
||||||
ConfigFileEntry.away_interval)
|
|
||||||
source_p->localClient->next_away = rb_current_time();
|
|
||||||
else
|
|
||||||
source_p->localClient->next_away = rb_current_time() +
|
|
||||||
ConfigFileEntry.away_interval;
|
|
||||||
|
|
||||||
if(source_p->user->away == NULL)
|
if(source_p->user->away == NULL)
|
||||||
allocate_away(source_p);
|
allocate_away(source_p);
|
||||||
|
@ -123,10 +126,9 @@ m_away(struct Client *client_p, struct Client *source_p, int parc, const char *p
|
||||||
source_p->host,
|
source_p->host,
|
||||||
source_p->user->away);
|
source_p->user->away);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(MyConnect(source_p))
|
if(MyConnect(source_p))
|
||||||
sendto_one_numeric(source_p, RPL_NOWAWAY, form_str(RPL_NOWAWAY));
|
sendto_one_numeric(source_p, RPL_NOWAWAY, form_str(RPL_NOWAWAY));
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue