Merge pull request #319 from edk0/invite-notify
Fix invite-notify and move it to an extension
This commit is contained in:
commit
c7561f03ef
6 changed files with 227 additions and 114 deletions
|
@ -114,6 +114,23 @@ The following hooks are called during various events related to clients.
|
||||||
oldsnomask = new snomask field
|
oldsnomask = new snomask field
|
||||||
|
|
||||||
|
|
||||||
|
Channel Hooks
|
||||||
|
-------------
|
||||||
|
|
||||||
|
"can_invite" - Called before deciding whether to allow the
|
||||||
|
/invite command
|
||||||
|
hdata->chptr = channel being invited to
|
||||||
|
hdata->msptr = membership of inviter
|
||||||
|
hdata->client = inviter
|
||||||
|
hdata->target = invite target
|
||||||
|
hdata->approved = zero to allow
|
||||||
|
hdata->error = NULL, or error message
|
||||||
|
if non-null, `approved` is the numeric
|
||||||
|
"invite" - Called just before effecting an invite on the
|
||||||
|
target's server
|
||||||
|
hdata = as above
|
||||||
|
|
||||||
|
|
||||||
The following are for debugging and take struct hook_io_data for arguments.
|
The following are for debugging and take struct hook_io_data for arguments.
|
||||||
These can be used for a variety of purposes, but are aimed at the developer
|
These can be used for a variety of purposes, but are aimed at the developer
|
||||||
community.
|
community.
|
||||||
|
|
|
@ -35,6 +35,7 @@ extension_LTLIBRARIES = \
|
||||||
force_user_invis.la \
|
force_user_invis.la \
|
||||||
helpops.la \
|
helpops.la \
|
||||||
hurt.la \
|
hurt.la \
|
||||||
|
invite_notify.la \
|
||||||
ip_cloaking.la \
|
ip_cloaking.la \
|
||||||
ip_cloaking_old.la \
|
ip_cloaking_old.la \
|
||||||
ip_cloaking_3.0.la \
|
ip_cloaking_3.0.la \
|
||||||
|
|
74
extensions/invite_notify.c
Normal file
74
extensions/invite_notify.c
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
#include <stdinc.h>
|
||||||
|
#include <modules.h>
|
||||||
|
#include <msgbuf.h>
|
||||||
|
#include <client.h>
|
||||||
|
#include <hash.h>
|
||||||
|
#include <send.h>
|
||||||
|
#include <s_serv.h>
|
||||||
|
|
||||||
|
static const char inv_notify_desc[] = "Notifies channel on /invite and provides the invite-notify client capability";
|
||||||
|
|
||||||
|
static void hook_invite(void *);
|
||||||
|
static void m_invited(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
|
||||||
|
static unsigned int CAP_INVITE_NOTIFY;
|
||||||
|
|
||||||
|
mapi_hfn_list_av1 inv_notify_hfnlist[] = {
|
||||||
|
{ "invite", hook_invite },
|
||||||
|
{ NULL, NULL }
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Message invited_msgtab = {
|
||||||
|
"INVITED", 0, 0, 0, 0,
|
||||||
|
{mg_ignore, mg_ignore, mg_ignore, mg_ignore, {m_invited, 4}, mg_ignore}
|
||||||
|
};
|
||||||
|
|
||||||
|
mapi_cap_list_av2 inv_notify_caplist[] = {
|
||||||
|
{ MAPI_CAP_CLIENT, "invite-notify", NULL, &CAP_INVITE_NOTIFY },
|
||||||
|
{ 0, NULL, NULL, NULL }
|
||||||
|
};
|
||||||
|
|
||||||
|
mapi_clist_av1 inv_notify_clist[] = { &invited_msgtab, NULL };
|
||||||
|
|
||||||
|
static void
|
||||||
|
invite_notify(struct Client *source, struct Client *target, struct Channel *channel)
|
||||||
|
{
|
||||||
|
sendto_channel_local_with_capability(source, CHFL_CHANOP, 0, CAP_INVITE_NOTIFY, channel,
|
||||||
|
":%s NOTICE %s :%s is inviting %s to %s.",
|
||||||
|
me.name, channel->chname, source->name, target->name, channel->chname);
|
||||||
|
sendto_channel_local_with_capability(source, CHFL_CHANOP, CAP_INVITE_NOTIFY, 0, channel,
|
||||||
|
":%s!%s@%s INVITE %s %s", source->name, source->username,
|
||||||
|
source->host, target->name, channel->chname);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
hook_invite(void *data_)
|
||||||
|
{
|
||||||
|
hook_data_channel_approval *data = data_;
|
||||||
|
|
||||||
|
if (data->approved)
|
||||||
|
/* Don't notify if another hook is rejecting the invite.
|
||||||
|
* This won't work if the other hook is after us... but really, it's
|
||||||
|
* the thought that counts.
|
||||||
|
*/
|
||||||
|
return;
|
||||||
|
|
||||||
|
sendto_server(NULL, NULL, CAP_TS6 | CAP_ENCAP, 0, "ENCAP * INVITED %s %s %s",
|
||||||
|
use_id(data->client), use_id(data->target),
|
||||||
|
data->chptr->chname);
|
||||||
|
invite_notify(data->client, data->target, data->chptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
m_invited(struct MsgBuf *msgbuf, struct Client *client_p, struct Client *source_p, int parc, const char **parv)
|
||||||
|
{
|
||||||
|
struct Client *inviter = find_person(parv[1]);
|
||||||
|
struct Client *target = find_person(parv[2]);
|
||||||
|
struct Channel *chptr = find_channel(parv[3]);
|
||||||
|
|
||||||
|
if (inviter == NULL || target == NULL || chptr == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
invite_notify(inviter, target, chptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
DECLARE_MODULE_AV2("invite_notify", NULL, NULL, inv_notify_clist, NULL, inv_notify_hfnlist, inv_notify_caplist, NULL, inv_notify_desc);
|
|
@ -95,6 +95,7 @@ typedef struct
|
||||||
int approved;
|
int approved;
|
||||||
int dir;
|
int dir;
|
||||||
const char *modestr;
|
const char *modestr;
|
||||||
|
const char *error;
|
||||||
} hook_data_channel_approval;
|
} hook_data_channel_approval;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|
|
@ -38,24 +38,26 @@
|
||||||
#include "packet.h"
|
#include "packet.h"
|
||||||
#include "tgchange.h"
|
#include "tgchange.h"
|
||||||
|
|
||||||
static const char invite_desc[] = "Provides facilities for invite and related notifications";
|
static const char invite_desc[] = "Provides /invite";
|
||||||
|
|
||||||
static void m_invite(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
|
static void m_invite(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
|
||||||
static unsigned int CAP_INVITE_NOTIFY = 0;
|
|
||||||
|
|
||||||
struct Message invite_msgtab = {
|
struct Message invite_msgtab = {
|
||||||
"INVITE", 0, 0, 0, 0,
|
"INVITE", 0, 0, 0, 0,
|
||||||
{mg_unreg, {m_invite, 3}, {m_invite, 3}, mg_ignore, mg_ignore, {m_invite, 3}}
|
{mg_unreg, {m_invite, 3}, {m_invite, 3}, mg_ignore, mg_ignore, {m_invite, 3}}
|
||||||
};
|
};
|
||||||
|
|
||||||
mapi_clist_av1 invite_clist[] = { &invite_msgtab, NULL };
|
static int can_invite_hook;
|
||||||
|
static int invite_hook;
|
||||||
|
|
||||||
mapi_cap_list_av2 invite_cap_list[] = {
|
mapi_clist_av1 invite_clist[] = { &invite_msgtab, NULL };
|
||||||
{ MAPI_CAP_CLIENT, "invite-notify", NULL, &CAP_INVITE_NOTIFY },
|
mapi_hlist_av1 invite_hlist[] = {
|
||||||
{ 0, NULL, NULL, NULL }
|
{ "can_invite", &can_invite_hook },
|
||||||
|
{ "invite", &invite_hook },
|
||||||
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
DECLARE_MODULE_AV2(invite, NULL, NULL, invite_clist, NULL, NULL, invite_cap_list, NULL, invite_desc);
|
DECLARE_MODULE_AV2(invite, NULL, NULL, invite_clist, invite_hlist, NULL, NULL, NULL, invite_desc);
|
||||||
|
|
||||||
static bool add_invite(struct Channel *, struct Client *);
|
static bool add_invite(struct Channel *, struct Client *);
|
||||||
|
|
||||||
|
@ -70,6 +72,7 @@ m_invite(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source
|
||||||
struct Channel *chptr;
|
struct Channel *chptr;
|
||||||
struct membership *msptr;
|
struct membership *msptr;
|
||||||
int store_invite = 0;
|
int store_invite = 0;
|
||||||
|
hook_data_channel_approval hdata = { 0 };
|
||||||
|
|
||||||
if(MyClient(source_p) && !IsFloodDone(source_p))
|
if(MyClient(source_p) && !IsFloodDone(source_p))
|
||||||
flood_endgrace(source_p);
|
flood_endgrace(source_p);
|
||||||
|
@ -142,15 +145,25 @@ m_invite(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* unconditionally require ops, unless the channel is +g */
|
if (MyClient(source_p))
|
||||||
/* treat remote clients as chanops */
|
|
||||||
if(MyClient(source_p) && !is_chanop(msptr) &&
|
|
||||||
!(chptr->mode.mode & MODE_FREEINVITE))
|
|
||||||
{
|
{
|
||||||
|
hdata.chptr = chptr;
|
||||||
|
hdata.msptr = msptr;
|
||||||
|
hdata.client = source_p;
|
||||||
|
hdata.target = target_p;
|
||||||
|
hdata.approved = !(is_chanop(msptr) || (chptr->mode.mode & MODE_FREEINVITE));
|
||||||
|
|
||||||
|
call_hook(can_invite_hook, &hdata);
|
||||||
|
if (hdata.approved)
|
||||||
|
{
|
||||||
|
if (hdata.error)
|
||||||
|
sendto_one_numeric(source_p, hdata.approved, "%s", hdata.error);
|
||||||
|
else
|
||||||
sendto_one(source_p, form_str(ERR_CHANOPRIVSNEEDED),
|
sendto_one(source_p, form_str(ERR_CHANOPRIVSNEEDED),
|
||||||
me.name, source_p->name, parv[2]);
|
me.name, source_p->name, parv[2]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* store invites when they could affect the ability to join
|
/* store invites when they could affect the ability to join
|
||||||
* for +l/+j just check if the mode is set, this varies over time
|
* for +l/+j just check if the mode is set, this varies over time
|
||||||
|
@ -214,28 +227,35 @@ m_invite(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source
|
||||||
target_p->localClient->last_caller_id_time = rb_current_time();
|
target_p->localClient->last_caller_id_time = rb_current_time();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hdata.chptr = chptr;
|
||||||
|
hdata.msptr = msptr;
|
||||||
|
hdata.client = source_p;
|
||||||
|
hdata.target = target_p;
|
||||||
|
hdata.approved = 0;
|
||||||
|
|
||||||
|
call_hook(invite_hook, &hdata);
|
||||||
|
|
||||||
|
if (hdata.approved)
|
||||||
|
{
|
||||||
|
if (hdata.error)
|
||||||
|
sendto_one_numeric(source_p, hdata.approved, "%s", hdata.error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
add_reply_target(target_p, source_p);
|
add_reply_target(target_p, source_p);
|
||||||
sendto_one(target_p, ":%s!%s@%s INVITE %s :%s",
|
sendto_one(target_p, ":%s!%s@%s INVITE %s :%s",
|
||||||
source_p->name, source_p->username, source_p->host,
|
source_p->name, source_p->username, source_p->host,
|
||||||
target_p->name, chptr->chname);
|
target_p->name, chptr->chname);
|
||||||
|
|
||||||
if(store_invite)
|
if(store_invite)
|
||||||
|
add_invite(chptr, target_p);
|
||||||
|
}
|
||||||
|
else if (target_p->from != client_p)
|
||||||
{
|
{
|
||||||
if (!add_invite(chptr, target_p))
|
sendto_one_prefix(target_p, source_p, "INVITE", "%s %lu",
|
||||||
return;
|
|
||||||
|
|
||||||
sendto_channel_local_with_capability(source_p, CHFL_CHANOP, 0, CAP_INVITE_NOTIFY, chptr,
|
|
||||||
":%s NOTICE %s :%s is inviting %s to %s.",
|
|
||||||
me.name, chptr->chname, source_p->name, target_p->name, chptr->chname);
|
|
||||||
sendto_channel_local_with_capability(source_p, CHFL_CHANOP, CAP_INVITE_NOTIFY, 0, chptr,
|
|
||||||
":%s!%s@%s INVITE %s %s", source_p->name, source_p->username,
|
|
||||||
source_p->host, target_p->name, chptr->chname);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sendto_server(source_p, chptr, CAP_TS6, 0, ":%s INVITE %s %s %lu",
|
|
||||||
use_id(source_p), use_id(target_p),
|
|
||||||
chptr->chname, (unsigned long) chptr->channelts);
|
chptr->chname, (unsigned long) chptr->channelts);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* add_invite()
|
/* add_invite()
|
||||||
|
|
170
tests/send1.c
170
tests/send1.c
|
@ -49,7 +49,7 @@ int rb_gettimeofday(struct timeval *tv, void *tz)
|
||||||
|
|
||||||
unsigned int CAP_ACCOUNT_TAG;
|
unsigned int CAP_ACCOUNT_TAG;
|
||||||
unsigned int CAP_SERVER_TIME;
|
unsigned int CAP_SERVER_TIME;
|
||||||
unsigned int CAP_INVITE_NOTIFY;
|
unsigned int CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
static struct Client *user;
|
static struct Client *user;
|
||||||
static struct Client *server;
|
static struct Client *server;
|
||||||
|
@ -1604,10 +1604,10 @@ static void sendto_channel_local_with_capability1(void)
|
||||||
{
|
{
|
||||||
standard_init();
|
standard_init();
|
||||||
|
|
||||||
local_chan_o->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_o->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
local_chan_v->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_v->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, ALL_MEMBERS, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, ALL_MEMBERS, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_o, "On channel; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_o, "On channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -1617,7 +1617,7 @@ static void sendto_channel_local_with_capability1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, ALL_MEMBERS, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, ALL_MEMBERS, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
||||||
|
@ -1637,7 +1637,7 @@ static void sendto_channel_local_with_capability1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, CHFL_VOICE, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, CHFL_VOICE, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not +v; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not +v; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -1647,7 +1647,7 @@ static void sendto_channel_local_with_capability1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, CHFL_VOICE, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, CHFL_VOICE, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not +v; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not +v; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_ov, "Has +v; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_ov, "Has +v; " MSG);
|
||||||
|
@ -1667,7 +1667,7 @@ static void sendto_channel_local_with_capability1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, CHFL_CHANOP, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, CHFL_CHANOP, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_o, "Has +o; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_o, "Has +o; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -1677,7 +1677,7 @@ static void sendto_channel_local_with_capability1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, CHFL_CHANOP, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, CHFL_CHANOP, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_ov, "Has +o; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_ov, "Has +o; " MSG);
|
||||||
|
@ -1697,7 +1697,7 @@ static void sendto_channel_local_with_capability1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, CHFL_CHANOP | CHFL_VOICE, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, CHFL_CHANOP | CHFL_VOICE, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_o, "Has +o/+v; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_o, "Has +o/+v; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -1707,7 +1707,7 @@ static void sendto_channel_local_with_capability1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, CHFL_CHANOP | CHFL_VOICE, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, CHFL_CHANOP | CHFL_VOICE, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_ov, "Has +o/+v; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_ov, "Has +o/+v; " MSG);
|
||||||
|
@ -1734,8 +1734,8 @@ static void sendto_channel_local_with_capability1__tags(void)
|
||||||
{
|
{
|
||||||
standard_init();
|
standard_init();
|
||||||
|
|
||||||
local_chan_o->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_o->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
local_chan_v->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_v->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
strcpy(user->user->suser, "test");
|
strcpy(user->user->suser, "test");
|
||||||
local_chan_o->localClient->caps |= CAP_ACCOUNT_TAG;
|
local_chan_o->localClient->caps |= CAP_ACCOUNT_TAG;
|
||||||
|
@ -1743,7 +1743,7 @@ static void sendto_channel_local_with_capability1__tags(void)
|
||||||
local_chan_ov->localClient->caps |= CAP_SERVER_TIME;
|
local_chan_ov->localClient->caps |= CAP_SERVER_TIME;
|
||||||
local_chan_v->localClient->caps |= CAP_ACCOUNT_TAG;
|
local_chan_v->localClient->caps |= CAP_ACCOUNT_TAG;
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, ALL_MEMBERS, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, ALL_MEMBERS, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME ";account=test Hello World!" CRLF, local_chan_o, "On channel; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME ";account=test Hello World!" CRLF, local_chan_o, "On channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -1753,7 +1753,7 @@ static void sendto_channel_local_with_capability1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, ALL_MEMBERS, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, ALL_MEMBERS, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
||||||
|
@ -1773,7 +1773,7 @@ static void sendto_channel_local_with_capability1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, CHFL_VOICE, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, CHFL_VOICE, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not +v; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not +v; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -1783,7 +1783,7 @@ static void sendto_channel_local_with_capability1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, CHFL_VOICE, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, CHFL_VOICE, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not +v; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not +v; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "Has +v; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "Has +v; " MSG);
|
||||||
|
@ -1803,7 +1803,7 @@ static void sendto_channel_local_with_capability1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, CHFL_CHANOP, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, CHFL_CHANOP, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME ";account=test Hello World!" CRLF, local_chan_o, "Has +o; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME ";account=test Hello World!" CRLF, local_chan_o, "Has +o; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -1813,7 +1813,7 @@ static void sendto_channel_local_with_capability1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, CHFL_CHANOP, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, CHFL_CHANOP, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "Has +o; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "Has +o; " MSG);
|
||||||
|
@ -1833,7 +1833,7 @@ static void sendto_channel_local_with_capability1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, CHFL_CHANOP | CHFL_VOICE, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, CHFL_CHANOP | CHFL_VOICE, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME ";account=test Hello World!" CRLF, local_chan_o, "Has +o/+v; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME ";account=test Hello World!" CRLF, local_chan_o, "Has +o/+v; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -1843,7 +1843,7 @@ static void sendto_channel_local_with_capability1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability(user, CHFL_CHANOP | CHFL_VOICE, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability(user, CHFL_CHANOP | CHFL_VOICE, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "Has +o/+v; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "Has +o/+v; " MSG);
|
||||||
|
@ -1870,10 +1870,10 @@ static void sendto_channel_local_with_capability_butone1(void)
|
||||||
{
|
{
|
||||||
standard_init();
|
standard_init();
|
||||||
|
|
||||||
local_chan_o->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_o->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
local_chan_v->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_v->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
sendto_channel_local_with_capability_butone(NULL, ALL_MEMBERS, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability_butone(NULL, ALL_MEMBERS, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_o, "On channel; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_o, "On channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -1883,7 +1883,7 @@ static void sendto_channel_local_with_capability_butone1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability_butone(NULL, ALL_MEMBERS, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability_butone(NULL, ALL_MEMBERS, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
||||||
|
@ -1903,7 +1903,7 @@ static void sendto_channel_local_with_capability_butone1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability_butone(local_chan_o, ALL_MEMBERS, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability_butone(local_chan_o, ALL_MEMBERS, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -1913,7 +1913,7 @@ static void sendto_channel_local_with_capability_butone1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability_butone(local_chan_o, ALL_MEMBERS, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability_butone(local_chan_o, ALL_MEMBERS, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
||||||
|
@ -1933,7 +1933,7 @@ static void sendto_channel_local_with_capability_butone1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability_butone(local_chan_p, ALL_MEMBERS, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability_butone(local_chan_p, ALL_MEMBERS, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_o, "On channel; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_o, "On channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -1943,7 +1943,7 @@ static void sendto_channel_local_with_capability_butone1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability_butone(local_chan_p, ALL_MEMBERS, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability_butone(local_chan_p, ALL_MEMBERS, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
||||||
|
@ -1970,8 +1970,8 @@ static void sendto_channel_local_with_capability_butone1__tags(void)
|
||||||
{
|
{
|
||||||
standard_init();
|
standard_init();
|
||||||
|
|
||||||
local_chan_o->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_o->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
local_chan_v->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_v->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
strcpy(local_chan_o->user->suser, "test_o");
|
strcpy(local_chan_o->user->suser, "test_o");
|
||||||
strcpy(local_chan_p->user->suser, "test_p");
|
strcpy(local_chan_p->user->suser, "test_p");
|
||||||
|
@ -1980,7 +1980,7 @@ static void sendto_channel_local_with_capability_butone1__tags(void)
|
||||||
local_chan_ov->localClient->caps |= CAP_SERVER_TIME;
|
local_chan_ov->localClient->caps |= CAP_SERVER_TIME;
|
||||||
local_chan_v->localClient->caps |= CAP_ACCOUNT_TAG;
|
local_chan_v->localClient->caps |= CAP_ACCOUNT_TAG;
|
||||||
|
|
||||||
sendto_channel_local_with_capability_butone(NULL, ALL_MEMBERS, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability_butone(NULL, ALL_MEMBERS, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_o, "On channel; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_o, "On channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -1990,7 +1990,7 @@ static void sendto_channel_local_with_capability_butone1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability_butone(NULL, ALL_MEMBERS, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability_butone(NULL, ALL_MEMBERS, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
||||||
|
@ -2010,7 +2010,7 @@ static void sendto_channel_local_with_capability_butone1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability_butone(local_chan_o, ALL_MEMBERS, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability_butone(local_chan_o, ALL_MEMBERS, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -2020,7 +2020,7 @@ static void sendto_channel_local_with_capability_butone1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability_butone(local_chan_o, ALL_MEMBERS, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability_butone(local_chan_o, ALL_MEMBERS, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
||||||
|
@ -2040,7 +2040,7 @@ static void sendto_channel_local_with_capability_butone1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability_butone(local_chan_p, ALL_MEMBERS, CAP_INVITE_NOTIFY, 0, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability_butone(local_chan_p, ALL_MEMBERS, CAP_MULTI_PREFIX, 0, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME ";account=test_p Hello World!" CRLF, local_chan_o, "On channel; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME ";account=test_p Hello World!" CRLF, local_chan_o, "On channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -2050,7 +2050,7 @@ static void sendto_channel_local_with_capability_butone1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_channel_local_with_capability_butone(local_chan_p, ALL_MEMBERS, 0, CAP_INVITE_NOTIFY, channel, "Hello %s!", "World");
|
sendto_channel_local_with_capability_butone(local_chan_p, ALL_MEMBERS, 0, CAP_MULTI_PREFIX, channel, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on channel; " MSG);
|
is_client_sendq_empty(user, "Not on channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "On channel; " MSG);
|
||||||
|
@ -2280,10 +2280,10 @@ static void sendto_common_channels_local1(void)
|
||||||
{
|
{
|
||||||
standard_init();
|
standard_init();
|
||||||
|
|
||||||
local_chan_o->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_o->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
local_chan_v->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_v->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
sendto_common_channels_local(local_chan_o, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local(local_chan_o, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_o, "Has cap; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -2294,7 +2294,7 @@ static void sendto_common_channels_local1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local(local_chan_o, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local(local_chan_o, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -2316,7 +2316,7 @@ static void sendto_common_channels_local1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local(local_no_chan, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local(local_no_chan, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2326,7 +2326,7 @@ static void sendto_common_channels_local1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local(local_no_chan, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local(local_no_chan, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2346,9 +2346,9 @@ static void sendto_common_channels_local1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
local_no_chan->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_no_chan->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
sendto_common_channels_local(local_no_chan, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local(local_no_chan, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2358,7 +2358,7 @@ static void sendto_common_channels_local1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local(local_no_chan, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local(local_no_chan, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2385,8 +2385,8 @@ static void sendto_common_channels_local1__tags(void)
|
||||||
{
|
{
|
||||||
standard_init();
|
standard_init();
|
||||||
|
|
||||||
local_chan_o->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_o->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
local_chan_v->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_v->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
strcpy(local_chan_o->user->suser, "test_o");
|
strcpy(local_chan_o->user->suser, "test_o");
|
||||||
strcpy(local_no_chan->user->suser, "test_n");
|
strcpy(local_no_chan->user->suser, "test_n");
|
||||||
|
@ -2395,7 +2395,7 @@ static void sendto_common_channels_local1__tags(void)
|
||||||
local_chan_ov->localClient->caps |= CAP_SERVER_TIME;
|
local_chan_ov->localClient->caps |= CAP_SERVER_TIME;
|
||||||
local_chan_v->localClient->caps |= CAP_ACCOUNT_TAG;
|
local_chan_v->localClient->caps |= CAP_ACCOUNT_TAG;
|
||||||
|
|
||||||
sendto_common_channels_local(local_chan_o, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local(local_chan_o, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME ";account=test_o Hello World!" CRLF, local_chan_o, "Has cap; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME ";account=test_o Hello World!" CRLF, local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -2406,7 +2406,7 @@ static void sendto_common_channels_local1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local(local_chan_o, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local(local_chan_o, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
is_client_sendq_empty(local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -2430,7 +2430,7 @@ static void sendto_common_channels_local1__tags(void)
|
||||||
|
|
||||||
local_no_chan->localClient->caps |= CAP_SERVER_TIME;
|
local_no_chan->localClient->caps |= CAP_SERVER_TIME;
|
||||||
|
|
||||||
sendto_common_channels_local(local_no_chan, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local(local_no_chan, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2440,7 +2440,7 @@ static void sendto_common_channels_local1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local(local_no_chan, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local(local_no_chan, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2460,10 +2460,10 @@ static void sendto_common_channels_local1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
local_no_chan->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_no_chan->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
local_no_chan->localClient->caps |= CAP_ACCOUNT_TAG;
|
local_no_chan->localClient->caps |= CAP_ACCOUNT_TAG;
|
||||||
|
|
||||||
sendto_common_channels_local(local_no_chan, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local(local_no_chan, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2473,7 +2473,7 @@ static void sendto_common_channels_local1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local(local_no_chan, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local(local_no_chan, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2495,7 +2495,7 @@ static void sendto_common_channels_local1__tags(void)
|
||||||
|
|
||||||
local_no_chan->localClient->caps &= ~CAP_SERVER_TIME;
|
local_no_chan->localClient->caps &= ~CAP_SERVER_TIME;
|
||||||
|
|
||||||
sendto_common_channels_local(local_no_chan, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local(local_no_chan, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2505,7 +2505,7 @@ static void sendto_common_channels_local1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local(local_no_chan, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local(local_no_chan, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2532,10 +2532,10 @@ static void sendto_common_channels_local_butone1(void)
|
||||||
{
|
{
|
||||||
standard_init();
|
standard_init();
|
||||||
|
|
||||||
local_chan_o->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_o->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
local_chan_v->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_v->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_chan_o, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_chan_o, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -2546,7 +2546,7 @@ static void sendto_common_channels_local_butone1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_chan_o, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_chan_o, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -2568,7 +2568,7 @@ static void sendto_common_channels_local_butone1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_no_chan, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_no_chan, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2578,7 +2578,7 @@ static void sendto_common_channels_local_butone1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_no_chan, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_no_chan, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2598,9 +2598,9 @@ static void sendto_common_channels_local_butone1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
local_no_chan->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_no_chan->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_no_chan, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_no_chan, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2610,7 +2610,7 @@ static void sendto_common_channels_local_butone1(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_no_chan, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_no_chan, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2637,8 +2637,8 @@ static void sendto_common_channels_local_butone1__tags(void)
|
||||||
{
|
{
|
||||||
standard_init();
|
standard_init();
|
||||||
|
|
||||||
local_chan_o->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_o->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
local_chan_v->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_v->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
strcpy(local_chan_o->user->suser, "test_o");
|
strcpy(local_chan_o->user->suser, "test_o");
|
||||||
strcpy(local_no_chan->user->suser, "test_n");
|
strcpy(local_no_chan->user->suser, "test_n");
|
||||||
|
@ -2647,7 +2647,7 @@ static void sendto_common_channels_local_butone1__tags(void)
|
||||||
local_chan_ov->localClient->caps |= CAP_SERVER_TIME;
|
local_chan_ov->localClient->caps |= CAP_SERVER_TIME;
|
||||||
local_chan_v->localClient->caps |= CAP_ACCOUNT_TAG;
|
local_chan_v->localClient->caps |= CAP_ACCOUNT_TAG;
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_chan_o, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_chan_o, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -2658,7 +2658,7 @@ static void sendto_common_channels_local_butone1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_chan_o, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_chan_o, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
is_client_sendq_empty(local_chan_o, "Is the one (neo); " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -2682,7 +2682,7 @@ static void sendto_common_channels_local_butone1__tags(void)
|
||||||
|
|
||||||
local_no_chan->localClient->caps |= CAP_SERVER_TIME;
|
local_no_chan->localClient->caps |= CAP_SERVER_TIME;
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_no_chan, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_no_chan, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2692,7 +2692,7 @@ static void sendto_common_channels_local_butone1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_no_chan, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_no_chan, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2712,10 +2712,10 @@ static void sendto_common_channels_local_butone1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
local_no_chan->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_no_chan->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
local_no_chan->localClient->caps |= CAP_ACCOUNT_TAG;
|
local_no_chan->localClient->caps |= CAP_ACCOUNT_TAG;
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_no_chan, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_no_chan, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2725,7 +2725,7 @@ static void sendto_common_channels_local_butone1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_no_chan, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_no_chan, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2747,7 +2747,7 @@ static void sendto_common_channels_local_butone1__tags(void)
|
||||||
|
|
||||||
local_no_chan->localClient->caps &= ~CAP_SERVER_TIME;
|
local_no_chan->localClient->caps &= ~CAP_SERVER_TIME;
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_no_chan, CAP_INVITE_NOTIFY, 0, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_no_chan, CAP_MULTI_PREFIX, 0, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -2757,7 +2757,7 @@ static void sendto_common_channels_local_butone1__tags(void)
|
||||||
is_client_sendq_empty(server, MSG);
|
is_client_sendq_empty(server, MSG);
|
||||||
is_client_sendq_empty(server2, MSG);
|
is_client_sendq_empty(server2, MSG);
|
||||||
|
|
||||||
sendto_common_channels_local_butone(local_no_chan, 0, CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_common_channels_local_butone(local_no_chan, 0, CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
is_client_sendq_empty(user, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_o, "Not on common channel; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Not on common channel; " MSG);
|
||||||
|
@ -3198,10 +3198,10 @@ static void sendto_local_clients_with_capability1(void)
|
||||||
{
|
{
|
||||||
standard_init();
|
standard_init();
|
||||||
|
|
||||||
local_chan_o->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_o->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
local_chan_v->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_v->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
sendto_local_clients_with_capability(CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_local_clients_with_capability(CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(user, "Doesn't have cap; " MSG);
|
||||||
is_client_sendq("Hello World!" CRLF, local_chan_o, "Has cap; " MSG);
|
is_client_sendq("Hello World!" CRLF, local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -3218,8 +3218,8 @@ static void sendto_local_clients_with_capability1__tags(void)
|
||||||
{
|
{
|
||||||
standard_init();
|
standard_init();
|
||||||
|
|
||||||
local_chan_o->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_o->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
local_chan_v->localClient->caps |= CAP_INVITE_NOTIFY;
|
local_chan_v->localClient->caps |= CAP_MULTI_PREFIX;
|
||||||
|
|
||||||
strcpy(user->user->suser, "test");
|
strcpy(user->user->suser, "test");
|
||||||
strcpy(local_chan_o->user->suser, "test_o");
|
strcpy(local_chan_o->user->suser, "test_o");
|
||||||
|
@ -3232,7 +3232,7 @@ static void sendto_local_clients_with_capability1__tags(void)
|
||||||
local_chan_ov->localClient->caps |= CAP_SERVER_TIME;
|
local_chan_ov->localClient->caps |= CAP_SERVER_TIME;
|
||||||
local_chan_v->localClient->caps |= CAP_ACCOUNT_TAG;
|
local_chan_v->localClient->caps |= CAP_ACCOUNT_TAG;
|
||||||
|
|
||||||
sendto_local_clients_with_capability(CAP_INVITE_NOTIFY, "Hello %s!", "World");
|
sendto_local_clients_with_capability(CAP_MULTI_PREFIX, "Hello %s!", "World");
|
||||||
is_client_sendq_empty(user, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(user, "Doesn't have cap; " MSG);
|
||||||
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_o, "Has cap; " MSG);
|
is_client_sendq("@time=" ADVENTURE_TIME " Hello World!" CRLF, local_chan_o, "Has cap; " MSG);
|
||||||
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
is_client_sendq_empty(local_chan_ov, "Doesn't have cap; " MSG);
|
||||||
|
@ -4913,8 +4913,8 @@ int main(int argc, char *argv[])
|
||||||
CAP_SERVER_TIME = capability_get(cli_capindex, "server-time", NULL);
|
CAP_SERVER_TIME = capability_get(cli_capindex, "server-time", NULL);
|
||||||
ok(CAP_SERVER_TIME != 0, "CAP_SERVER_TIME missing; " MSG);
|
ok(CAP_SERVER_TIME != 0, "CAP_SERVER_TIME missing; " MSG);
|
||||||
|
|
||||||
CAP_INVITE_NOTIFY = capability_get(cli_capindex, "invite-notify", NULL);
|
CAP_MULTI_PREFIX = capability_get(cli_capindex, "multi-prefix", NULL);
|
||||||
ok(CAP_INVITE_NOTIFY != 0, "CAP_INVITE_NOTIFY missing; " MSG);
|
ok(CAP_MULTI_PREFIX != 0, "CAP_MULTI_PREFIX missing; " MSG);
|
||||||
|
|
||||||
sendto_one1();
|
sendto_one1();
|
||||||
sendto_one1__tags();
|
sendto_one1__tags();
|
||||||
|
|
Loading…
Reference in a new issue