Commit d344c025 authored by jan.koester's avatar jan.koester
Browse files

test

parent ebb0ea53
Loading
Loading
Loading
Loading
Loading
+33 −0
Changes for src/admin.cpp: 33 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -139,6 +139,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("listUsers: could not resolve domain!");
            AuthBackendLock guard(*backend);

            json_object *jobj = json_object_new_object();
            json_object *jarr = json_object_new_array();
@@ -181,6 +182,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("getUser: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid uid;
            uid.parse(cuid);
@@ -215,6 +217,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("createUser: could not resolve domain!");
            AuthBackendLock guard(*backend);

            libhttppp::HttpForm curform;
            curform.parse(curreq);
@@ -345,6 +348,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("removeUser: could not resolve domain!");
            AuthBackendLock guard(*backend);

            User user;
            uuid::uuid uuid;
@@ -362,6 +366,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("editUser: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid uid;
            uid.parse(cuid);
@@ -570,6 +575,7 @@ namespace authdb {

        /* ---- JSON API: List Domains ---- */
        void apiListDomains(libhttppp::HttpRequest &curreq) {
            AuthBackendLock guard(_AdminBackend);
            json_object *jobj = json_object_new_object();
            json_object *jarr = json_object_new_array();

@@ -609,6 +615,7 @@ namespace authdb {
        void apiCreateDomain(libhttppp::HttpRequest &curreq, const SessionData *sdat) {
            if (!isSuperAdmin(sdat))
                throw AuthBackendError("createDomain: nur SuperAdmins von admin.local erlaubt!");
            AuthBackendLock guard(_AdminBackend);
            std::vector<char> body;
            libhttppp::HttpForm curform;
            curform.parse(curreq);
@@ -698,6 +705,7 @@ namespace authdb {
        void apiRemoveDomain(libhttppp::HttpRequest &curreq, const char *cdid, const SessionData *sdat) {
            if (!isSuperAdmin(sdat))
                throw AuthBackendError("removeDomain: nur SuperAdmins von admin.local erlaubt!");
            AuthBackendLock guard(_AdminBackend);
            Domain domain;
            uuid::uuid uuid;
            uuid.parse(cdid);
@@ -714,6 +722,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("listGroups: could not resolve domain!");
            AuthBackendLock guard(*backend);

            json_object *jobj = json_object_new_object();
            json_object *jarr = json_object_new_array();
@@ -752,6 +761,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("getGroup: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid gid(cgid);
            json_object *jobj = json_object_new_object();
@@ -802,6 +812,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("createGroup: could not resolve domain!");
            AuthBackendLock guard(*backend);

            std::string reqbody = getRequestBody(curreq);
            json_object *jreq = json_tokener_parse(reqbody.c_str());
@@ -840,6 +851,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("removeGroup: could not resolve domain!");
            AuthBackendLock guard(*backend);

            Group group;
            uuid::uuid uuid;
@@ -857,6 +869,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("editGroup: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid gid(cgid);

@@ -946,6 +959,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("reloadSession: could not resolve domain!");
            AuthBackendLock guard(*backend);

            AuthSession.relSession(*backend, sid);

@@ -960,6 +974,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("listGpos: could not resolve domain!");
            AuthBackendLock guard(*backend);

            json_object *jobj = json_object_new_object();
            json_object *jarr = json_object_new_array();
@@ -1005,6 +1020,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("getGpo: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid gpid;
            gpid.parse(cgpid);
@@ -1066,6 +1082,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("createGpo: could not resolve domain!");
            AuthBackendLock guard(*backend);

            std::string reqbody = getRequestBody(curreq);
            json_object *jreq = json_tokener_parse(reqbody.c_str());
@@ -1115,6 +1132,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("removeGpo: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid gpid;
            gpid.parse(cgpid);
@@ -1133,6 +1151,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("editGpo: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid gpid;
            gpid.parse(cgpid);
@@ -1182,6 +1201,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("listServices: could not resolve domain!");
            AuthBackendLock guard(*backend);

            json_object *jobj = json_object_new_object();
            json_object *jarr = json_object_new_array();
@@ -1231,6 +1251,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("getService: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid sid;
            if (sid.parse(csid) != 0)
@@ -1262,6 +1283,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("createService: could not resolve domain!");
            AuthBackendLock guard(*backend);

            std::string reqbody = getRequestBody(curreq);
            json_object *jreq = json_tokener_parse(reqbody.c_str());
@@ -1339,6 +1361,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("removeService: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid svid;
            if (svid.parse(csid) != 0)
@@ -1357,6 +1380,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("editService: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid sid;
            if (sid.parse(csid) != 0)
@@ -1442,6 +1466,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("listClients: could not resolve domain!");
            AuthBackendLock guard(*backend);

            json_object *jobj = json_object_new_object();
            json_object *jarr = json_object_new_array();
@@ -1481,6 +1506,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("getClient: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid clid;
            if (clid.parse(cclid) != 0)
@@ -1503,6 +1529,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("createClient: could not resolve domain!");
            AuthBackendLock guard(*backend);

            std::string reqbody = getRequestBody(curreq);
            json_object *jreq = json_tokener_parse(reqbody.c_str());
@@ -1554,6 +1581,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("removeClient: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid cldid;
            if (cldid.parse(cclid) != 0)
@@ -1572,6 +1600,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("editClient: could not resolve domain!");
            AuthBackendLock guard(*backend);

            uuid::uuid clid;
            if (clid.parse(cclid) != 0)
@@ -1629,6 +1658,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("export: could not resolve domain!");
            AuthBackendLock guard(*backend);

            json_object *jobj = Export::toJson(*backend);
            sendJson(curreq, jobj);
@@ -1640,6 +1670,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("import: could not resolve domain!");
            AuthBackendLock guard(*backend);

            std::string reqbody = getRequestBody(curreq);
            json_object *jreq = json_tokener_parse(reqbody.c_str());
@@ -1660,6 +1691,7 @@ namespace authdb {
            DomainBackend dbackend(_AdminBackend);
            AuthBackend *backend = resolveDomain(cdid, _AdminBackend, dbackend);
            if (!backend) throw AuthBackendError("vacuum: could not resolve domain!");
            AuthBackendLock guard(*backend);

            size_t sizeBefore = backend->end();
            vacuumRecords(*backend);
@@ -1811,6 +1843,7 @@ namespace authdb {
                    libhtmlpp::HtmlElement index = *_LoginElement, *domel = index.getElementbyID("domain");
                    libhtmlpp::HtmlElement *loginel = index.getElementbyID("login");

                    AuthBackendLock domguard(_AdminBackend);
                    Domain domain;
                    size_t rd = sizeof(authdb::AuthHeader), end = _AdminBackend.end();