m_invite: add support for CAP invite-notify

Specification:
<https://github.com/ircv3/ircv3-specifications/blob/master/extensions/invite-notify-3.2.md>
This commit is contained in:
Max Teufel 2015-02-16 20:24:12 +01:00 committed by William Pitcock
parent c6bc97fdcd
commit 93eb76cc32
3 changed files with 7 additions and 0 deletions

View file

@ -449,6 +449,7 @@ struct ListClient
#define CLICAP_AWAY_NOTIFY 0x0010
#define CLICAP_TLS 0x0020
#define CLICAP_SASL_REAUTH 0x0040
#define CLICAP_INVITE_NOTIFY 0x0080
/*
* flags macros.

View file

@ -77,6 +77,7 @@ static struct clicap
_CLICAP("extended-join", CLICAP_EXTENDED_JOIN, 0, 0, 0),
_CLICAP("away-notify", CLICAP_AWAY_NOTIFY, 0, 0, 0),
_CLICAP("tls", CLICAP_TLS, 0, 0, 0),
_CLICAP("invite-notify", CLICAP_INVITE_NOTIFY, 0, 0, 0),
};
#define CLICAP_LIST_LEN (sizeof(clicap_list) / sizeof(struct clicap))

View file

@ -212,6 +212,11 @@ m_invite(struct Client *client_p, struct Client *source_p, int parc, const char
source_p->name, source_p->username, source_p->host,
target_p->name, chptr->chname);
sendto_channel_local_with_capability_butone(target_p, ONLY_CHANOPS, CLICAP_INVITE_NOTIFY, NOCAPS, chptr,
":%s!%s@%s INVITE %s %s",
source_p->name, source_p->username, source_p->host,
target_p->name, chptr->chname);
if(store_invite)
add_invite(chptr, target_p);
}