diff options
| author | 2020-03-18 13:51:23 +0000 | |
|---|---|---|
| committer | 2020-03-18 13:51:23 +0000 | |
| commit | b9acde9aaf0ddae8b821b21821724adcdbea9359 (patch) | |
| tree | 7c76b8988dd9e31596ae2b114b15a762561e063d /src/modules/extra/m_ldap.cpp | |
| parent | Remove support for 0/1 in getBool. (diff) | |
| parent | Allow commands to override ERR_{NEEDSMOREPARAMS,NOTREGISTERED}. (diff) | |
Merge branch 'insp3' into master.
Diffstat (limited to 'src/modules/extra/m_ldap.cpp')
| -rw-r--r-- | src/modules/extra/m_ldap.cpp | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/src/modules/extra/m_ldap.cpp b/src/modules/extra/m_ldap.cpp index 46b76ab5f..d536dc0ed 100644 --- a/src/modules/extra/m_ldap.cpp +++ b/src/modules/extra/m_ldap.cpp @@ -76,6 +76,7 @@ class LDAPRequest } virtual int run() = 0; + virtual std::string info() = 0; }; class LDAPBind : public LDAPRequest @@ -92,6 +93,7 @@ class LDAPBind : public LDAPRequest } int run() override; + std::string info() override; }; class LDAPSearch : public LDAPRequest @@ -111,6 +113,7 @@ class LDAPSearch : public LDAPRequest } int run() override; + std::string info() override; }; class LDAPAdd : public LDAPRequest @@ -128,6 +131,7 @@ class LDAPAdd : public LDAPRequest } int run() override; + std::string info() override; }; class LDAPDel : public LDAPRequest @@ -143,6 +147,7 @@ class LDAPDel : public LDAPRequest } int run() override; + std::string info() override; }; class LDAPModify : public LDAPRequest @@ -160,6 +165,7 @@ class LDAPModify : public LDAPRequest } int run() override; + std::string info() override; }; class LDAPCompare : public LDAPRequest @@ -177,6 +183,7 @@ class LDAPCompare : public LDAPRequest } int run() override; + std::string info() override; }; class LDAPService : public LDAPProvider, public SocketThread @@ -394,7 +401,7 @@ class LDAPService : public LDAPProvider, public SocketThread if (res != LDAP_SUCCESS) { - ldap_result->error = ldap_err2string(res); + ldap_result->error = InspIRCd::Format("%s (%s)", ldap_err2string(res), req->info().c_str()); return; } @@ -644,11 +651,21 @@ int LDAPBind::run() return i; } +std::string LDAPBind::info() +{ + return "bind dn=" + who; +} + int LDAPSearch::run() { return ldap_search_ext_s(service->GetConnection(), base.c_str(), searchscope, filter.c_str(), NULL, 0, NULL, NULL, &tv, 0, &message); } +std::string LDAPSearch::info() +{ + return "search base=" + base + " filter=" + filter; +} + int LDAPAdd::run() { LDAPMod** mods = LDAPService::BuildMods(attributes); @@ -657,11 +674,21 @@ int LDAPAdd::run() return i; } +std::string LDAPAdd::info() +{ + return "add dn=" + dn; +} + int LDAPDel::run() { return ldap_delete_ext_s(service->GetConnection(), dn.c_str(), NULL, NULL); } +std::string LDAPDel::info() +{ + return "del dn=" + dn; +} + int LDAPModify::run() { LDAPMod** mods = LDAPService::BuildMods(attributes); @@ -670,6 +697,11 @@ int LDAPModify::run() return i; } +std::string LDAPModify::info() +{ + return "modify base=" + base; +} + int LDAPCompare::run() { berval cred; @@ -681,7 +713,11 @@ int LDAPCompare::run() free(cred.bv_val); return ret; +} +std::string LDAPCompare::info() +{ + return "compare dn=" + dn + " attr=" + attr; } MODULE_INIT(ModuleLDAP) |
