summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/commands/ns_ajoin.cpp2
-rw-r--r--modules/protocol/inspircd12.cpp3
2 files changed, 3 insertions, 2 deletions
diff --git a/modules/commands/ns_ajoin.cpp b/modules/commands/ns_ajoin.cpp
index 836e0cf6d..0304c7394 100644
--- a/modules/commands/ns_ajoin.cpp
+++ b/modules/commands/ns_ajoin.cpp
@@ -284,7 +284,7 @@ class NSAJoin : public Module
continue;
else if (c->HasMode("ADMINONLY") && !u->HasMode("ADMIN"))
continue;
- else if (c->HasMode("SSL") && !u->HasMode("SSL"))
+ else if (c->HasMode("SSL") && !(u->HasMode("SSL") || u->HasExt("SSL")))
continue;
else if (c->MatchesList(u, "BAN") == true && c->MatchesList(u, "EXCEPT") == false)
need_invite = true;
diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp
index cc1c5eb4c..c257f5d1e 100644
--- a/modules/protocol/inspircd12.cpp
+++ b/modules/protocol/inspircd12.cpp
@@ -947,7 +947,8 @@ struct IRCDMessageMetadata : IRCDMessage
User *u = User::Find(params[0]);
if (!u)
return;
- std::string data = params[2].c_str();
+ u->Extend("SSL");
+ Anope::string data = params[2].c_str();
size_t pos1 = data.find(' ') + 1;
size_t pos2 = data.find(' ', pos1);
if ((pos2 - pos1) >= 32) // inspircd supports md5 and sha1 fingerprint hashes -> size 32 or 40 bytes.