]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/extra/m_ssl_oper_cert.cpp
Add extra parameter to OnUserPreNotice and OnUserPrePrivmsg, CUList &exempt_list...
[user/henk/code/inspircd.git] / src / modules / extra / m_ssl_oper_cert.cpp
index 2d626e77df0f758cfe25b1f9cfb292b1da36e807..220469e2fa7dfd01f5e596c05cca567093f11d92 100644 (file)
@@ -27,6 +27,8 @@ using namespace std;
 #include "ssl_cert.h"
 #include "wildcard.h"
 
+/** Handle /FINGERPRINT
+ */
 class cmd_fingerprint : public command_t
 {
  public:
@@ -111,7 +113,7 @@ class ModuleOperSSLCert : public Module
        }
 
 
-       virtual int OnPreCommand(const std::string &command, const char** parameters, int pcnt, userrec *user, bool validated)
+       virtual int OnPreCommand(const std::string &command, const char** parameters, int pcnt, userrec *user, bool validated, const std::string &original_line)
        {
                irc::string cmd = command.c_str();
                
@@ -143,7 +145,7 @@ class ModuleOperSSLCert : public Module
                                        if ((!strcmp(LoginName,parameters[0])) && (!ServerInstance->OperPassCompare(Password,parameters[1])) && (OneOfMatches(TheHost,TheIP,HostName)))
                                        {
                                                /* This oper would match */
-                                               if (cert->GetFingerprint() != FingerPrint)
+                                               if ((!cert) || (cert->GetFingerprint() != FingerPrint))
                                                {
                                                        user->WriteServ("491 %s :This oper login name requires a matching key fingerprint.",user->nick);
                                                        ServerInstance->SNO->WriteToSnoMask('o',"'%s' cannot oper, does not match fingerprint", user->nick);
@@ -159,7 +161,7 @@ class ModuleOperSSLCert : public Module
 
        virtual Version GetVersion()
        {
-               return Version(1,1,0,0,VF_VENDOR);
+               return Version(1,1,0,0,VF_VENDOR,API_VERSION);
        }
 };