X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/296c906e2689b9b5dc26d2f2d3e1e2d9e1662d3b..37324ea9b8c06d96b9383be993da02a01f103253:/projects/stargazer/plugins/other/radius/server.h diff --git a/projects/stargazer/plugins/other/radius/server.h b/projects/stargazer/plugins/other/radius/server.h new file mode 100644 index 00000000..b88889be --- /dev/null +++ b/projects/stargazer/plugins/other/radius/server.h @@ -0,0 +1,26 @@ +#pragma once + +#include "radproto/socket.h" +#include "radproto/packet.h" +#include "radproto/dictionaries.h" +#include +#include +#include //uint8_t, uint32_t + +namespace STG +{ + class Server + { + public: + Server(boost::asio::io_service& io_service, const std::string& secret, uint16_t port, const std::string& filePath); + + private: + RadProto::Packet makeResponse(const RadProto::Packet& request); + void handleReceive(const boost::system::error_code& error, const std::optional& packet, const boost::asio::ip::udp::endpoint& source); + void handleSend(const boost::system::error_code& ec); + void startReceive(); + + RadProto::Socket m_radius; + RadProto::Dictionaries m_dictionaries; + }; +}