X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=include%2Fnntp%2Fnntpconnection.h;h=d048375669b40cc2d3547aab0ae469c2062d5297;hp=dd365c48b61dda397c12a9c0665cab4c868b23cc;hb=59a5414ec47a2932a7802fcd1d98c4d80166564f;hpb=868c533e84b3c81b6604b45b84efa32073aa20b4 diff --git a/include/nntp/nntpconnection.h b/include/nntp/nntpconnection.h index dd365c4..d048375 100644 --- a/include/nntp/nntpconnection.h +++ b/include/nntp/nntpconnection.h @@ -1,13 +1,15 @@ #ifndef _nntpconnection_ #define _nntpconnection_ +#include "../threadwrapper/cancelablerunnable.h" #include "../socketdefines.h" #include "../ilogger.h" #include "../message.h" +#include "../localidentity.h" +#include "../ithreaddatabase.h" #include #include -#include #ifdef _WIN32 @@ -20,7 +22,7 @@ #include #endif -class NNTPConnection:public ZThread::Runnable,public ILogger//,public IDatabase +class NNTPConnection:public CancelableRunnable,public ILogger,public IThreadDatabase { public: NNTPConnection(SOCKET sock); @@ -45,11 +47,15 @@ private: }; struct ClientStatus { + ClientStatus(SQLite3DB::DB *db):m_authuser(db) {} + ClientMode m_mode; bool m_allowpost; bool m_isposting; long m_boardid; long m_messageid; + LocalIdentity m_authuser; // -1 if user not authenticated, otherwise id of user from tblLocalIdentity + bool m_authenticated; }; void SendBuffered(const std::string &data); @@ -82,6 +88,10 @@ private: const bool HandleNewGroupsCommand(const NNTPCommand &command); const bool HandlePostCommand(const NNTPCommand &command); const bool HandleOverCommand(const NNTPCommand &command); + const bool HandleAuthInfoCommand(const NNTPCommand &command); + const bool HandleGetTrustCommand(const NNTPCommand &command); + const bool HandleSetTrustCommand(const NNTPCommand &command); + const bool HandleGetTrustListCommand(const NNTPCommand &command); SOCKET m_socket; ClientStatus m_status;