diff options
| author | 2021-12-27 10:53:36 +0000 | |
|---|---|---|
| committer | 2021-12-27 10:53:36 +0000 | |
| commit | cdab76406fbeb6c74a403ea640b2209ea02eb86c (patch) | |
| tree | be099b1338e10d3144188c6f5fd60b11a4817e0f /src/modules/m_starttls.cpp | |
| parent | Make all extensibles use kebab-case for names where possible. (diff) | |
| parent | Fix not being able to look up hostnames that point to multiple IPs. (diff) | |
Merge branch 'insp3' into master.
Diffstat (limited to 'src/modules/m_starttls.cpp')
| -rw-r--r-- | src/modules/m_starttls.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/modules/m_starttls.cpp b/src/modules/m_starttls.cpp index 590da9410..116f3e792 100644 --- a/src/modules/m_starttls.cpp +++ b/src/modules/m_starttls.cpp @@ -82,19 +82,43 @@ class CommandStartTLS final } }; +class TLSCap final + : public Cap::Capability +{ + private: + dynamic_reference_nocheck<IOHookProvider>& sslref; + + bool OnList(LocalUser* user) override + { + return sslref; + } + + bool OnRequest(LocalUser* user, bool adding) override + { + return sslref; + } + + public: + TLSCap(Module* mod, dynamic_reference_nocheck<IOHookProvider>& ssl) + : Cap::Capability(mod, "tls") + , sslref(ssl) + { + } +}; + class ModuleStartTLS final : public Module { private: CommandStartTLS starttls; - Cap::Capability tls; + TLSCap tls; dynamic_reference_nocheck<IOHookProvider> ssl; public: ModuleStartTLS() : Module(VF_VENDOR, "Provides the IRCv3 tls client capability.") , starttls(this, ssl) - , tls(this, "tls") + , tls(this, ssl) , ssl(this, "ssl") { } |
