summaryrefslogtreecommitdiff
path: root/src/irc/irc-send.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/irc/irc-send.c')
-rw-r--r--src/irc/irc-send.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/irc/irc-send.c b/src/irc/irc-send.c
index c55aacb36..1db8219c7 100644
--- a/src/irc/irc-send.c
+++ b/src/irc/irc-send.c
@@ -513,6 +513,7 @@ int
irc_cmd_send_msg (t_irc_server *server, char *arguments)
{
char *pos, *pos_comma;
+ char *msg_pwd_hidden, *pos_pwd;
t_irc_channel *ptr_channel;
t_irc_nick *ptr_nick;
@@ -582,6 +583,41 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
}
else
{
+ /* message to nickserv with identify ? */
+ if (strcmp (arguments, "nickserv") == 0)
+ {
+ msg_pwd_hidden = strdup (pos);
+ if (cfg_log_hide_nickserv_pwd)
+ {
+ pos_pwd = strstr (msg_pwd_hidden, "identify ");
+ if (!pos_pwd)
+ pos_pwd = strstr (msg_pwd_hidden, "register ");
+ if (pos_pwd)
+ {
+ pos_pwd += 9;
+ while (pos_pwd[0])
+ {
+ pos_pwd[0] = '*';
+ pos_pwd++;
+ }
+ }
+ }
+ gui_printf_color_type (server->buffer,
+ MSG_TYPE_NICK,
+ COLOR_WIN_CHAT_DARK, "-");
+ gui_printf_color_type (server->buffer,
+ MSG_TYPE_NICK,
+ COLOR_WIN_CHAT_NICK, "%s", arguments);
+ gui_printf_color_type (server->buffer,
+ MSG_TYPE_NICK,
+ COLOR_WIN_CHAT_DARK, "-");
+ gui_printf_color (server->buffer,
+ COLOR_WIN_CHAT, " %s\n", msg_pwd_hidden);
+ server_sendf (server, "PRIVMSG %s :%s\r\n", arguments, pos);
+ free (msg_pwd_hidden);
+ return 0;
+ }
+
ptr_channel = channel_search (server, arguments);
if (!ptr_channel)
{