]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/extra/m_ldap.cpp
Only send ACCOUNT and CHGHOST to clients that have sent NICK/USER.
[user/henk/code/inspircd.git] / src / modules / extra / m_ldap.cpp
index 67a4e6745ba4d3166fed87defcdfef4001165527..37a19fb21b8a09c062410cc4307afb80636afd71 100644 (file)
  */
 
 /// $LinkerFlags: -llber -lldap_r
+
+/// $PackageInfo: require_system("arch") libldap
+/// $PackageInfo: require_system("centos") openldap-devel
+/// $PackageInfo: require_system("debian") libldap2-dev
 /// $PackageInfo: require_system("ubuntu") libldap2-dev
 
 #include "inspircd.h"
 #include "modules/ldap.h"
 
+// Ignore OpenLDAP deprecation warnings on OS X Yosemite and newer.
+#if defined __APPLE__
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+
 #include <ldap.h>
 
+#ifdef __APPLE__
+# pragma GCC diagnostic pop
+#endif
+
 #ifdef _WIN32
 # pragma comment(lib, "libldap_r.lib")
 # pragma comment(lib, "liblber.lib")
@@ -250,13 +264,13 @@ class LDAPService : public LDAPProvider, public SocketThread
                , con(NULL), config(tag), last_connect(0)
        {
                std::string scope = config->getString("searchscope");
-               if (scope == "base")
+               if (stdalgo::string::equalsci(scope, "base"))
                        searchscope = LDAP_SCOPE_BASE;
-               else if (scope == "onelevel")
+               else if (stdalgo::string::equalsci(scope, "onelevel"))
                        searchscope = LDAP_SCOPE_ONELEVEL;
                else
                        searchscope = LDAP_SCOPE_SUBTREE;
-               timeout = config->getInt("timeout", 5);
+               timeout = config->getDuration("timeout", 5);
 
                Connect();
        }
@@ -525,7 +539,7 @@ class ModuleLDAP : public Module
                {
                        const reference<ConfigTag>& tag = i->second;
 
-                       if (tag->getString("module") != "ldap")
+                       if (!stdalgo::string::equalsci(tag->getString("module"), "ldap"))
                                continue;
 
                        std::string id = tag->getString("id");
@@ -609,7 +623,7 @@ class ModuleLDAP : public Module
 
        Version GetVersion() CXX11_OVERRIDE
        {
-               return Version("LDAP support", VF_VENDOR);
+               return Version("Provides LDAP support", VF_VENDOR);
        }
 };