Add text events for CAP ACK/REQ

This commit is contained in:
Berke Viktor 2012-11-03 07:46:51 +01:00
parent 80fdce76c4
commit a9c7e40b5b
3 changed files with 39 additions and 12 deletions

View File

@ -1138,6 +1138,9 @@ process_named_msg (session *sess, char *type, char *word[], char *word_eol[])
case WORDL('C','A','P','\0'):
if (strncasecmp (word[4], "ACK", 3) == 0)
{
/* should acknowledge only one at a time, but just make sure we don't miss anything, use word_eol */
EMIT_SIGNAL (XP_TE_CAPACK, sess->server->server_session, word[1], ++word_eol[5], NULL, NULL, 0);
if (strncasecmp (word[5][0]==':' ? word[5] + 1 : word[5], "identify-msg", 12) == 0)
{
serv->have_idmsg = TRUE;
@ -1155,15 +1158,18 @@ process_named_msg (session *sess, char *type, char *word[], char *word_eol[])
}
else if (strncasecmp (word[4], "LS", 2) == 0)
{
EMIT_SIGNAL (XP_TE_SERVERCAP, serv->server_session, word[1], ++word_eol[5], NULL, NULL, 0);
EMIT_SIGNAL (XP_TE_CAPLIST, serv->server_session, word[1], ++word_eol[5], NULL, NULL, 0);
if (strstr (word_eol[5], "identify-msg") != 0)
{
EMIT_SIGNAL (XP_TE_CAPREQ, sess->server->server_session, "identify-msg", NULL, NULL, NULL, 0);
tcp_send_len (serv, "CAP REQ :identify-msg\r\n", 23);
}
/* if the SASL password is set, request SASL auth */
if (strstr (word_eol[5], "sasl") != 0 && strlen (sess->server->saslpassword) != 0)
{
EMIT_SIGNAL (XP_TE_CAPREQ, sess->server->server_session, "sasl", NULL, NULL, NULL, 0);
tcp_send_len (serv, "CAP REQ :sasl\r\n", 23);
}
else

View File

@ -1169,6 +1169,20 @@ static char * const pevt_privmsg_help[] = {
N_("Identified text")
};
static char * const pevt_capack_help[] = {
N_("Server Name"),
N_("Acknowledged Capability")
};
static char * const pevt_caplist_help[] = {
N_("Server Name"),
N_("Server Capabilities")
};
static char * const pevt_capreq_help[] = {
N_("Requested Capability")
};
static char * const pevt_changenick_help[] = {
N_("Old nickname"),
N_("New nickname"),
@ -1422,11 +1436,6 @@ static char * const pevt_saslresponse_help[] = {
N_("Message")
};
static char * const pevt_servercap_help[] = {
N_("Server Name"),
N_("Server Capabilities")
};
static char * const pevt_servertext_help[] = {
N_("Text"),
N_("Server Name"),

View File

@ -22,6 +22,24 @@ pevt_generic_none_help
n0
Capability Acknowledgement
XP_TE_CAPACK
pevt_capack_help
%C29*%O$tCapability acknowledged: %C29$2%O
2
Capability List
XP_TE_CAPLIST
pevt_caplist_help
%C23*%O$tCapabilities supported by the server: %C29$2%O
2
Capability Request
XP_TE_CAPREQ
pevt_capreq_help
%C23*%O$tCapability requested: %C29$1%O
1
Change Nick
XP_TE_CHANGENICK
pevt_changenick_help
@ -658,12 +676,6 @@ pevt_saslresponse_help
%C29*%O$t$4
n4
Server Capabilities
XP_TE_SERVERCAP
pevt_servercap_help
%C23*%O$tCapabilities supported by the server: %C29$2%O
2
Server Connected
XP_TE_SERVERCONNECTED
pevt_generic_none_help