Commit 14285ba7 authored by jan.koester's avatar jan.koester
Browse files

fixed name problem

parent 1b9b6ef1
Loading
Loading
Loading
Loading
Loading
+30 −30
Changes for src/admin.cpp: 30 added lines, 30 removed lines.
Original line number Diff line number Diff line
@@ -113,13 +113,13 @@ namespace authdb {
                rd=backend->getPos()+cur->datasize;

                if(cur->type == UserData && strcmp(cur->fieldname,"username")==0){
                    class UserData udat(cur->uuid);
                    class UserData udat(cur->ruid);
                    try {
                        size_t upos=sizeof(authdb::AuthHeader);
                        user.info(*backend,udat,upos);

                        char cruid[255];
                        cur->uuid=cruid;
                        cur->ruid=cruid;
                        userlist << "<tr><td class=\"list_username\">"
                                 << udat.getUsername()
                                 << "</td></tr>"
@@ -235,7 +235,7 @@ namespace authdb {
                    struct AuthData::Record cudat;

                    cudat.start=0xFE;
                    cudat.uuid=uid;
                    cudat.ruid=uid;

                    cudat.type=UserData;
                    cudat.storage=stortype;
@@ -535,7 +535,7 @@ namespace authdb {
                backend->read((unsigned char*)cur.get(),sizeof(AuthData::Record));
                rd=backend->getPos()+cur->datasize;

                if(cur->uuid==uid && cur->type==UserData && cur->storage==TextStorage){
                if(cur->ruid==uid && cur->type==UserData && cur->storage==TextStorage){
                    cur->data = new char[cur->datasize];
                    backend->read((unsigned char*)cur->data,cur->datasize);
                    try {
@@ -614,8 +614,8 @@ namespace authdb {
                    cur->data = new char[cur->datasize];
                    backend.read((unsigned char*)cur->data,cur->datasize);

                    dest << "<option value=\"" << cur->uuid.c_str() << "\" ";
                    if ( strcmp(cdid,cur->uuid.c_str())==0 ){
                    dest << "<option value=\"" << cur->ruid.c_str() << "\" ";
                    if ( strcmp(cdid,cur->ruid.c_str())==0 ){
                        dest << "selected";
                    }
                    dest << ">"
@@ -745,7 +745,7 @@ namespace authdb {
                    struct AuthData::Record dodat;

                    dodat.start=0xFE;
                    dodat.uuid=uid;
                    dodat.ruid=uid;

                    dodat.type=DomainData;
                    dodat.storage=stortype;
@@ -888,7 +888,7 @@ namespace authdb {
                rd=backend->getPos()+cur->datasize;

                if(cur->type == GroupData && strcmp(cur->fieldname,"groupname")==0){
                    class GroupData gdat(cur->uuid);
                    class GroupData gdat(cur->ruid);
                    try {
                        size_t upos=sizeof(authdb::AuthHeader);
                        group.info(*backend,gdat,upos);
@@ -896,14 +896,14 @@ namespace authdb {
                        grouplist << "<tr><td class=\"list_groupname\">" << gdat.getName()
                        << "</td><td>"
                        << "<ul><li>"
                        << "uid: " << cur->uuid.c_str()
                        << "uid: " << cur->ruid.c_str()
                        << "</li>"
                        << "</ul></td><td><ul><li><a class=\"button\" href=\"/settings/"
                        << cur->uuid.c_str()
                        << "/removegroup/" << cur->uuid.c_str() << "\">Remove group</a></li>"
                        << cur->ruid.c_str()
                        << "/removegroup/" << cur->ruid.c_str() << "\">Remove group</a></li>"
                        << "<li><a class=\"button\" href=\"/settings/"
                        << cdid
                        << "/editgroup/" << cur->uuid.c_str() << "\">Edit group</a></li>"
                        << "/editgroup/" << cur->ruid.c_str() << "\">Edit group</a></li>"
                        << "</ul></td></tr>";
                    }catch(AuthBackendError &e){
                        std::cerr << e.what() << std::endl;
@@ -1026,7 +1026,7 @@ namespace authdb {
                if(cur->type == UserData && strcmp(cur->fieldname,"username")==0){
                    cur->data=new char[cur->datasize];
                    backend->read((unsigned char*)cur.get(),cur->datasize);
                    form << "<option value=\"" << cur->uuid.c_str() << "\">" << cur->data << "</option>";
                    form << "<option value=\"" << cur->ruid.c_str() << "\">" << cur->data << "</option>";
                    delete[] cur->data;
                }

@@ -1241,7 +1241,7 @@ namespace authdb {
                backend->read((unsigned char*)cur.get(),sizeof(AuthData::Record));
                rd=backend->getPos()+cur->datasize;

                if(gid == cur->uuid && cur->type==GroupData){
                if(gid == cur->ruid && cur->type==GroupData){

                    form  << "<tr><td><label for=\""<< cur->fieldname <<"\">" << cur->fieldname << "</label></td>";

@@ -1279,9 +1279,9 @@ namespace authdb {
                                curu->data = new char[curu->datasize];
                                backend->read((unsigned char*)curu->data,curu->datasize);

                                form << "<option value=\"" << curu->uuid.c_str() << "\" ";
                                form << "<option value=\"" << curu->ruid.c_str() << "\" ";
                                for(const uuid &mrec : mrecs){
                                    if(mrec == curu->uuid ){
                                    if(mrec == curu->ruid ){
                                        form << " selected ";
                                    }
                                }
@@ -1557,7 +1557,7 @@ namespace authdb {
                        cur.data = new char[cur.datasize];
                        backend->read((unsigned char*)cur.data,cur.datasize);

                        form <<"<option value=\""<< cur.uuid.c_str() <<"\">" << cur.data << "</option>";
                        form <<"<option value=\""<< cur.ruid.c_str() <<"\">" << cur.data << "</option>";
                        delete[] cur.data;
                }
            }
@@ -1730,7 +1730,7 @@ namespace authdb {

                        libhtmlpp::TextElement optname(cur->data) ;

                        opt.setAttribute("value",cur->uuid.c_str());
                        opt.setAttribute("value",cur->ruid.c_str());

                        opt.setAttribute("selected","");

@@ -1738,7 +1738,7 @@ namespace authdb {

                        bool found=false;
                        for(const uuid &al : allow ){
                            if( al==cur->uuid ){
                            if( al==cur->ruid ){
                                found=true;
                                groupel->appendChild(&opt);
                                break;
@@ -1831,14 +1831,14 @@ namespace authdb {
                rd=backend->getPos()+cur->datasize;

                if(cur->type == PolicyData && strcmp(cur->fieldname,"gponame")==0){
                    class GpoData gdat(cur->uuid);
                    class GpoData gdat(cur->ruid);
                    try {
                        size_t upos=sizeof(authdb::AuthHeader);
                        gpo.info(*backend,gdat,upos);

                        gpoli.clear();

                        gpoli << "<tr><td>" << cur->uuid.c_str() << "</td>"
                        gpoli << "<tr><td>" << cur->ruid.c_str() << "</td>"
                              << "<td>" << gdat.getName() << "</td>"
                              << "<td>";
                        try{
@@ -1851,9 +1851,9 @@ namespace authdb {
                            gpoli << "<td>Permitted</td>";
                        gpoli << "<td>"
                              << "<a class=\"button\" href=\"" << "/settings/"
                              << cdid <<"/removegpo/" << cur->uuid.c_str() <<"\">Delete</a>"
                              << cdid <<"/removegpo/" << cur->ruid.c_str() <<"\">Delete</a>"
                              << "<a class=\"button\" href=\"" << "/settings/"
                              << cdid <<"/editgpo/" << cur->uuid.c_str() <<"\">Edit</a>"
                              << cdid <<"/editgpo/" << cur->ruid.c_str() <<"\">Edit</a>"
                              << "</td>"
                              << "</tr>";
                        domel.appendChild(gpoli.parse());
@@ -1967,7 +1967,7 @@ namespace authdb {
                rd=backend->getPos()+cur->datasize;

                if(cur->type == UserData && strcmp(cur->fieldname,"username")==0){
                    class UserData udat(cur->uuid);
                    class UserData udat(cur->ruid);
                    size_t upos=sizeof(authdb::AuthHeader);
                    user.info(*backend,udat,upos);

@@ -1976,7 +1976,7 @@ namespace authdb {

                        libhttppp::HttpCookie cookie;
                        uuid sid;
                        const SessionData *cses=AuthSession.addSession(*backend,did,udat.Data.uuid);
                        const SessionData *cses=AuthSession.addSession(*backend,did,udat.Data.ruid);
                        cses->getSid(sid);

                        if(!cses->checkGPO("888cd19b-352d-11f0-a8cc-3cecefce9ac2")){
@@ -2177,18 +2177,18 @@ namespace authdb {
                rd=backend->getPos()+cur->datasize;

                if(cur->type == ClientData && strcmp(cur->fieldname,"clientname")==0){
                    class ClientData cdat(cur->uuid);
                    class ClientData cdat(cur->ruid);
                    try {
                        size_t ccpos=sizeof(authdb::AuthHeader);
                        clt.info(*backend,cdat,ccpos);

                        libhtmlpp::HtmlString clistdata;

                        clistdata << "<li>" << cur->uuid.c_str() << ": " << cdat.getName()
                        clistdata << "<li>" << cur->ruid.c_str() << ": " << cdat.getName()
                                  << "<a class=\"button\" href=\"/settings/" << cdid << "/"
                                  << "editclient/" << cur->uuid.c_str() << "\">Edit</a>"
                                  << "editclient/" << cur->ruid.c_str() << "\">Edit</a>"
                                  << "<a class=\"button\" href=\"/settings/" << cdid << "/"
                                  << "removeclient/" << cur->uuid.c_str() << "\">Delete</a>"
                                  << "removeclient/" << cur->ruid.c_str() << "\">Delete</a>"
                                  << "</li>";

                        clist.appendChild(clistdata.parse());
@@ -2413,7 +2413,7 @@ namespace authdb {
                                size_t dpos=sizeof(authdb::AuthHeader);
                                domain.info(_AdminBackend,ddat,dpos);

                                *dform << "<option value=\"" << cur->uuid.c_str() << "\" >"
                                *dform << "<option value=\"" << cur->ruid.c_str() << "\" >"
                                << ddat.getDomainName()
                                << "</option>";

+3 −3
Changes for src/authdb.cpp: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -323,7 +323,7 @@ namespace authdb {
                backend->read((unsigned char*)cur.get(),sizeof(AuthData::Record));
                rd=backend->getPos()+cur->datasize;

                if(uid==cur->uuid && strcmp(cur->fieldname,"avatar")==0){
                if(uid==cur->ruid && strcmp(cur->fieldname,"avatar")==0){
                    cur->data = new char[cur->datasize];
                    backend->read((unsigned char*)cur->data,cur->datasize);
                    char ctype[255];
@@ -385,10 +385,10 @@ VALUEFOUND:

            rd=_adminbck.getPos()+cur.datasize;

            if(did == cur.uuid && cur.type == DataType::DomainData &&
            if(did == cur.ruid && cur.type == DataType::DomainData &&
                strcmp(cur.fieldname,"domainname")==0){

                class DomainData ddat(cur.uuid);
                class DomainData ddat(cur.ruid);

                size_t dpos=sizeof(authdb::AuthHeader);

+10 −10
Changes for src/data.cpp: 10 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@

namespace authdb {
    AuthData::AuthData(const uuid id){
         Data.uuid=id;
         Data.ruid=id;
         Data.start=0xFE;
         Data.storage=EmptyStorage;
         Data.type=DataType::EmptyData;
@@ -15,7 +15,7 @@ namespace authdb {
        _next=nullptr;
    }

    AuthData::AuthData(const AuthData &src) : AuthData(src.Data.uuid){
    AuthData::AuthData(const AuthData &src) : AuthData(src.Data.ruid){
        AuthData *dest=this;

        for(AuthData* cursrc=dest; cursrc!=nullptr; cursrc=cursrc->next()){
@@ -24,7 +24,7 @@ namespace authdb {
            dest->Data.data=new char[dest->Data.datasize];
            memcpy(dest->Data.data,cursrc->Data.data,cursrc->Data.datasize);
            if(cursrc->next()){
                dest->_next=new AuthData(cursrc->Data.uuid);
                dest->_next=new AuthData(cursrc->Data.ruid);
                dest=dest->next();
            }
        }
@@ -77,7 +77,7 @@ namespace authdb {

        while(curec){
            if(!curec->_next){
                curec->_next=new AuthData(Data.uuid);
                curec->_next=new AuthData(Data.ruid);
                curec=curec->_next;
                curec->append(src);
                break;
@@ -97,7 +97,7 @@ namespace authdb {
            backend.setPos(rd);
            backend.read(reinterpret_cast<unsigned char*>(cur.get()),sizeof(AuthData::Record));
            rd=backend.getPos()+cur->datasize;
            if(cur->uuid==rec.Data.uuid && cur->type == type){
            if(cur->ruid==rec.Data.ruid && cur->type == type){
                cur->data=new char[cur->datasize];
                backend.read(reinterpret_cast<unsigned char*>(cur->data),cur->datasize);
                rec.append(*cur);
@@ -122,7 +122,7 @@ namespace authdb {
    }

    bool editRecord(AuthBackend &backend,AuthData &rec,int type){
        AuthData old(rec.Data.uuid);
        AuthData old(rec.Data.ruid);

        std::vector<AuthData::Record*> changemap; //use fieldname;
        std::vector<AuthData::Record*> newmap;
@@ -135,7 +135,7 @@ namespace authdb {
                continue;

            for(AuthData *olddat=&old; olddat; olddat=olddat->_next){
                if(olddat->Data.uuid==curdat->Data.uuid
                if(olddat->Data.ruid==curdat->Data.ruid
                    && strcmp(olddat->Data.fieldname,curdat->Data.fieldname)==0
                ){
                    size_t end = olddat->Data.datasize;
@@ -174,7 +174,7 @@ namespace authdb {
                std::shared_ptr<authdb::AuthData::Record> rdrec(new AuthData::Record);
                backend.setPos(rd);
                backend.read(reinterpret_cast<unsigned char*>(rdrec.get()),sizeof(AuthData::Record));
                if(rdrec->uuid==rec.Data.uuid && strcmp(rdrec->fieldname,chel->fieldname)==0){
                if(rdrec->ruid==rec.Data.ruid && strcmp(rdrec->fieldname,chel->fieldname)==0){
                    backend.setPos(backend.end());
                    backend.write((const unsigned char*)chel,sizeof(AuthData::Record));
                    backend.write((const unsigned char*)chel->data,chel->datasize);
@@ -210,13 +210,13 @@ namespace authdb {
            size_t wr=backend.getPos();
            backend.read(reinterpret_cast<unsigned char*>(cur.get()),sizeof(AuthData::Record));
            rd=backend.getPos()+cur->datasize;
            if(uid==cur->uuid && type == cur->type){
            if(uid==cur->ruid && type == cur->type){
                size_t dsize=cur->datasize;
                cur->start = 0xFE;
                cur->data=new char[dsize];
                memset(cur->data,0,dsize);
                memset(&cur->fieldname,0,255);
                memset(cur->uuid.value,0,sizeof(uuid_t));
                memset(cur->ruid.value,0,sizeof(uuid_t));
                cur->storage=StorageType::EmptyStorage;
                cur->type=DataType::EmptyData;
                cur->datasize=dsize;
+5 −5
Changes for src/gpo.cpp: 5 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -145,7 +145,7 @@ bool authdb::Gpo::exits(AuthBackend& backend,const uuid &gpid, const char* name,
                ret=1;
                return true;

            }else if(gpid==cur->uuid){
            }else if(gpid==cur->ruid){
                delete[] cur->data;
                ret=2;
                return true;
@@ -160,10 +160,10 @@ bool authdb::Gpo::exits(AuthBackend& backend,const uuid &gpid, const char* name,
void authdb::Gpo::create(AuthBackend& backend, class GpoData* dat){
    int exi=0;

    if(dat->Data.uuid.empty())
    if(dat->Data.ruid.empty())
        throw authdb::AuthBackendError("Create GPO: GUID not set !");

    if(exits(backend,dat->Data.uuid,dat->getName(),exi)){
    if(exits(backend,dat->Data.ruid,dat->getName(),exi)){
        switch(exi){
            case 1:
                throw authdb::AuthBackendError("Create GPO: GPOname already Exists aborting!");
@@ -182,7 +182,7 @@ void authdb::Gpo::remove(AuthBackend &backend,const uuid &gpid){
void authdb::Gpo::info(AuthBackend &backend, class GpoData& dat, size_t &pos){
    size_t end=backend.end();

    if(dat.Data.uuid.empty())
    if(dat.Data.ruid.empty())
        throw AuthBackendError("gpo info gpoid required!");

    while(pos<end){
@@ -190,7 +190,7 @@ void authdb::Gpo::info(AuthBackend &backend, class GpoData& dat, size_t &pos){
        backend.setPos(pos);
        backend.read((unsigned char*)cur.get(),sizeof(AuthData::Record));
        pos=backend.getPos()+cur->datasize;
        if(cur->type == PolicyData && dat.Data.uuid==cur->uuid &&
        if(cur->type == PolicyData && dat.Data.ruid==cur->ruid &&
            strcmp(cur->fieldname,"gponame")==0
        ){
            if(!getRecord(backend,dat,DataType::PolicyData))
+5 −5
Changes for src/group.cpp: 5 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -187,7 +187,7 @@ bool authdb::Group::exits(AuthBackend& backend,const uuid &gid, const char* name
                delete[] cur->data;
                ret=1;
                return true;
            }else if(!gid.empty() && cur->uuid==gid ){
            }else if(!gid.empty() && cur->ruid==gid ){
                delete[] cur->data;
                ret=2;
                return true;
@@ -202,10 +202,10 @@ bool authdb::Group::exits(AuthBackend& backend,const uuid &gid, const char* name
void authdb::Group::create(AuthBackend& backend, class GroupData* dat){
    int exi=0;

    if(dat->Data.uuid.empty())
    if(dat->Data.ruid.empty())
        throw authdb::AuthBackendError("Create Group: GUID not set !");

    if(exits(backend,dat->Data.uuid,dat->getName(),exi)){
    if(exits(backend,dat->Data.ruid,dat->getName(),exi)){
       switch(exi){
           case 1:
                throw authdb::AuthBackendError("Create Group: Groupname already Exists aborting!");
@@ -220,7 +220,7 @@ void authdb::Group::create(AuthBackend& backend, class GroupData* dat){
void authdb::Group::info(AuthBackend &backend, class GroupData& dat, size_t &pos){
    size_t end=backend.end();

    if(dat.Data.uuid.empty())
    if(dat.Data.ruid.empty())
        throw AuthBackendError("group info gid required!");

    while(pos<end){
@@ -228,7 +228,7 @@ void authdb::Group::info(AuthBackend &backend, class GroupData& dat, size_t &pos
        backend.setPos(pos);
        backend.read((unsigned char*)cur.get(),sizeof(AuthData::Record));
        pos=backend.getPos()+cur->datasize;
        if(cur->type == GroupData && dat.Data.uuid==cur->uuid
        if(cur->type == GroupData && dat.Data.ruid==cur->ruid
            && strcmp(cur->fieldname,"groupname")==0
        ){
            if(!getRecord(backend,dat,DataType::GroupData))
Loading