Author: Kev <klmitch@mit.edu>
authorKevin L. Mitchell <klmitch@mit.edu>
Thu, 20 Mar 2008 17:41:00 +0000 (17:41 +0000)
committerKevin L. Mitchell <klmitch@mit.edu>
Thu, 20 Mar 2008 17:41:00 +0000 (17:41 +0000)
Log message:

Make ircu do the right thing if it sees a remote client with user mode +O--
namely, don't show "is an IRC Operator", etc.  First step in a multi-phase
upgrade to allow local operators to be acknowledged across the net.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1868 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
include/client.h

index 50234b529ef096a32f342300bd4b248c19f40542..37007c7241d637ae305476798dd926143008e4b4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-03-20  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * include/client.h: IsLocOp() now checks to see if its MyUser() as
+       well; IsAnOper() uses IsOper() and IsLocOp() instead of directly
+       testing the flags
+
 2008-03-15  Michael Poole <mdpoole@troilus.org>
 
        * ircd/s_bsd.c (init_connection_limits): Remove errant apostrophe.
index aea930ab404da257135bb8b298e07cb618e0120c..c38e30483478c5a4302252bcc06008b98e3d9981 100644 (file)
@@ -531,7 +531,7 @@ struct Client {
 #define HasFlag(cli, flag)  FlagHas(&cli_flags(cli), flag)
 
 /** Return non-zero if the client is an IRC operator (global or local). */
-#define IsAnOper(x)             (HasFlag(x, FLAG_OPER) || HasFlag(x, FLAG_LOCOP))
+#define IsAnOper(x)             (IsOper(x) || IsLocOp(x))
 /** Return non-zero if the client's connection is blocked. */
 #define IsBlocked(x)            HasFlag(x, FLAG_BLOCKED)
 /** Return non-zero if the client's connection is still being burst. */
@@ -555,8 +555,8 @@ struct Client {
 #define IsInvisible(x)          HasFlag(x, FLAG_INVISIBLE)
 /** Return non-zero if the client caused a net.burst. */
 #define IsJunction(x)           HasFlag(x, FLAG_JUNCTION)
-/** Return non-zero if the client has set mode +O (local operator). */
-#define IsLocOp(x)              HasFlag(x, FLAG_LOCOP)
+/** Return non-zero if the client has set mode +O (local operator) locally. */
+#define IsLocOp(x)              (MyUser(x) && HasFlag(x, FLAG_LOCOP))
 /** Return non-zero if the client has set mode +o (global operator). */
 #define IsOper(x)               HasFlag(x, FLAG_OPER)
 /** Return non-zero if the client has an active UDP ping request. */