X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fextra%2Fm_sslinfo.cpp;h=dc9274f1e9c2909fa5fb2fb3b3ba93d45ea96592;hb=d556a4f8740b65e635ff7d2b976faaedbdac51d4;hp=5a001ce9ef5003250887d49ee20b1c919979308c;hpb=d4af574074d05cb5705cd261c8fb97f52290e56a;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/extra/m_sslinfo.cpp b/src/modules/extra/m_sslinfo.cpp index 5a001ce9e..dc9274f1e 100644 --- a/src/modules/extra/m_sslinfo.cpp +++ b/src/modules/extra/m_sslinfo.cpp @@ -2,31 +2,28 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev. - * E-mail: - * - * - * - * Written by Craig Edwards, Craig McLure, and others. + * InspIRCd: (C) 2002-2007 InspIRCd Development Team + * See: http://www.inspircd.org/wiki/index.php/Credits + * * This program is free but copyrighted software; see * the file COPYING for details. * * --------------------------------------------------- */ -using namespace std; - -#include +#include "inspircd.h" #include "users.h" #include "channels.h" #include "modules.h" -#include "ssl_cert.h" +#include "transport.h" #include "wildcard.h" -#include "inspircd.h" #include "dns.h" /* $ModDesc: Provides /sslinfo command used to test who a mask matches */ - +/* $ModDep: transport.h */ + +/** Handle /SSLINFO + */ class cmd_sslinfo : public command_t { public: @@ -36,7 +33,7 @@ class cmd_sslinfo : public command_t this->syntax = ""; } - void Handle (const char** parameters, int pcnt, userrec *user) + CmdResult Handle (const char** parameters, int pcnt, userrec *user) { userrec* target = ServerInstance->FindNick(parameters[0]); ssl_cert* cert; @@ -52,14 +49,18 @@ class cmd_sslinfo : public command_t user->WriteServ("NOTICE %s :*** Distinguised Name: %s", user->nick, cert->GetDN().c_str()); user->WriteServ("NOTICE %s :*** Issuer: %s", user->nick, cert->GetIssuer().c_str()); user->WriteServ("NOTICE %s :*** Key Fingerprint: %s", user->nick, cert->GetFingerprint().c_str()); + return CMD_SUCCESS; } else { user->WriteServ("NOTICE %s :*** No SSL certificate information for this user.", user->nick); + return CMD_FAILURE; } } else user->WriteServ("401 %s %s :No such nickname", user->nick, parameters[0]); + + return CMD_FAILURE; } }; @@ -68,7 +69,7 @@ class ModuleSSLInfo : public Module cmd_sslinfo* newcommand; public: ModuleSSLInfo(InspIRCd* Me) - : Module::Module(Me) + : Module(Me) { newcommand = new cmd_sslinfo(ServerInstance); @@ -85,32 +86,9 @@ class ModuleSSLInfo : public Module virtual Version GetVersion() { - return Version(1, 0, 0, 0, VF_VENDOR); + return Version(1, 1, 0, 0, VF_VENDOR, API_VERSION); } }; - -class ModuleSSLInfoFactory : public ModuleFactory -{ - public: - ModuleSSLInfoFactory() - { - } - - ~ModuleSSLInfoFactory() - { - } - - virtual Module * CreateModule(InspIRCd* Me) - { - return new ModuleSSLInfo(Me); - } - -}; - - -extern "C" void * init_module( void ) -{ - return new ModuleSSLInfoFactory; -} +MODULE_INIT(ModuleSSLInfo);