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

test

parent 91696ca8
Loading
Loading
Loading
Loading
Loading
+30 −0
Changes for src/admin.cpp: 30 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -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"
@@ -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();