mirror of
https://github.com/matrix-construct/construct
synced 2024-12-28 16:34:13 +01:00
Remove burst_modes_TS5() and burst_TS5().
This commit is contained in:
parent
63996bf026
commit
7bb8c655ec
1 changed files with 1 additions and 192 deletions
193
src/s_serv.c
193
src/s_serv.c
|
@ -420,62 +420,6 @@ send_capabilities(struct Client *client_p, int cap_can_send)
|
|||
sendto_one(client_p, "CAPAB :%s", msgbuf);
|
||||
}
|
||||
|
||||
/* burst_modes_TS5()
|
||||
*
|
||||
* input - client to burst to, channel name, list to burst, mode flag
|
||||
* output -
|
||||
* side effects - client is sent a list of +b, or +e, or +I modes
|
||||
*/
|
||||
static void
|
||||
burst_modes_TS5(struct Client *client_p, char *chname, rb_dlink_list *list, char flag)
|
||||
{
|
||||
rb_dlink_node *ptr;
|
||||
struct Ban *banptr;
|
||||
char mbuf[MODEBUFLEN];
|
||||
char pbuf[BUFSIZE];
|
||||
int tlen;
|
||||
int mlen;
|
||||
int cur_len;
|
||||
char *mp;
|
||||
char *pp;
|
||||
int count = 0;
|
||||
|
||||
mlen = rb_sprintf(buf, ":%s MODE %s +", me.name, chname);
|
||||
cur_len = mlen;
|
||||
|
||||
mp = mbuf;
|
||||
pp = pbuf;
|
||||
|
||||
RB_DLINK_FOREACH(ptr, list->head)
|
||||
{
|
||||
banptr = ptr->data;
|
||||
tlen = strlen(banptr->banstr) + 3;
|
||||
|
||||
/* uh oh */
|
||||
if(tlen > MODEBUFLEN)
|
||||
continue;
|
||||
|
||||
if((count >= MAXMODEPARAMS) || ((cur_len + tlen + 2) > (BUFSIZE - 3)))
|
||||
{
|
||||
sendto_one(client_p, "%s%s %s", buf, mbuf, pbuf);
|
||||
|
||||
mp = mbuf;
|
||||
pp = pbuf;
|
||||
cur_len = mlen;
|
||||
count = 0;
|
||||
}
|
||||
|
||||
*mp++ = flag;
|
||||
*mp = '\0';
|
||||
pp += rb_sprintf(pp, "%s ", banptr->banstr);
|
||||
cur_len += tlen;
|
||||
count++;
|
||||
}
|
||||
|
||||
if(count != 0)
|
||||
sendto_one(client_p, "%s%s %s", buf, mbuf, pbuf);
|
||||
}
|
||||
|
||||
/* burst_modes_TS6()
|
||||
*
|
||||
* input - client to burst to, channel name, list to burst, mode flag
|
||||
|
@ -532,138 +476,6 @@ burst_modes_TS6(struct Client *client_p, struct Channel *chptr,
|
|||
sendto_one(client_p, "%s", buf);
|
||||
}
|
||||
|
||||
/*
|
||||
* burst_TS5
|
||||
*
|
||||
* inputs - client (server) to send nick towards
|
||||
* - client to send nick for
|
||||
* output - NONE
|
||||
* side effects - NICK message is sent towards given client_p
|
||||
*/
|
||||
static void
|
||||
burst_TS5(struct Client *client_p)
|
||||
{
|
||||
static char ubuf[12];
|
||||
struct Client *target_p;
|
||||
struct Channel *chptr;
|
||||
struct membership *msptr;
|
||||
hook_data_client hclientinfo;
|
||||
hook_data_channel hchaninfo;
|
||||
rb_dlink_node *ptr;
|
||||
rb_dlink_node *uptr;
|
||||
char *t;
|
||||
int tlen, mlen;
|
||||
int cur_len = 0;
|
||||
|
||||
hclientinfo.client = hchaninfo.client = client_p;
|
||||
|
||||
RB_DLINK_FOREACH(ptr, global_client_list.head)
|
||||
{
|
||||
target_p = ptr->data;
|
||||
|
||||
if(!IsPerson(target_p))
|
||||
continue;
|
||||
|
||||
send_umode(NULL, target_p, 0, 0, ubuf);
|
||||
if(!*ubuf)
|
||||
{
|
||||
ubuf[0] = '+';
|
||||
ubuf[1] = '\0';
|
||||
}
|
||||
|
||||
sendto_one(client_p, "NICK %s %d %ld %s %s %s %s :%s",
|
||||
target_p->name, target_p->hopcount + 1,
|
||||
(long) target_p->tsinfo, ubuf,
|
||||
target_p->username, target_p->host,
|
||||
target_p->servptr->name, target_p->info);
|
||||
|
||||
if(IsDynSpoof(target_p))
|
||||
sendto_one(client_p, ":%s ENCAP * REALHOST %s",
|
||||
target_p->name, target_p->orighost);
|
||||
if(!EmptyString(target_p->user->suser))
|
||||
sendto_one(client_p, ":%s ENCAP * LOGIN %s",
|
||||
target_p->name, target_p->user->suser);
|
||||
|
||||
if(ConfigFileEntry.burst_away && !EmptyString(target_p->user->away))
|
||||
sendto_one(client_p, ":%s AWAY :%s",
|
||||
target_p->name, target_p->user->away);
|
||||
|
||||
hclientinfo.target = target_p;
|
||||
call_hook(h_burst_client, &hclientinfo);
|
||||
}
|
||||
|
||||
RB_DLINK_FOREACH(ptr, global_channel_list.head)
|
||||
{
|
||||
chptr = ptr->data;
|
||||
|
||||
if(*chptr->chname != '#')
|
||||
continue;
|
||||
|
||||
cur_len = mlen = rb_sprintf(buf, ":%s SJOIN %ld %s %s :", me.name,
|
||||
(long) chptr->channelts, chptr->chname,
|
||||
channel_modes(chptr, client_p));
|
||||
|
||||
t = buf + mlen;
|
||||
|
||||
RB_DLINK_FOREACH(uptr, chptr->members.head)
|
||||
{
|
||||
msptr = uptr->data;
|
||||
|
||||
tlen = strlen(msptr->client_p->name) + 1;
|
||||
if(is_chanop(msptr))
|
||||
tlen++;
|
||||
if(is_voiced(msptr))
|
||||
tlen++;
|
||||
|
||||
if(cur_len + tlen >= BUFSIZE - 3)
|
||||
{
|
||||
t--;
|
||||
*t = '\0';
|
||||
sendto_one(client_p, "%s", buf);
|
||||
cur_len = mlen;
|
||||
t = buf + mlen;
|
||||
}
|
||||
|
||||
rb_sprintf(t, "%s%s ", find_channel_status(msptr, 1),
|
||||
msptr->client_p->name);
|
||||
|
||||
cur_len += tlen;
|
||||
t += tlen;
|
||||
}
|
||||
|
||||
if (rb_dlink_list_length(&chptr->members) > 0)
|
||||
{
|
||||
/* remove trailing space */
|
||||
t--;
|
||||
*t = '\0';
|
||||
}
|
||||
sendto_one(client_p, "%s", buf);
|
||||
|
||||
burst_modes_TS5(client_p, chptr->chname, &chptr->banlist, 'b');
|
||||
|
||||
if(IsCapable(client_p, CAP_EX))
|
||||
burst_modes_TS5(client_p, chptr->chname, &chptr->exceptlist, 'e');
|
||||
|
||||
if(IsCapable(client_p, CAP_IE))
|
||||
burst_modes_TS5(client_p, chptr->chname, &chptr->invexlist, 'I');
|
||||
|
||||
burst_modes_TS5(client_p, chptr->chname, &chptr->quietlist, 'q');
|
||||
|
||||
if(IsCapable(client_p, CAP_TB) && chptr->topic != NULL)
|
||||
sendto_one(client_p, ":%s TB %s %ld %s%s:%s",
|
||||
me.name, chptr->chname, (long) chptr->topic_time,
|
||||
ConfigChannel.burst_topicwho ? chptr->topic_info : "",
|
||||
ConfigChannel.burst_topicwho ? " " : "",
|
||||
chptr->topic);
|
||||
|
||||
hchaninfo.chptr = chptr;
|
||||
call_hook(h_burst_channel, &hchaninfo);
|
||||
}
|
||||
|
||||
hclientinfo.target = NULL;
|
||||
call_hook(h_burst_finished, &hclientinfo);
|
||||
}
|
||||
|
||||
/*
|
||||
* burst_TS6
|
||||
*
|
||||
|
@ -1084,10 +896,7 @@ server_estab(struct Client *client_p)
|
|||
target_p->serv->fullcaps);
|
||||
}
|
||||
|
||||
if(has_id(client_p))
|
||||
burst_TS6(client_p);
|
||||
else
|
||||
burst_TS5(client_p);
|
||||
burst_TS6(client_p);
|
||||
|
||||
/* Always send a PING after connect burst is done */
|
||||
sendto_one(client_p, "PING :%s", get_id(&me, client_p));
|
||||
|
|
Loading…
Reference in a new issue