Loading src/admin.cpp +30 −0 Changes for src/admin.cpp: 30 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ #include "hash.h" #include "hash/sha512.h" #include "gpo.h" #include "gpo_default.h" #include "client.h" #include "session.h" #include "export.h" Loading Loading @@ -777,6 +778,35 @@ namespace authdb { Domain domain; domain.create(_AdminBackend, &ddat); // Auto-create "Domain Admins" group and admin login GPO { DomainBackend dbackend(_AdminBackend); AuthBackend *domBackend = resolveDomain(uid.c_str(), _AdminBackend, dbackend); if (domBackend) { AuthBackendLock dguard(*domBackend); // Create "Domain Admins" group uuid::uuid gid; gid.generate(); GroupData grpdat(gid); grpdat.setName("Domain Admins"); Group grp; grp.create(*domBackend, &grpdat); // Create admin login GPO with "Domain Admins" in allowed list uuid::uuid gpoid(gpo_default[0][0]); GpoData gdat(gpoid); gdat.setName(gpo_default[0][1]); gdat.setDesc(gpo_default[0][2]); gdat.setGpoValue(strcmp(gpo_default[0][3], "true") == 0); std::vector<uuid::uuid> allowed; allowed.push_back(gid); gdat.setAllowed(allowed); Gpo gpo; gpo.create(*domBackend, &gdat); } } json_object_put(jreq); json_object *jobj = json_object_new_object(); Loading Loading
src/admin.cpp +30 −0 Changes for src/admin.cpp: 30 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ #include "hash.h" #include "hash/sha512.h" #include "gpo.h" #include "gpo_default.h" #include "client.h" #include "session.h" #include "export.h" Loading Loading @@ -777,6 +778,35 @@ namespace authdb { Domain domain; domain.create(_AdminBackend, &ddat); // Auto-create "Domain Admins" group and admin login GPO { DomainBackend dbackend(_AdminBackend); AuthBackend *domBackend = resolveDomain(uid.c_str(), _AdminBackend, dbackend); if (domBackend) { AuthBackendLock dguard(*domBackend); // Create "Domain Admins" group uuid::uuid gid; gid.generate(); GroupData grpdat(gid); grpdat.setName("Domain Admins"); Group grp; grp.create(*domBackend, &grpdat); // Create admin login GPO with "Domain Admins" in allowed list uuid::uuid gpoid(gpo_default[0][0]); GpoData gdat(gpoid); gdat.setName(gpo_default[0][1]); gdat.setDesc(gpo_default[0][2]); gdat.setGpoValue(strcmp(gpo_default[0][3], "true") == 0); std::vector<uuid::uuid> allowed; allowed.push_back(gid); gdat.setAllowed(allowed); Gpo gpo; gpo.create(*domBackend, &gdat); } } json_object_put(jreq); json_object *jobj = json_object_new_object(); Loading