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

@@ -1,5 +1,9 @@
[Changes 1.2.2] [Changes 1.2.2]
* Add /FSET ENCRYPTED_PUBLIC and ENCRYPTED_PUBLIC_NOTICE formats, and fix
use of ENCRYPTED_PRIVMSG and ENCRYPTED_NOTICE so they use the right number
of arguments. (caf)
* Move all handling of SED messages and notices into ctcp.c, re-enable * Move all handling of SED messages and notices into ctcp.c, re-enable
SED notices. (caf) SED notices. (caf)

View File

@@ -96,6 +96,8 @@
#define DEFAULT_FORMAT_DISCONNECT_FSET "$G Use %G/Server%n to connect to a server" #define DEFAULT_FORMAT_DISCONNECT_FSET "$G Use %G/Server%n to connect to a server"
#define DEFAULT_FORMAT_ENCRYPTED_NOTICE_FSET "%K-%Y$1%K(%p$2%K)-%n $3-" #define DEFAULT_FORMAT_ENCRYPTED_NOTICE_FSET "%K-%Y$1%K(%p$2%K)-%n $3-"
#define DEFAULT_FORMAT_ENCRYPTED_PRIVMSG_FSET "%K[%Y$1%K(%p$2%K)]%n $3-" #define DEFAULT_FORMAT_ENCRYPTED_PRIVMSG_FSET "%K[%Y$1%K(%p$2%K)]%n $3-"
#define DEFAULT_FORMAT_ENCRYPTED_PUBLIC_FSET "%Y<%n$1%K/%n$3%Y>%n $4-"
#define DEFAULT_FORMAT_ENCRYPTED_PUBLIC_NOTICE_FSET "%Y-%n$1%K/%n$3%Y-%n $4-"
#define DEFAULT_FORMAT_FLOOD_FSET "%Y$1%n flood detected from %G$2%K(%g$3%K)%n on %K[%G$4%K]" #define DEFAULT_FORMAT_FLOOD_FSET "%Y$1%n flood detected from %G$2%K(%g$3%K)%n on %K[%G$4%K]"
#define DEFAULT_FORMAT_FRIEND_JOIN_FSET "$G %R$1 %K[%c$2%K]%n has joined $3" #define DEFAULT_FORMAT_FRIEND_JOIN_FSET "$G %R$1 %K[%c$2%K]%n has joined $3"
#define DEFAULT_FORMAT_HELP_FSET "$0-" #define DEFAULT_FORMAT_HELP_FSET "$0-"
@@ -529,6 +531,8 @@
#define DEFAULT_FORMAT_DISCONNECT_FSET "$G Use %G/Server%n to connect to a server" #define DEFAULT_FORMAT_DISCONNECT_FSET "$G Use %G/Server%n to connect to a server"
#define DEFAULT_FORMAT_ENCRYPTED_NOTICE_FSET "%@%K-%Y$1%K(%p$2%K)-%n $3-" #define DEFAULT_FORMAT_ENCRYPTED_NOTICE_FSET "%@%K-%Y$1%K(%p$2%K)-%n $3-"
#define DEFAULT_FORMAT_ENCRYPTED_PRIVMSG_FSET "%@%K[%Y$1%K(%p$2%K)]%n $3-" #define DEFAULT_FORMAT_ENCRYPTED_PRIVMSG_FSET "%@%K[%Y$1%K(%p$2%K)]%n $3-"
#define DEFAULT_FORMAT_ENCRYPTED_PUBLIC_FSET "%@%Y<%n$1%K/%n$3%Y>%n $4-"
#define DEFAULT_FORMAT_ENCRYPTED_PUBLIC_NOTICE_FSET "%@%Y-%n$1%K/%n$3%Y-%n $4-"
#define DEFAULT_FORMAT_FLOOD_FSET "%Y$1%n flood detected from %G$2%K(%g$3%K)%n on %K[%G$4%K]" #define DEFAULT_FORMAT_FLOOD_FSET "%Y$1%n flood detected from %G$2%K(%g$3%K)%n on %K[%G$4%K]"
#define DEFAULT_FORMAT_FRIEND_JOIN_FSET "$G %R$1 %K[%c$2%K]%n has joined $3" #define DEFAULT_FORMAT_FRIEND_JOIN_FSET "$G %R$1 %K[%c$2%K]%n has joined $3"
#define DEFAULT_FORMAT_HELP_FSET "$0-" #define DEFAULT_FORMAT_HELP_FSET "$0-"

View File

@@ -195,6 +195,8 @@ FORMAT_EBANS_FOOTER_FSET,
FORMAT_EBANS_HEADER_FSET, FORMAT_EBANS_HEADER_FSET,
FORMAT_ENCRYPTED_NOTICE_FSET, FORMAT_ENCRYPTED_NOTICE_FSET,
FORMAT_ENCRYPTED_PRIVMSG_FSET, FORMAT_ENCRYPTED_PRIVMSG_FSET,
FORMAT_ENCRYPTED_PUBLIC_FSET,
FORMAT_ENCRYPTED_PUBLIC_NOTICE_FSET,
FORMAT_FLOOD_FSET, FORMAT_FLOOD_FSET,
FORMAT_FRIEND_JOIN_FSET, FORMAT_FRIEND_JOIN_FSET,
FORMAT_HELP_FSET, FORMAT_HELP_FSET,

View File

@@ -640,7 +640,12 @@ CTCP_HANDLER(do_sed)
*/ */
char *ptr = do_ctcp(from, to, ret); char *ptr = do_ctcp(from, to, ret);
if (*ptr && do_hook(ENCRYPTED_PRIVMSG_LIST, "%s %s %s", from, to, ptr)) 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; *ret = 0;
} }
else else
@@ -667,7 +672,12 @@ CTCP_HANDLER(do_sed_reply)
*/ */
char *ptr = do_notice_ctcp(from, to, ret); char *ptr = do_notice_ctcp(from, to, ret);
if (*ptr && do_hook(ENCRYPTED_NOTICE_LIST, "%s %s %s", from, to, ptr)) 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; *ret = 0;
} }
else else

View File

@@ -80,6 +80,8 @@ IrcVariable fset_array[] =
{ "EBANS_HEADER", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0}, { "EBANS_HEADER", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0},
{ "ENCRYPTED_NOTICE", 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_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}, { "FLOOD", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0},
{ "FRIEND_JOIN", 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}, { "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_DISCONNECT_FSET, DEFAULT_FORMAT_DISCONNECT_FSET);
fset_string_var(FORMAT_ENCRYPTED_NOTICE_FSET, DEFAULT_FORMAT_ENCRYPTED_NOTICE_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_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_FLOOD_FSET, DEFAULT_FORMAT_FLOOD_FSET);
fset_string_var(FORMAT_FRIEND_JOIN_FSET, DEFAULT_FORMAT_FRIEND_JOIN_FSET); fset_string_var(FORMAT_FRIEND_JOIN_FSET, DEFAULT_FORMAT_FRIEND_JOIN_FSET);
fset_string_var(FORMAT_HELP_FSET, DEFAULT_FORMAT_HELP_FSET); fset_string_var(FORMAT_HELP_FSET, DEFAULT_FORMAT_HELP_FSET);