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

test

parent 0ae9dd67
Loading
Loading
Loading
Loading
Loading
+4 −2
Changes for plugin/ad/CMakeLists.txt: 4 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -4,13 +4,15 @@ add_library(authdb-ad SHARED

target_include_directories(authdb-ad
    PUBLIC
    ${CMAKE_SOURCE_DIR}/src
    authobj
    ${JSONC_INCLUDE_DIR}
)

target_link_libraries(authdb-ad
    PUBLIC
    PRIVATE
    authobj
    PUBLIC
    authdb-krb5
    uuidp::uuidp
    json-c::json-c
    netplus::netplus
+3 −2
Changes for plugin/krb5/CMakeLists.txt: 3 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -4,13 +4,14 @@ add_library(authdb-krb5 SHARED

target_include_directories(authdb-krb5
    PUBLIC
    ${CMAKE_SOURCE_DIR}/src
    authobj
    ${JSONC_INCLUDE_DIR}
)

target_link_libraries(authdb-krb5
    PUBLIC
    PRIVATE
    authobj
    PUBLIC
    uuidp::uuidp
    json-c::json-c
    netplus::netplus
+1 −1
Changes for src/CMakeLists.txt: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ list(APPEND authdbSrcs
    hash/sha512.cpp
    export.cpp
    import.cpp
    plugin.cpp
)

add_library( authobj OBJECT ${authdbSrcs} )
@@ -40,7 +41,6 @@ add_executable(authdb
    admin.cpp
    authdb.cpp
    api.cpp
    plugin.cpp
    $<TARGET_OBJECTS:authobj>
)

+0 −37
Changes for src/authdb.cpp: 0 added lines, 37 removed lines.
Original line number Diff line number Diff line
@@ -61,7 +61,6 @@

namespace authdb {

    KdcPlugin      *g_KdcPlugin      = nullptr;
    AdPlugin       *g_AdPlugin       = nullptr;
    PluginManager  *g_PluginManager   = nullptr;

@@ -384,42 +383,6 @@ VALUEFOUND:
        return brd;
    }

    DomainBackend::DomainBackend(authdb::AuthBackend &adminbck) : _adminbck(adminbck) {
        _domainbck=nullptr;
    }

    authdb::AuthBackend *DomainBackend::data(::uuid::uuid did){
        size_t rd=sizeof(authdb::AuthHeader),end=_adminbck.end();

        while(rd<end){
            authdb::AuthData::Record cur;

            _adminbck.setPos(rd);
            _adminbck.read((unsigned char*)&cur,sizeof(AuthData::Record));

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

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

                class DomainData ddat(cur.ruid);

                size_t dpos=sizeof(authdb::AuthHeader);

                Domain domain;
                domain.info(_adminbck,ddat,dpos);

                _domainbck = new AuthBackend(ddat.getStorageType(),ddat.getStorageOptions(),ddat.getDomainName());

                return _domainbck;
            }
        }
        return nullptr;
    }

    DomainBackend::~DomainBackend(){
        delete _domainbck;
    }
};

int main(int argc,char *argv[]){
+43 −0
Changes for src/domain.cpp: 43 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -33,6 +33,8 @@
#endif

#include "domain.h"
#include "authdb.h"
#include "plugin.h"
#include "types.h"

authdb::DomainData::DomainData(uuid::uuid duuid) :AuthData(duuid){
@@ -165,3 +167,44 @@ void authdb::Domain::info(AuthBackend& backend, class DomainData& dat, size_t& p
        delete cur;
    }
}

namespace authdb {
    KdcPlugin *g_KdcPlugin = nullptr;

    DomainBackend::DomainBackend(authdb::AuthBackend &adminbck) : _adminbck(adminbck) {
        _domainbck=nullptr;
    }

    authdb::AuthBackend *DomainBackend::data(::uuid::uuid did){
        size_t rd=sizeof(authdb::AuthHeader),end=_adminbck.end();

        while(rd<end){
            authdb::AuthData::Record cur;

            _adminbck.setPos(rd);
            _adminbck.read((unsigned char*)&cur,sizeof(AuthData::Record));

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

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

                class DomainData ddat(cur.ruid);

                size_t dpos=sizeof(authdb::AuthHeader);

                Domain domain;
                domain.info(_adminbck,ddat,dpos);

                _domainbck = new AuthBackend(ddat.getStorageType(),ddat.getStorageOptions(),ddat.getDomainName());

                return _domainbck;
            }
        }
        return nullptr;
    }

    DomainBackend::~DomainBackend(){
        delete _domainbck;
    }
}