X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_sslinfo.cpp;h=a1178f9176c0c7b74680bb233be79ba395b26724;hb=7e843c22e16c81054bad18073d24fe1a07026431;hp=952fcf4a1bb7ae3909b7a7cfe225112e7b26ef96;hpb=0ed3ef9dee2cb8f4b0c37da218a2fd1eee8c31f6;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_sslinfo.cpp b/src/modules/m_sslinfo.cpp index 952fcf4a1..a1178f917 100644 --- a/src/modules/m_sslinfo.cpp +++ b/src/modules/m_sslinfo.cpp @@ -12,7 +12,7 @@ */ #include "inspircd.h" -#include "transport.h" +#include "ssl.h" /* $ModDesc: Provides SSL metadata, including /WHOIS information and /SSLINFO command */ @@ -72,7 +72,7 @@ class CommandSSLInfo : public Command public: SSLCertExt CertExt; - CommandSSLInfo(InspIRCd* Instance, Module* Creator) : Command(Instance, Creator, "SSLINFO", 0, 1), CertExt(Creator) + CommandSSLInfo(Module* Creator) : Command(Creator, "SSLINFO", 1), CertExt(Creator) { this->syntax = ""; } @@ -116,27 +116,29 @@ class ModuleSSLInfo : public Module CommandSSLInfo cmd; public: - ModuleSSLInfo(InspIRCd* Me) - : Module(Me), cmd(Me, this) + ModuleSSLInfo() + : cmd(this) { ServerInstance->AddCommand(&cmd); Extensible::Register(&cmd.CertExt); - Implementation eventlist[] = { I_OnSyncUser, I_OnDecodeMetaData, I_OnWhois, I_OnPreCommand }; - ServerInstance->Modules->Attach(eventlist, this, 4); + Implementation eventlist[] = { I_OnWhois, I_OnPreCommand }; + ServerInstance->Modules->Attach(eventlist, this, 2); + ServerInstance->Modules->PublishInterface("SSLCertInfo", this); } - virtual ~ModuleSSLInfo() + ~ModuleSSLInfo() { + ServerInstance->Modules->UnpublishInterface("SSLCertInfo", this); } - virtual Version GetVersion() + Version GetVersion() { - return Version("SSL Certificate Utilities", VF_VENDOR); + return Version("SSL Certificate Utilities", VF_VENDOR | VF_SERVICEPROVIDER); } - virtual void OnWhois(User* source, User* dest) + void OnWhois(User* source, User* dest) { if (cmd.CertExt.get(dest)) { @@ -158,13 +160,13 @@ class ModuleSSLInfo : public Module return false; } - virtual ModResult OnPreCommand(std::string &command, std::vector ¶meters, User *user, bool validated, const std::string &original_line) + ModResult OnPreCommand(std::string &command, std::vector ¶meters, User *user, bool validated, const std::string &original_line) { irc::string pcmd = command.c_str(); if ((pcmd == "OPER") && (validated)) { - ConfigReader cf(ServerInstance); + ConfigReader cf; char TheHost[MAXBUF]; char TheIP[MAXBUF]; std::string LoginName; @@ -224,19 +226,18 @@ class ModuleSSLInfo : public Module return MOD_RES_PASSTHRU; } - const char* OnRequest(Request* request) + void OnRequest(Request& request) { - if (strcmp("GET_CERT", request->GetId()) == 0) + if (strcmp("GET_CERT", request.id) == 0) { - BufferedSocketCertificateRequest* req = static_cast(request); - req->cert = cmd.CertExt.get(req->item); + SSLCertificateRequest& req = static_cast(request); + req.cert = cmd.CertExt.get(req.item); } - else if (strcmp("SET_CERT", request->GetId()) == 0) + else if (strcmp("SET_CERT", request.id) == 0) { - BufferedSocketFingerprintSubmission* req = static_cast(request); - cmd.CertExt.set(req->item, req->cert); + SSLCertSubmission& req = static_cast(request); + cmd.CertExt.set(req.item, req.cert); } - return NULL; } };