Commit 834df627 authored by jan.koester's avatar jan.koester
Browse files

use own uuid class

parent 6c6dfe8f
Loading
Loading
Loading
Loading
Loading
+1 −1
Changes for CMakeLists.txt: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ find_package(libhtmlpp REQUIRED)
find_package(json-c REQUIRED)

find_path(LIBUUID_INCLUDE_DIR uuid.h PATH_SUFFIXES uuid REQUIRED)
find_library(LIBUUID_LIBRARY libuuid.so)
find_library(LIBUUID_LIBRARY libuuid.so REQUIRED)

include_directories(
    BEFORE ${CMAKE_SOURCE_DIR}/src
+5 −5
Changes for src/authdb.cpp: 5 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -302,18 +302,18 @@ namespace authdb {
            if(sscanf(curreq->getRequestURL().c_str(),"/getavatar/%[^/]/%[^.].%s",domain,cuid,ext)<0)
                return;

            uuid_t did;
            uuid did;

            if(strcmp(domain,"admin") == 0 ){
                backend=&_AdminBackend;
            }else if(uuid_parse(domain,did) == 0 ){
            }else if(did.parse(domain) == 0 ){
                backend=dbackend.data(did);
            }else{
                throw AuthBackendError("createUser: could not parse uuid!");
            }

            uuid_t uid;
            uuid_parse(cuid,uid);
            uuid uid;
            uid = cuid;

            size_t rd=sizeof(authdb::AuthHeader),end=backend->end();

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

                if(uuid_compare(cur->uuid,uid)==0 && strcmp(cur->fieldname,"avatar")==0){
                if(uid==cur->uuid && strcmp(cur->fieldname,"avatar")==0){
                    cur->data = new char[cur->datasize];
                    backend->read((unsigned char*)cur->data,cur->datasize);
                    char ctype[255];
+7 −9
Changes for src/authdb.h: 7 added lines, 9 removed lines.
Original line number Diff line number Diff line
@@ -28,8 +28,6 @@
#include <cstring>
#include <mutex>

#include <uuid/uuid.h>

#include "backend.h"
#include "types.h"
#include "uuid.h"
@@ -67,7 +65,7 @@ namespace authdb {

        struct Record {
            int    start = 0xFE;
            uuid_t uuid;
            uuid   uuid;
            int    type = EmptyData;
            int    storage = EmptyStorage;
            char   fieldname[255] = {0};
@@ -88,7 +86,7 @@ namespace authdb {
        friend    void createRecord(AuthBackend &backend,AuthData &rec,int type);
        friend    bool getRecord(authdb::AuthBackend &backend,AuthData &rec,int type);
        friend    bool editRecord(AuthBackend &backend,AuthData &rec,int type);
        friend    void delRecord(authdb::AuthBackend &backend,const uuid_t uid,int type);
        friend    void delRecord(authdb::AuthBackend &backend,const uuid &uid,int type);
    };

    template<typename T>
@@ -97,13 +95,13 @@ namespace authdb {

        AuthData *curec=dat;

        uuid_t gid;
        uuid_copy(gid,dat->Data.uuid);
        uuid gid;
        gid=dat->Data.uuid;

        if(!target){
            while(curec){
                if(curec->Data.type == type &&
                    uuid_compare(curec->Data.uuid,gid)==0 &&
                    gid==curec->Data.uuid &&
                    strcmp(curec->Data.fieldname,varname)==0
                ){

@@ -123,7 +121,7 @@ namespace authdb {
        }

        target->start=0xFE;
        uuid_copy(target->uuid,gid);
        gid=target->uuid;
        target->type=type;
        target->storage=storage;
        memset(target->fieldname,0,255);
@@ -159,7 +157,7 @@ namespace authdb {
    void createRecord(authdb::AuthBackend &backend,AuthData &rec,int type);
    bool getRecord(authdb::AuthBackend &backend,AuthData &rec,int type);
    bool editRecord(AuthBackend &backend,AuthData &rec,int type);
    void delRecord(authdb::AuthBackend &backend,const uuid_t uid,int type);
    void delRecord(authdb::AuthBackend &backend,const uuid &uid,int type);

    int searchValue(authdb::AuthBackend &backend,const char*fieldname,const char *value);

+8 −8
Changes for src/client.cpp: 8 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ const char *authdb::ClientData::getName(){
void authdb::Client::create(AuthBackend& backend, class ClientData* data){
    int exi=0;

    if(exits(backend,&data->Data.uuid,data->getName(),exi)){
    if(exits(backend,data->Data.uuid,data->getName(),exi)){
        switch(exi){
            case 1:
                throw authdb::AuthBackendError("Create Client: Clientname already Exists aborting!");
@@ -89,7 +89,7 @@ void authdb::Client::create(AuthBackend& backend, class ClientData* data){
    createRecord(backend,*data,DataType::ClientData);
}

bool authdb::Client::exits(AuthBackend& backend, uuid_t* clid, const char* name, int& ret){
bool authdb::Client::exits(AuthBackend& backend,const uuid &clid, const char* name, int& ret){
    authdb::AuthData::Record cur;

    size_t rd=sizeof(authdb::AuthHeader),end=backend.end();
@@ -106,7 +106,7 @@ bool authdb::Client::exits(AuthBackend& backend, uuid_t* clid, const char* name,
                ret=1;
                return true;

            }else if(clid && uuid_compare(cur.uuid,*clid)==0){
            }else if(!clid.empty() && cur.uuid==clid){
                delete[] cur.data;
                ret=2;
                return true;
@@ -121,7 +121,7 @@ bool authdb::Client::exits(AuthBackend& backend, uuid_t* clid, const char* name,
void authdb::Client::info(AuthBackend& backend, class ClientData& dat, size_t& pos){
    size_t end=backend.end();

    if(uuid_is_null(dat.Data.uuid))
    if(dat.Data.uuid.empty())
        throw AuthBackendError("user info uid required!");

    while(pos<end){
@@ -129,7 +129,7 @@ void authdb::Client::info(AuthBackend& backend, class ClientData& dat, size_t& p
        backend.setPos(pos);
        backend.read((unsigned char*)cur,sizeof(AuthData::Record));
        pos=backend.getPos()+cur->datasize;
        if(cur->type == ClientData && uuid_compare(dat.Data.uuid,cur->uuid) == 0
        if(cur->type == ClientData && dat.Data.uuid==cur->uuid
            && strcmp(cur->fieldname,"clientname")==0
        ){

@@ -155,7 +155,7 @@ authdb::ClientConnections *authdb::ClientConnections::next(){
    return _next;
}

void authdb::Client::remove(AuthBackend& backend, const uuid clid){
void authdb::Client::remove(AuthBackend& backend, const uuid &clid){
    delRecord(backend,clid.value,DataType::ClientData);
}

@@ -211,7 +211,7 @@ authdb::ClientConnections *authdb::Client::addConnection(AuthBackend &backend,co
    return _lastConnection;
}

void authdb::Client::delConnection(const uuid conid){
void authdb::Client::delConnection(const uuid &conid){
    std::lock_guard<std::mutex> guard(_lockConnection);
    ClientConnections *prev=nullptr;
    for(ClientConnections *curdat=_firstConnection; curdat; curdat=curdat->_next){
@@ -226,7 +226,7 @@ void authdb::Client::delConnection(const uuid conid){
    }
}

bool authdb::Client::checkConnection(const uuid conid) const{
bool authdb::Client::checkConnection(const uuid &conid) const{
    std::lock_guard<std::mutex> guard(_lockConnection);
    for(ClientConnections *curdat=_firstConnection; curdat; curdat=curdat->_next){
        if(curdat->_sessionId==conid){
+4 −4
Changes for src/client.h: 4 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -73,14 +73,14 @@ namespace authdb {
        Client(Client &&src);
        ~Client();
        void create(AuthBackend &backend,class ClientData *data);
        void remove(AuthBackend &backend,const uuid clid);
        bool exits(AuthBackend&  backend, uuid_t* clid, const char* name,int &ret);
        void remove(AuthBackend &backend,const uuid &clid);
        bool exits(AuthBackend&  backend,const uuid &clid, const char* name,int &ret);
        void info(AuthBackend   &backend,class ClientData &dat,size_t &pos);

        ClientConnections *addConnection(AuthBackend &backend,const class ClientData &data);
        void delConnection(const uuid conid);
        void delConnection(const uuid &conid);

        bool checkConnection(const uuid conid) const;
        bool checkConnection(const uuid &conid) const;

        ClientConnections *ConnectionData();

Loading