]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/commands/cmd_who.cpp
Patch to not increment nickchange counter for nick changes that would be blocked...
[user/henk/code/inspircd.git] / src / commands / cmd_who.cpp
index 9ba3c0fc93a1aae112759a45af2bb9e542a795e5..718eb20020b3078e6d0f24d1b214ffe99493d547 100644 (file)
@@ -3,7 +3,7 @@
  *       +------------------------------------+
  *
  *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ * See: http://wiki.inspircd.org/Credits
  *
  * This program is free but copyrighted software; see
  *         the file COPYING for details.
@@ -250,25 +250,30 @@ CmdResult CommandWho::Handle (const std::vector<std::string>& parameters, User *
                                        opt_realname = true;
                                        break;
                                case 'm':
-                                       opt_mode = true;
+                                       if (user->HasPrivPermission("users/auspex"))
+                                               opt_mode = true;
                                        break;
                                case 'M':
-                                       opt_metadata = true;
+                                       if (user->HasPrivPermission("users/auspex"))
+                                               opt_metadata = true;
                                        break;
                                case 'i':
                                        opt_ident = true;
                                        break;
                                case 'p':
-                                       opt_port = true;
+                                       if (user->HasPrivPermission("users/auspex"))
+                                               opt_port = true;
                                        break;
                                case 'a':
                                        opt_away = true;
                                        break;
                                case 'l':
-                                       opt_local = true;
+                                       if (user->HasPrivPermission("users/auspex") || !*ServerInstance->Config->HideWhoisServer)
+                                               opt_local = true;
                                        break;
                                case 'f':
-                                       opt_far = true;
+                                       if (user->HasPrivPermission("users/auspex") || !*ServerInstance->Config->HideWhoisServer)
+                                               opt_far = true;
                                        break;
                                case 't':
                                        opt_time = true;