summaryrefslogtreecommitdiff
path: root/src/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocol')
-rw-r--r--src/protocol/inspircd11.c2
-rw-r--r--src/protocol/inspircd12.cpp9
2 files changed, 9 insertions, 2 deletions
diff --git a/src/protocol/inspircd11.c b/src/protocol/inspircd11.c
index a7335daf7..cd20c4179 100644
--- a/src/protocol/inspircd11.c
+++ b/src/protocol/inspircd11.c
@@ -1057,7 +1057,7 @@ int anope_event_capab(const char *source, int ac, const char **av)
}
else if (capab.find("MAXMODES=") != std::string::npos)
{
- std::string maxmodes(capab.begin() + 10, capab.end());
+ std::string maxmodes(capab.begin() + 9, capab.end());
ircd->maxmodes = atoi(maxmodes.c_str());
}
}
diff --git a/src/protocol/inspircd12.cpp b/src/protocol/inspircd12.cpp
index f0dc5133e..e3db3a1c2 100644
--- a/src/protocol/inspircd12.cpp
+++ b/src/protocol/inspircd12.cpp
@@ -1011,6 +1011,7 @@ int anope_event_capab(const char *source, int ac, const char **av)
case 'I':
ModeManager::AddChannelMode(new ChannelModeInvite('I'));
continue;
+ // XXX list modes needs a bit of a rewrite, we need to be able to support +g here
default:
ModeManager::AddChannelMode(new ChannelModeList(CMODE_END, modebuf[t]));
}
@@ -1104,6 +1105,9 @@ int anope_event_capab(const char *source, int ac, const char **av)
case 'T':
ModeManager::AddChannelMode(new ChannelMode(CMODE_NONOTICE, 'T'));
continue;
+ case 'c':
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_BLOCKCOLOR, 'c'));
+ continue;
case 'i':
ModeManager::AddChannelMode(new ChannelMode(CMODE_INVITE, 'i'));
continue;
@@ -1148,6 +1152,9 @@ int anope_event_capab(const char *source, int ac, const char **av)
{
switch (modebuf[t])
{
+ case 'h':
+ ModeManager::AddUserMode(new UserMode(UMODE_HELPOP, 'h'));
+ continue;
case 's':
ModeManager::AddUserMode(new UserMode(UMODE_STRIPCOLOR, 'S'));
continue;
@@ -1237,7 +1244,7 @@ int anope_event_capab(const char *source, int ac, const char **av)
}
else if (capab.find("MAXMODES=") != std::string::npos)
{
- std::string maxmodes(capab.begin() + 10, capab.end());
+ std::string maxmodes(capab.begin() + 9, capab.end());
ircd->maxmodes = atoi(maxmodes.c_str());
}
}