]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_ldapoper.cpp
Fix the cloaking module on C++98 compilers.
[user/henk/code/inspircd.git] / src / modules / m_ldapoper.cpp
index cde5b00d7878b9cc0da9e985881e4ea8d0062190..4304ad8d5bf4caed4b61f359f37c72d606a5839b 100644 (file)
@@ -1,11 +1,10 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
- *   Copyright (C) 2013 Adam <Adam@anope.org>
- *   Copyright (C) 2009 Robin Burchell <robin+git@viroteck.net>
- *   Copyright (C) 2008 Pippijn van Steenhoven <pip88nl@gmail.com>
- *   Copyright (C) 2008 Craig Edwards <craigedwards@brainbox.cc>
- *   Copyright (C) 2007 Carsten Valdemar Munk <carsten.munk+inspircd@gmail.com>
+ *   Copyright (C) 2020 Christos Triantafyllidis <ctria@users.noreply.github.com>
+ *   Copyright (C) 2018-2020 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2014, 2018 Attila Molnar <attilamolnar@hush.com>
+ *   Copyright (C) 2013-2014 Adam <Adam@anope.org>
  *
  * This file is part of InspIRCd.  InspIRCd is free software: you can
  * redistribute it and/or modify it under the terms of the GNU General Public
@@ -152,7 +151,13 @@ class AdminBindInterface : public LDAPInterface
 
  public:
        AdminBindInterface(Module* c, const std::string& p, const std::string& u, const std::string& o, const std::string& pa, const std::string& b, const std::string& w)
-               : LDAPInterface(c), provider(p), user(u), opername(p), password(pa), base(b), what(w)
+               : LDAPInterface(c)
+               , provider(p)
+               , user(u)
+               , opername(o)
+               , password(pa)
+               , base(b)
+               , what(w)
        {
        }
 
@@ -180,14 +185,14 @@ class AdminBindInterface : public LDAPInterface
        }
 };
 
-class ModuleLDAPAuth : public Module
+class ModuleLDAPOper : public Module
 {
        dynamic_reference<LDAPProvider> LDAP;
        std::string base;
        std::string attribute;
 
  public:
-       ModuleLDAPAuth()
+       ModuleLDAPOper()
                : LDAP(this, "LDAP")
        {
                me = this;
@@ -218,8 +223,7 @@ class ModuleLDAPAuth : public Module
                                return MOD_RES_PASSTHRU;
 
                        std::string acceptedhosts = tag->getString("host");
-                       std::string hostname = user->ident + "@" + user->GetRealHost();
-                       if (!InspIRCd::MatchMask(acceptedhosts, hostname, user->GetIPString()))
+                       if (!InspIRCd::MatchMask(acceptedhosts, user->MakeHost(), user->MakeHostIP()))
                                return MOD_RES_PASSTHRU;
 
                        if (!LDAP)
@@ -242,8 +246,8 @@ class ModuleLDAPAuth : public Module
 
        Version GetVersion() CXX11_OVERRIDE
        {
-               return Version("Adds the ability to authenticate opers via LDAP", VF_VENDOR);
+               return Version("Allows server operators to be authenticated against an LDAP database.", VF_VENDOR);
        }
 };
 
-MODULE_INIT(ModuleLDAPAuth)
+MODULE_INIT(ModuleLDAPOper)