From c1a402c85e0bfdc817abe70edbda1fb7b968b46f Mon Sep 17 00:00:00 2001 From: Travis McArthur Date: Mon, 1 Jun 2015 22:53:42 -0400 Subject: [PATCH] Add initial permission syste hooks for whois - more later --- src/modules/m_whois.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/modules/m_whois.c b/src/modules/m_whois.c index b7cee2ff8..e33d72319 100644 --- a/src/modules/m_whois.c +++ b/src/modules/m_whois.c @@ -195,11 +195,11 @@ DLLFUNC int m_whois(aClient *cptr, aClient *sptr, int parc, char *parv[]) showchannel = 0; if (ShowChannel(sptr, chptr)) showchannel = 1; - if (OPCanSeeSecret(sptr)) + if (OPCanSeeSecret(sptr) || OperClass_evaluateACLPath(sptr->user->operlogin,"override:whois",sptr,NULL,chptr,NULL)) showchannel = 1; - if ((acptr->umodes & UMODE_HIDEWHOIS) && !IsMember(sptr, chptr) && !IsAnOper(sptr)) + if ((acptr->umodes & UMODE_HIDEWHOIS) && !IsMember(sptr, chptr) && !IsAnOper(sptr) && !OperClass_evaluateACLPath(sptr->user->operlogin,"override:whois:",sptr,NULL,chptr,NULL)) showchannel = 0; - if (IsServices(acptr) && !IsNetAdmin(sptr) && !IsSAdmin(sptr)) + if (IsServices(acptr) && !IsNetAdmin(sptr) && !IsSAdmin(sptr) && !OperClass_evaluateACLPath(sptr->user->operlogin,"override:whois",sptr,NULL,chptr,NULL)) showchannel = 0; if (acptr == sptr) showchannel = 1; @@ -218,11 +218,11 @@ DLLFUNC int m_whois(aClient *cptr, aClient *sptr, int parc, char *parv[]) len = 0; } #ifdef SHOW_SECRET - if (IsAnOper(sptr) + if ((IsAnOper(sptr) || #else - if (IsNetAdmin(sptr) + if ((IsNetAdmin(sptr) || #endif - && SecretChannel(chptr) && !IsMember(sptr, chptr)) + OperClass_evaluateACLPath(sptr->user->operlogin,"override:whois",sptr,NULL,chptr,NULL)) && SecretChannel(chptr) && !IsMember(sptr, chptr)) *(buf + len++) = '?'; if (acptr->umodes & UMODE_HIDEWHOIS && !IsMember(sptr, chptr) && IsAnOper(sptr))