Loading Dockerfile +4 −3 Original line number Diff line number Diff line Loading @@ -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 Loading src/client.cpp +5 −3 Original line number Diff line number Diff line Loading @@ -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(){ Loading Loading @@ -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); Loading Loading @@ -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; } Loading src/client.h +1 −1 Original line number Diff line number Diff line Loading @@ -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; }; Loading src/session.cpp +9 −5 Original line number Diff line number Diff line Loading @@ -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(); } Loading Loading @@ -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(); } Loading Loading @@ -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; } Loading @@ -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); Loading Loading @@ -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); Loading src/session.h +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
Dockerfile +4 −3 Original line number Diff line number Diff line Loading @@ -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 Loading
src/client.cpp +5 −3 Original line number Diff line number Diff line Loading @@ -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(){ Loading Loading @@ -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); Loading Loading @@ -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; } Loading
src/client.h +1 −1 Original line number Diff line number Diff line Loading @@ -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; }; Loading
src/session.cpp +9 −5 Original line number Diff line number Diff line Loading @@ -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(); } Loading Loading @@ -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(); } Loading Loading @@ -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; } Loading @@ -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); Loading Loading @@ -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); Loading
src/session.h +1 −1 Original line number Diff line number Diff line Loading @@ -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