diff options
| author | 2020-09-18 15:21:25 +0100 | |
|---|---|---|
| committer | 2020-09-18 15:21:25 +0100 | |
| commit | 17b91b7e2f9dcac7d5235ec4bc4c69db5f149298 (patch) | |
| tree | edaad01bcbe20461081095c7bec6c2d17a2dd242 /src/modules | |
| parent | Merge branch 'insp3' into master. (diff) | |
| parent | Make it clear that <gnutls>, <mbedtls>, and <openssl> are deprecated. (diff) | |
Merge branch 'insp3' into master.
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/m_spanningtree/server.cpp | 4 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/treesocket.h | 1 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/treesocket1.cpp | 2 |
3 files changed, 7 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/server.cpp b/src/modules/m_spanningtree/server.cpp index 763ab52b6..682a588f3 100644 --- a/src/modules/m_spanningtree/server.cpp +++ b/src/modules/m_spanningtree/server.cpp @@ -140,6 +140,10 @@ std::shared_ptr<Link> TreeSocket::AuthRemote(const CommandBase::Params& params) ssliohook->GetCiphersuite(ciphersuite); ServerInstance->SNO.WriteToSnoMask('l', "Negotiated ciphersuite %s on link %s", ciphersuite.c_str(), x->Name.c_str()); } + else if (!irc::sockets::cidr_mask("127.0.0.0/8").match(capab->remotesa) && !irc::sockets::cidr_mask("::1/128").match(capab->remotesa)) + { + ServerInstance->SNO->WriteGlobalSno('l', "Server connection to %s is not using SSL (TLS). This is VERY INSECURE and will not be allowed in the next major version of InspIRCd.", x->Name.c_str()); + } return x; } diff --git a/src/modules/m_spanningtree/treesocket.h b/src/modules/m_spanningtree/treesocket.h index d0c497cf9..a21854ef4 100644 --- a/src/modules/m_spanningtree/treesocket.h +++ b/src/modules/m_spanningtree/treesocket.h @@ -81,6 +81,7 @@ struct CapabData int capab_phase; /* Have sent CAPAB already */ bool auth_fingerprint; /* Did we auth using SSL certificate fingerprint */ bool auth_challenge; /* Did we auth using challenge/response */ + irc::sockets::sockaddrs remotesa; /* The remote socket address. */ // Data saved from incoming SERVER command, for later use when our credentials have been accepted by the other party std::string description; diff --git a/src/modules/m_spanningtree/treesocket1.cpp b/src/modules/m_spanningtree/treesocket1.cpp index 8cc699d09..0dcb655cc 100644 --- a/src/modules/m_spanningtree/treesocket1.cpp +++ b/src/modules/m_spanningtree/treesocket1.cpp @@ -48,6 +48,7 @@ TreeSocket::TreeSocket(std::shared_ptr<Link> link, std::shared_ptr<Autoconnect> capab->link = link; capab->ac = myac; capab->capab_phase = 0; + capab->remotesa = dest; irc::sockets::sockaddrs bind; memset(&bind, 0, sizeof(bind)); @@ -84,6 +85,7 @@ TreeSocket::TreeSocket(int newfd, ListenSocket* via, irc::sockets::sockaddrs* cl { capab = new CapabData; capab->capab_phase = 0; + capab->remotesa = *client; for (ListenSocket::IOHookProvList::iterator i = via->iohookprovs.begin(); i != via->iohookprovs.end(); ++i) { |
