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

test

parent e2f2d05a
Loading
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -32,9 +32,10 @@ RUN git clone https://tuxist.de/git/tuxist/libparitypp.git && \
    mkdir libparitypp/build && \
    cd libparitypp/build && cmake ../ -G Ninja && ninja install

RUN git clone https://tuxist.de/git/jan.koester/authdb.git
RUN mkdir authdb/build
RUN cd authdb/build && cmake ../ -G Ninja -DDATAPATH:PATH=/usr/local/share/authdb && ninja install
COPY . authdb
RUN mkdir authdb/docker-build
RUN cd authdb/docker-build && cmake ../ -G Ninja -DDATAPATH:PATH=/usr/local/share/authdb && ninja install 
RUN rm -r authdb/docker-build

USER root
FROM node:alpine
+5 −3
Original line number Diff line number Diff line
@@ -149,7 +149,7 @@ void authdb::Client::info(AuthBackend& backend, class ClientData& dat, size_t& p
authdb::ClientConnections::ClientConnections(uuid::uuid sid, AuthBackend& bck, const class ClientData& clt) : _backend(bck) , _Data(clt){
    _sessionId=sid;
    _next=nullptr;
    _created=std::chrono::steady_clock::now();
    _accessed=std::chrono::steady_clock::now();
}

authdb::ClientConnections *authdb::ClientConnections::next(){
@@ -263,7 +263,7 @@ void authdb::Client::cleanupExpiredConnections(){
    ClientConnections *prev=nullptr;
    ClientConnections *curdat=_firstConnection;
    while(curdat){
        auto age=std::chrono::duration_cast<std::chrono::hours>(now - curdat->_created).count();
        auto age=std::chrono::duration_cast<std::chrono::hours>(now - curdat->_accessed).count();
        if(age >= 24){
            ClientConnections *next=curdat->_next;
            _connectionIndex.erase(curdat->_sessionId);
@@ -293,8 +293,10 @@ bool authdb::Client::checkConnection(const uuid::uuid &conid) const{
authdb::ClientConnections *authdb::Client::findConnection(const uuid::uuid &conid){
    std::lock_guard<std::mutex> guard(_lockConnection);
    auto it = _connectionIndex.find(conid);
    if (it != _connectionIndex.end())
    if (it != _connectionIndex.end()){
        it->second->_accessed = std::chrono::steady_clock::now();
        return it->second;
    }
    return nullptr;
}

+1 −1
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ namespace authdb {
        AuthBackend         _backend;
        uuid::uuid          _sessionId;
        class ClientData    _Data;
        std::chrono::steady_clock::time_point _created;
        std::chrono::steady_clock::time_point _accessed;
        friend class Client;
    };

+9 −5
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ namespace authdb {

authdb::SessionData::SessionData(){
    _next=nullptr;
    _created=std::chrono::steady_clock::now();
    _accessed=std::chrono::steady_clock::now();
    _lastClusterSync=std::chrono::steady_clock::now();
}

@@ -100,7 +100,7 @@ authdb::SessionData::SessionData(uuid::uuid sessionid, uuid::uuid userid, uuid::
    _uid=userid;
    _did=domainid;
    _next=nullptr;
    _created=std::chrono::steady_clock::now();
    _accessed=std::chrono::steady_clock::now();
    _lastClusterSync=std::chrono::steady_clock::now();
}

@@ -233,8 +233,10 @@ authdb::LocalSession::~LocalSession(){

authdb::SessionData *authdb::LocalSession::findLocal(uuid::uuid sessionid){
    auto it = _sessions.find(sessionid);
    if (it != _sessions.end())
    if (it != _sessions.end()){
        it->second->_accessed = std::chrono::steady_clock::now();
        return it->second;
    }
    return nullptr;
}

@@ -256,7 +258,7 @@ void authdb::LocalSession::cleanupExpired(){
        return;
    _lastCleanup = now;
    for (auto it = _sessions.begin(); it != _sessions.end(); ) {
        auto age=std::chrono::duration_cast<std::chrono::hours>(now - it->second->_created).count();
        auto age=std::chrono::duration_cast<std::chrono::hours>(now - it->second->_accessed).count();
        if(age >= 24){
            delete it->second;
            it = _sessions.erase(it);
@@ -393,10 +395,12 @@ const authdb::SessionData *authdb::LocalSession::addSession(AuthBackend &backend
            uuid::uuid cur_uid, cur_did;
            cur->getUid(cur_uid);
            cur->getDid(cur_did);
            if (cur_uid == userid && cur_did == domainid)
            if (cur_uid == userid && cur_did == domainid){
                cur->_accessed = std::chrono::steady_clock::now();
                return cur;
            }
        }
    }

    SessionData *newSession = createSessionData(backend, domainid, userid);

+1 −1
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ namespace authdb {

        std::string              _username;

        std::chrono::steady_clock::time_point _created;
        std::chrono::steady_clock::time_point _accessed;
        std::chrono::steady_clock::time_point _lastClusterSync;

        SessionData        *_next;
Loading