]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/modules/ssl.h
Add the OnServerBurst hook and fix the docs for OnServerLink.
[user/henk/code/inspircd.git] / include / modules / ssl.h
index 930cb6dc605a73373bc2ea52561e5a953671c4f3..6fc2379ff42c00bf13461af81340f95832741719 100644 (file)
@@ -193,11 +193,9 @@ class SSLIOHook : public IOHook
         * Get the certificate sent by this peer
         * @return The SSL certificate sent by the peer, NULL if no cert was sent
         */
-       ssl_cert* GetCertificate() const
+       virtual ssl_cert* GetCertificate() const
        {
-               if (certificate && certificate->IsUsable())
-                       return certificate;
-               return NULL;
+               return certificate;
        }
 
        /**
@@ -205,10 +203,10 @@ class SSLIOHook : public IOHook
         * @return The fingerprint of the SSL client certificate sent by the peer,
         * empty if no cert was sent
         */
-       std::string GetFingerprint() const
+       virtual std::string GetFingerprint() const
        {
                ssl_cert* cert = GetCertificate();
-               if (cert)
+               if (cert && cert->IsUsable())
                        return cert->GetFingerprint();
                return "";
        }
@@ -277,6 +275,12 @@ class UserCertificateAPIBase : public DataProvider
         */
        virtual ssl_cert* GetCertificate(User* user) = 0;
 
+       /** Set the SSL certificate of a user.
+        * @param user The user whose certificate to set.
+        * @param cert The SSL certificate to set for the user.
+        */
+       virtual void SetCertificate(User* user, ssl_cert* cert) = 0;
+
        /** Get the key fingerprint from a user's certificate
         * @param user The user whose key fingerprint to get, user may be remote
         * @return The key fingerprint from the user's SSL certificate or an empty string