aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_sslmodes.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2024-07-13 00:38:25 +0100
committerGravatar Sadie Powell2024-07-13 00:38:25 +0100
commitc3c97b917de8426cc0c0e9d87eda4efcfa88ef61 (patch)
tree72dd6f05130450b7125c2114483ffd63fad3a3fa /src/modules/m_sslmodes.cpp
parentFix an unescaped ampersand in the previous commit. (diff)
Allow using /ACCEPT to override more blocking modes.
Diffstat (limited to 'src/modules/m_sslmodes.cpp')
-rw-r--r--src/modules/m_sslmodes.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/modules/m_sslmodes.cpp b/src/modules/m_sslmodes.cpp
index e05c60d31..1304c296f 100644
--- a/src/modules/m_sslmodes.cpp
+++ b/src/modules/m_sslmodes.cpp
@@ -26,6 +26,7 @@
#include "inspircd.h"
+#include "modules/callerid.h"
#include "modules/ctctags.h"
#include "modules/extban.h"
#include "modules/ssl.h"
@@ -165,6 +166,7 @@ class ModuleSSLModes final
{
private:
UserCertificateAPI api;
+ CallerID::API calleridapi;
SSLMode sslm;
SSLModeUser sslquery;
FingerprintExtBan extban;
@@ -174,6 +176,7 @@ public:
: Module(VF_VENDOR, "Adds channel mode z (sslonly) which prevents users who are not connecting using TLS from joining the channel and user mode z (sslqueries) to prevent messages from non-TLS users.")
, CTCTags::EventListener(this)
, api(this)
+ , calleridapi(this)
, sslm(this, api)
, sslquery(this, api)
, extban(this, api)
@@ -216,7 +219,7 @@ public:
/* If the target is +z */
if (target->IsModeSet(sslquery))
{
- if (!api || !api->IsSecure(user))
+ if (!api || !api->IsSecure(user) || (calleridapi && !calleridapi->IsOnAcceptList(user, target)))
{
/* The sending user is not on an TLS connection */
user->WriteNumeric(Numerics::CannotSendTo(target, "messages", &sslquery));