diff --git a/source/ircd/connection.d b/source/ircd/connection.d index 3687b34..53c1049 100644 --- a/source/ircd/connection.d +++ b/source/ircd/connection.d @@ -158,7 +158,10 @@ class Connection continue; } - //TODO: If RFC-strictness is off, ignore command case + version (BasicFixes) + { + message.command = message.command.map!toUpper.to!string; + } //NOTE: The RFCs don't specify what 'being idle' means // We assume that it's sending any message that isn't a PING/PONG. diff --git a/source/ircd/server.d b/source/ircd/server.d index 42aa76a..6578b53 100644 --- a/source/ircd/server.d +++ b/source/ircd/server.d @@ -229,8 +229,8 @@ class Server { foreach (c; connections.filter!(c => c.visibleTo(origin)) .filter!(c => !operatorsOnly || c.isOperator) - .filter!(c => [c.hostname, c.servername, c.realname, - c.nick].any!(n => wildcardMatch(n, mask)))) + .filter!(c => [c.hostname, c.servername, c.realname, c.nick] + .any!(n => wildcardMatch(n, mask)))) { //TODO: Don't leak secret/private channels if RFC-strictness is off (the RFCs don't seem to say anything about it?) auto channelName = c.channels.empty ? "*" : c.channels.array[0].name; diff --git a/source/ircd/versions.d b/source/ircd/versions.d index 099f800..988e99a 100644 --- a/source/ircd/versions.d +++ b/source/ircd/versions.d @@ -11,6 +11,9 @@ module ircd.versions; (* NotStrict: enabled when any versions are enabled that disable RFC-strictness, i.e. any of the above) +/ +//TODO: Implement 'SupportTLS' +//TODO: Implement 'MaxNickLengthConfigurable' + version (Modern) { version = SupportTLS;