diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-08-27 18:30:50 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-08-27 18:30:50 +0000 |
commit | e04e8aaf9b1a8c75dc70e2137230d11db27137ed (patch) | |
tree | 779ef1d7f9a6363881d05caa88be21ab14f560d6 | |
parent | 25f99f5c21bdf4d42ffbf2fc06438270e890d992 (diff) |
NOTICE, PRIVMSG, WHOIS; dont allow local users to /msg <uid> etc. This prevents a primative possible type of 'stalking' of users.
We still need to use full FindNick for remote use.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7908 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/cmd_notice.cpp | 6 | ||||
-rw-r--r-- | src/cmd_privmsg.cpp | 6 | ||||
-rw-r--r-- | src/cmd_whois.cpp | 5 |
3 files changed, 14 insertions, 3 deletions
diff --git a/src/cmd_notice.cpp b/src/cmd_notice.cpp index d97743a43..f66341846 100644 --- a/src/cmd_notice.cpp +++ b/src/cmd_notice.cpp @@ -117,7 +117,11 @@ CmdResult cmd_notice::Handle (const char** parameters, int pcnt, userrec *user) return CMD_SUCCESS; } - dest = ServerInstance->FindNick(parameters[0]); + if (IS_LOCAL(user)) + dest = ServerInstance->FindNickOnly(parameters[0]); + else + dest = ServerInstance->FindNick(parameters[0]); + if (dest) { if (!*parameters[1]) diff --git a/src/cmd_privmsg.cpp b/src/cmd_privmsg.cpp index 00a7f1366..5c3020b5b 100644 --- a/src/cmd_privmsg.cpp +++ b/src/cmd_privmsg.cpp @@ -118,7 +118,11 @@ CmdResult cmd_privmsg::Handle (const char** parameters, int pcnt, userrec *user) return CMD_SUCCESS; } - dest = ServerInstance->FindNick(parameters[0]); + if (IS_LOCAL(user)) + dest = ServerInstance->FindNickOnly(parameters[0]); + else + dest = ServerInstance->FindNick(parameters[0]); + if (dest) { if (!*parameters[1]) diff --git a/src/cmd_whois.cpp b/src/cmd_whois.cpp index dadb93902..b6f85e01c 100644 --- a/src/cmd_whois.cpp +++ b/src/cmd_whois.cpp @@ -108,7 +108,10 @@ CmdResult cmd_whois::Handle (const char** parameters, int pcnt, userrec *user) if (pcnt > 1) userindex = 1; - dest = ServerInstance->FindNick(parameters[userindex]); + if (IS_LOCAL(user)) + dest = ServerInstance->FindNickOnly(parameters[userindex]); + else + dest = ServerInstance->FindNick(parameters[userindex]); if (dest) { |