From a25ce1d73a5f5a92057a6e7c62894e4683eb4280 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Thu, 7 Jan 2010 03:06:13 +0000 Subject: [PATCH] Restrict the visibility of /silence lists (fixing SF #2701725). git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1937 c9e4aea6-c8fd-4c43-8297-357d70d61c8c --- ChangeLog | 6 ++++++ ircd/m_silence.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 092c2c6..9fa3b4f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-01-06 Michael Poole + + * ircd/m_silence.c (m_silence): Only show the silence list for the + requesting client and for channel services, to help keep other + clients' servers hidden. + 2010-01-06 Michael Poole * ircd/gline.c (gline_add): If a forced G-line has already diff --git a/ircd/m_silence.c b/ircd/m_silence.c index 818c6ff..ce9d4dc 100644 --- a/ircd/m_silence.c +++ b/ircd/m_silence.c @@ -289,7 +289,7 @@ int m_silence(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) /* See if the user is requesting a silence list. */ acptr = sptr; if (parc < 2 || EmptyString(parv[1]) || (acptr = FindUser(parv[1]))) { - if (cli_user(acptr)) { + if (cli_user(acptr) && ((acptr == sptr) || IsChannelService(acptr))) { for (sile = cli_user(acptr)->silence; sile; sile = sile->next) { send_reply(sptr, RPL_SILELIST, cli_name(acptr), (sile->flags & BAN_EXCEPTION ? "~" : ""), sile->banstr); -- 2.20.1