Add ENCRYPTED_PUBLIC and ENCRYPTED_PUBLIC_NOTICE formats

Encrypted messages to a channel need to use their own format.  This also fixes the use of ENCRYPTED_PRIVMSG
and ENCRYPTED_NOTICE - they were being called with too many arguments so the destination nick was being prepended
to the message text.
This commit is contained in:
Kevin Easton
2017-06-27 14:15:10 +10:00
parent 0c51ac19d4
commit ed597221f2
5 changed files with 26 additions and 2 deletions

View File

@@ -640,7 +640,12 @@ CTCP_HANDLER(do_sed)
*/
char *ptr = do_ctcp(from, to, ret);
if (*ptr && do_hook(ENCRYPTED_PRIVMSG_LIST, "%s %s %s", from, to, ptr))
put_it("%s",convert_output_format(fget_string_var(FORMAT_ENCRYPTED_PRIVMSG_FSET), "%s %s %s %s %s", update_clock(GET_TIME), from, FromUserHost, to, ptr));
{
if (is_channel(to))
put_it("%s",convert_output_format(fget_string_var(FORMAT_ENCRYPTED_PUBLIC_FSET), "%s %s %s %s %s", update_clock(GET_TIME), from, FromUserHost, to, ptr));
else
put_it("%s",convert_output_format(fget_string_var(FORMAT_ENCRYPTED_PRIVMSG_FSET), "%s %s %s %s", update_clock(GET_TIME), from, FromUserHost, ptr));
}
*ret = 0;
}
else
@@ -667,7 +672,12 @@ CTCP_HANDLER(do_sed_reply)
*/
char *ptr = do_notice_ctcp(from, to, ret);
if (*ptr && do_hook(ENCRYPTED_NOTICE_LIST, "%s %s %s", from, to, ptr))
put_it("%s",convert_output_format(fget_string_var(FORMAT_ENCRYPTED_NOTICE_FSET), "%s %s %s %s %s", update_clock(GET_TIME), from, FromUserHost, to, ptr));
{
if (is_channel(to))
put_it("%s",convert_output_format(fget_string_var(FORMAT_ENCRYPTED_PUBLIC_NOTICE_FSET), "%s %s %s %s %s", update_clock(GET_TIME), from, FromUserHost, to, ptr));
else
put_it("%s",convert_output_format(fget_string_var(FORMAT_ENCRYPTED_NOTICE_FSET), "%s %s %s %s", update_clock(GET_TIME), from, FromUserHost, ptr));
}
*ret = 0;
}
else

View File

@@ -80,6 +80,8 @@ IrcVariable fset_array[] =
{ "EBANS_HEADER", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0},
{ "ENCRYPTED_NOTICE", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0},
{ "ENCRYPTED_PRIVMSG", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0},
{ "ENCRYPTED_PUBLIC", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0},
{ "ENCRYPTED_PUBLIC_NOTICE", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0},
{ "FLOOD", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0},
{ "FRIEND_JOIN", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0},
{ "HELP", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0},
@@ -597,6 +599,8 @@ void create_fsets(Window *win, int ansi)
fset_string_var(FORMAT_DISCONNECT_FSET, DEFAULT_FORMAT_DISCONNECT_FSET);
fset_string_var(FORMAT_ENCRYPTED_NOTICE_FSET, DEFAULT_FORMAT_ENCRYPTED_NOTICE_FSET);
fset_string_var(FORMAT_ENCRYPTED_PRIVMSG_FSET, DEFAULT_FORMAT_ENCRYPTED_PRIVMSG_FSET);
fset_string_var(FORMAT_ENCRYPTED_PUBLIC_FSET, DEFAULT_FORMAT_ENCRYPTED_PUBLIC_FSET);
fset_string_var(FORMAT_ENCRYPTED_PUBLIC_NOTICE_FSET, DEFAULT_FORMAT_ENCRYPTED_PUBLIC_NOTICE_FSET);
fset_string_var(FORMAT_FLOOD_FSET, DEFAULT_FORMAT_FLOOD_FSET);
fset_string_var(FORMAT_FRIEND_JOIN_FSET, DEFAULT_FORMAT_FRIEND_JOIN_FSET);
fset_string_var(FORMAT_HELP_FSET, DEFAULT_FORMAT_HELP_FSET);