aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_spanningtree/server.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree/server.cpp b/src/modules/m_spanningtree/server.cpp
index 25fae9099..a2c6163f9 100644
--- a/src/modules/m_spanningtree/server.cpp
+++ b/src/modules/m_spanningtree/server.cpp
@@ -23,6 +23,8 @@
*/
+#include <filesystem>
+
#include "inspircd.h"
#include "modules/ssl.h"
@@ -33,6 +35,15 @@
#include "treesocket.h"
#include "commands.h"
+namespace
+{
+ bool RunningInContainer()
+ {
+ std::error_code ec;
+ return std::filesystem::is_regular_file("/.dockerenv", ec);
+ }
+}
+
/*
* Some server somewhere in the network introducing another server.
* -- w
@@ -139,7 +150,7 @@ std::shared_ptr<Link> TreeSocket::AuthRemote(const CommandBase::Params& params)
ssliohook->GetCiphersuite(ciphersuite);
ServerInstance->SNO.WriteToSnoMask('l', "Negotiated ciphersuite {} on link {}", ciphersuite, x->Name);
}
- else if (!capab->remotesa.is_local())
+ else if (!capab->remotesa.is_local() && !RunningInContainer())
{
this->SendError("Non-local server connections MUST be linked with SSL!");
return nullptr;