+ // 2.0 needs these keys.
+ if (proto_version == PROTO_INSPIRCD_20)
+ {
+ extra.append(" PROTOCOL="+ConvToStr(proto_version))
+ .append(" MAXGECOS="+ConvToStr(ServerInstance->Config->Limits.MaxReal))
+ .append(" CHANMODES="+ServerInstance->Modes->GiveModeList(MODETYPE_CHANNEL))
+ .append(" USERMODES="+ServerInstance->Modes->GiveModeList(MODETYPE_USER))
+ .append(" PREFIX="+ ServerInstance->Modes->BuildPrefixes());
+ }
+
+ // HACK: Allow services to know what extbans exist. This will be
+ // replaced by CAPAB EXTBANS in the next protocol version.
+ std::map<std::string, std::string> tokens;
+ FOREACH_MOD(On005Numeric, (tokens));
+ std::map<std::string, std::string>::const_iterator eiter = tokens.find("EXTBAN");
+ if (eiter != tokens.end())
+ extra.append(" EXTBANS=" + eiter->second);
+