diff options
| author | RblSb <msrblsb@gmail.com> | 2021-06-06 20:22:19 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2021-06-06 20:22:56 +0300 |
| commit | 13127249ddd1f61f8ed6b75803b0de1f4d25f96e (patch) | |
| tree | bfb359bbdf1ab7f4b7c470e54fd4e210dddb7448 /build | |
| parent | 03f81af4259c6b58dbef4dfda4683af8a6980759 (diff) | |
Less silly logins
And Haxe update
Diffstat (limited to 'build')
| -rw-r--r-- | build/server.js | 231 |
1 files changed, 128 insertions, 103 deletions
diff --git a/build/server.js b/build/server.js index de01d18..f23658a 100644 --- a/build/server.js +++ b/build/server.js @@ -1,4 +1,4 @@ -// Generated by Haxe 4.1.5 +// Generated by Haxe 4.2.2 (function ($global) { "use strict"; var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; function $extend(from, fields) { @@ -7,11 +7,12 @@ function $extend(from, fields) { if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; return proto; } -var ClientGroup = $hxEnums["ClientGroup"] = { __ename__ : true, __constructs__ : ["User","Leader","Admin"] - ,User: {_hx_index:0,__enum__:"ClientGroup",toString:$estr} - ,Leader: {_hx_index:1,__enum__:"ClientGroup",toString:$estr} - ,Admin: {_hx_index:2,__enum__:"ClientGroup",toString:$estr} +var ClientGroup = $hxEnums["ClientGroup"] = { __ename__:true,__constructs__:null + ,User: {_hx_name:"User",_hx_index:0,__enum__:"ClientGroup",toString:$estr} + ,Leader: {_hx_name:"Leader",_hx_index:1,__enum__:"ClientGroup",toString:$estr} + ,Admin: {_hx_name:"Admin",_hx_index:2,__enum__:"ClientGroup",toString:$estr} }; +ClientGroup.__constructs__ = [ClientGroup.User,ClientGroup.Leader,ClientGroup.Admin]; var Client = function(ws,req,id,name,group) { this.isAlive = true; this.ws = ws; @@ -154,7 +155,7 @@ DateTools.__format_get = function(d,e) { case "y": return StringTools.lpad(Std.string(d.getFullYear() % 100),"0",2); default: - throw haxe_Exception.thrown("Date.format %" + e + "- not implemented yet."); + throw new haxe_exceptions_NotImplementedException("Date.format %" + e + "- not implemented yet.",null,{ fileName : "DateTools.hx", lineNumber : 101, className : "DateTools", methodName : "__format_get"}); } }; DateTools.__format = function(d,f) { @@ -461,11 +462,13 @@ json2object_reader_BaseParser.prototype = { } ,objectErrors: function(assigned,pos) { var lastPos = this.putils.convertPosition(new hxjsonast_Position(pos.file,pos.max - 1,pos.max - 1)); - var s = haxe_ds_StringMap.keysIterator(assigned.h); - while(s.hasNext()) { - var s1 = s.next(); - if(!assigned.h[s1]) { - this.errors.push(json2object_Error.UninitializedVariable(s1,lastPos)); + var s_keys = Object.keys(assigned.h); + var s_length = s_keys.length; + var s_current = 0; + while(s_current < s_length) { + var s = s_keys[s_current++]; + if(!assigned.h[s]) { + this.errors.push(json2object_Error.UninitializedVariable(s,lastPos)); } } } @@ -1946,51 +1949,13 @@ Lambda.count = function(it,pred) { var haxe_IMap = function() { }; haxe_IMap.__name__ = true; haxe_IMap.__isInterface__ = true; -haxe_IMap.prototype = { - __class__: haxe_IMap -}; var haxe_ds_StringMap = function() { this.h = Object.create(null); }; haxe_ds_StringMap.__name__ = true; haxe_ds_StringMap.__interfaces__ = [haxe_IMap]; -haxe_ds_StringMap.keysIterator = function(h) { - var keys = Object.keys(h); - var len = keys.length; - var idx = 0; - return { hasNext : function() { - return idx < len; - }, next : function() { - idx += 1; - return keys[idx - 1]; - }}; -}; -haxe_ds_StringMap.kvIterator = function(h) { - var keys = Object.keys(h); - var len = keys.length; - var idx = 0; - return { hasNext : function() { - return idx < len; - }, next : function() { - idx += 1; - var k = keys[idx - 1]; - return { key : k, value : h[k]}; - }}; -}; haxe_ds_StringMap.prototype = { - get: function(key) { - return this.h[key]; - } - ,set: function(key,value) { - this.h[key] = value; - } - ,keys: function() { - return haxe_ds_StringMap.keysIterator(this.h); - } - ,keyValueIterator: function() { - return haxe_ds_StringMap.kvIterator(this.h); - } - ,__class__: haxe_ds_StringMap + __class__: haxe_ds_StringMap }; var Lang = function() { }; Lang.__name__ = true; @@ -2278,6 +2243,12 @@ haxe_Exception.prototype = $extend(Error.prototype,{ unwrap: function() { return this.__nativeException; } + ,toString: function() { + return this.get_message(); + } + ,get_message: function() { + return this.message; + } ,get_native: function() { return this.__nativeException; } @@ -2478,6 +2449,33 @@ haxe_crypto_Sha256.prototype = { } ,__class__: haxe_crypto_Sha256 }; +var haxe_exceptions_PosException = function(message,previous,pos) { + haxe_Exception.call(this,message,previous); + if(pos == null) { + this.posInfos = { fileName : "(unknown)", lineNumber : 0, className : "(unknown)", methodName : "(unknown)"}; + } else { + this.posInfos = pos; + } +}; +haxe_exceptions_PosException.__name__ = true; +haxe_exceptions_PosException.__super__ = haxe_Exception; +haxe_exceptions_PosException.prototype = $extend(haxe_Exception.prototype,{ + toString: function() { + return "" + haxe_Exception.prototype.toString.call(this) + " in " + this.posInfos.className + "." + this.posInfos.methodName + " at " + this.posInfos.fileName + ":" + this.posInfos.lineNumber; + } + ,__class__: haxe_exceptions_PosException +}); +var haxe_exceptions_NotImplementedException = function(message,previous,pos) { + if(message == null) { + message = "Not implemented"; + } + haxe_exceptions_PosException.call(this,message,previous,pos); +}; +haxe_exceptions_NotImplementedException.__name__ = true; +haxe_exceptions_NotImplementedException.__super__ = haxe_exceptions_PosException; +haxe_exceptions_NotImplementedException.prototype = $extend(haxe_exceptions_PosException.prototype,{ + __class__: haxe_exceptions_NotImplementedException +}); var haxe_io_Bytes = function(data) { this.length = data.byteLength; this.b = new Uint8Array(data); @@ -2527,10 +2525,11 @@ haxe_io_Bytes.ofString = function(s,encoding) { haxe_io_Bytes.prototype = { __class__: haxe_io_Bytes }; -var haxe_io_Encoding = $hxEnums["haxe.io.Encoding"] = { __ename__ : true, __constructs__ : ["UTF8","RawNative"] - ,UTF8: {_hx_index:0,__enum__:"haxe.io.Encoding",toString:$estr} - ,RawNative: {_hx_index:1,__enum__:"haxe.io.Encoding",toString:$estr} +var haxe_io_Encoding = $hxEnums["haxe.io.Encoding"] = { __ename__:true,__constructs__:null + ,UTF8: {_hx_name:"UTF8",_hx_index:0,__enum__:"haxe.io.Encoding",toString:$estr} + ,RawNative: {_hx_name:"RawNative",_hx_index:1,__enum__:"haxe.io.Encoding",toString:$estr} }; +haxe_io_Encoding.__constructs__ = [haxe_io_Encoding.UTF8,haxe_io_Encoding.RawNative]; var haxe_io_Path = function(path) { switch(path) { case ".":case "..": @@ -2695,14 +2694,15 @@ hxjsonast_Json.__name__ = true; hxjsonast_Json.prototype = { __class__: hxjsonast_Json }; -var hxjsonast_JsonValue = $hxEnums["hxjsonast.JsonValue"] = { __ename__ : true, __constructs__ : ["JString","JNumber","JObject","JArray","JBool","JNull"] - ,JString: ($_=function(s) { return {_hx_index:0,s:s,__enum__:"hxjsonast.JsonValue",toString:$estr}; },$_.__params__ = ["s"],$_) - ,JNumber: ($_=function(s) { return {_hx_index:1,s:s,__enum__:"hxjsonast.JsonValue",toString:$estr}; },$_.__params__ = ["s"],$_) - ,JObject: ($_=function(fields) { return {_hx_index:2,fields:fields,__enum__:"hxjsonast.JsonValue",toString:$estr}; },$_.__params__ = ["fields"],$_) - ,JArray: ($_=function(values) { return {_hx_index:3,values:values,__enum__:"hxjsonast.JsonValue",toString:$estr}; },$_.__params__ = ["values"],$_) - ,JBool: ($_=function(b) { return {_hx_index:4,b:b,__enum__:"hxjsonast.JsonValue",toString:$estr}; },$_.__params__ = ["b"],$_) - ,JNull: {_hx_index:5,__enum__:"hxjsonast.JsonValue",toString:$estr} +var hxjsonast_JsonValue = $hxEnums["hxjsonast.JsonValue"] = { __ename__:true,__constructs__:null + ,JString: ($_=function(s) { return {_hx_index:0,s:s,__enum__:"hxjsonast.JsonValue",toString:$estr}; },$_._hx_name="JString",$_.__params__ = ["s"],$_) + ,JNumber: ($_=function(s) { return {_hx_index:1,s:s,__enum__:"hxjsonast.JsonValue",toString:$estr}; },$_._hx_name="JNumber",$_.__params__ = ["s"],$_) + ,JObject: ($_=function(fields) { return {_hx_index:2,fields:fields,__enum__:"hxjsonast.JsonValue",toString:$estr}; },$_._hx_name="JObject",$_.__params__ = ["fields"],$_) + ,JArray: ($_=function(values) { return {_hx_index:3,values:values,__enum__:"hxjsonast.JsonValue",toString:$estr}; },$_._hx_name="JArray",$_.__params__ = ["values"],$_) + ,JBool: ($_=function(b) { return {_hx_index:4,b:b,__enum__:"hxjsonast.JsonValue",toString:$estr}; },$_._hx_name="JBool",$_.__params__ = ["b"],$_) + ,JNull: {_hx_name:"JNull",_hx_index:5,__enum__:"hxjsonast.JsonValue",toString:$estr} }; +hxjsonast_JsonValue.__constructs__ = [hxjsonast_JsonValue.JString,hxjsonast_JsonValue.JNumber,hxjsonast_JsonValue.JObject,hxjsonast_JsonValue.JArray,hxjsonast_JsonValue.JBool,hxjsonast_JsonValue.JNull]; var hxjsonast_JObjectField = function(name,namePos,value) { this.name = name; this.namePos = namePos; @@ -3006,8 +3006,8 @@ js_Boot.__string_rec = function(o,s) { case "object": if(o.__enum__) { var e = $hxEnums[o.__enum__]; - var n = e.__constructs__[o._hx_index]; - var con = e[n]; + var con = e.__constructs__[o._hx_index]; + var n = con._hx_name; if(con.__params__) { s = s + "\t"; return n + "(" + ((function($this) { @@ -3180,26 +3180,28 @@ var js_node_Path = require("path"); var js_node_Readline = require("readline"); var js_node_url_URL = require("url").URL; var js_npm_ws_Server = require("ws").Server; -var json2object_Error = $hxEnums["json2object.Error"] = { __ename__ : true, __constructs__ : ["IncorrectType","IncorrectEnumValue","InvalidEnumConstructor","UninitializedVariable","UnknownVariable","ParserError","CustomFunctionException"] - ,IncorrectType: ($_=function(variable,expected,pos) { return {_hx_index:0,variable:variable,expected:expected,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_.__params__ = ["variable","expected","pos"],$_) - ,IncorrectEnumValue: ($_=function(value,expected,pos) { return {_hx_index:1,value:value,expected:expected,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_.__params__ = ["value","expected","pos"],$_) - ,InvalidEnumConstructor: ($_=function(value,expected,pos) { return {_hx_index:2,value:value,expected:expected,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_.__params__ = ["value","expected","pos"],$_) - ,UninitializedVariable: ($_=function(variable,pos) { return {_hx_index:3,variable:variable,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_.__params__ = ["variable","pos"],$_) - ,UnknownVariable: ($_=function(variable,pos) { return {_hx_index:4,variable:variable,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_.__params__ = ["variable","pos"],$_) - ,ParserError: ($_=function(message,pos) { return {_hx_index:5,message:message,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_.__params__ = ["message","pos"],$_) - ,CustomFunctionException: ($_=function(e,pos) { return {_hx_index:6,e:e,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_.__params__ = ["e","pos"],$_) +var json2object_Error = $hxEnums["json2object.Error"] = { __ename__:true,__constructs__:null + ,IncorrectType: ($_=function(variable,expected,pos) { return {_hx_index:0,variable:variable,expected:expected,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_._hx_name="IncorrectType",$_.__params__ = ["variable","expected","pos"],$_) + ,IncorrectEnumValue: ($_=function(value,expected,pos) { return {_hx_index:1,value:value,expected:expected,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_._hx_name="IncorrectEnumValue",$_.__params__ = ["value","expected","pos"],$_) + ,InvalidEnumConstructor: ($_=function(value,expected,pos) { return {_hx_index:2,value:value,expected:expected,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_._hx_name="InvalidEnumConstructor",$_.__params__ = ["value","expected","pos"],$_) + ,UninitializedVariable: ($_=function(variable,pos) { return {_hx_index:3,variable:variable,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_._hx_name="UninitializedVariable",$_.__params__ = ["variable","pos"],$_) + ,UnknownVariable: ($_=function(variable,pos) { return {_hx_index:4,variable:variable,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_._hx_name="UnknownVariable",$_.__params__ = ["variable","pos"],$_) + ,ParserError: ($_=function(message,pos) { return {_hx_index:5,message:message,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_._hx_name="ParserError",$_.__params__ = ["message","pos"],$_) + ,CustomFunctionException: ($_=function(e,pos) { return {_hx_index:6,e:e,pos:pos,__enum__:"json2object.Error",toString:$estr}; },$_._hx_name="CustomFunctionException",$_.__params__ = ["e","pos"],$_) }; -var json2object_InternalError = $hxEnums["json2object.InternalError"] = { __ename__ : true, __constructs__ : ["AbstractNoJsonRepresentation","CannotGenerateSchema","HandleExpr","ParsingThrow","UnsupportedAbstractEnumType","UnsupportedEnumAbstractValue","UnsupportedMapKeyType","UnsupportedSchemaObjectType","UnsupportedSchemaType"] - ,AbstractNoJsonRepresentation: ($_=function(name) { return {_hx_index:0,name:name,__enum__:"json2object.InternalError",toString:$estr}; },$_.__params__ = ["name"],$_) - ,CannotGenerateSchema: ($_=function(name) { return {_hx_index:1,name:name,__enum__:"json2object.InternalError",toString:$estr}; },$_.__params__ = ["name"],$_) - ,HandleExpr: {_hx_index:2,__enum__:"json2object.InternalError",toString:$estr} - ,ParsingThrow: {_hx_index:3,__enum__:"json2object.InternalError",toString:$estr} - ,UnsupportedAbstractEnumType: ($_=function(name) { return {_hx_index:4,name:name,__enum__:"json2object.InternalError",toString:$estr}; },$_.__params__ = ["name"],$_) - ,UnsupportedEnumAbstractValue: ($_=function(name) { return {_hx_index:5,name:name,__enum__:"json2object.InternalError",toString:$estr}; },$_.__params__ = ["name"],$_) - ,UnsupportedMapKeyType: ($_=function(name) { return {_hx_index:6,name:name,__enum__:"json2object.InternalError",toString:$estr}; },$_.__params__ = ["name"],$_) - ,UnsupportedSchemaObjectType: ($_=function(name) { return {_hx_index:7,name:name,__enum__:"json2object.InternalError",toString:$estr}; },$_.__params__ = ["name"],$_) - ,UnsupportedSchemaType: ($_=function(type) { return {_hx_index:8,type:type,__enum__:"json2object.InternalError",toString:$estr}; },$_.__params__ = ["type"],$_) +json2object_Error.__constructs__ = [json2object_Error.IncorrectType,json2object_Error.IncorrectEnumValue,json2object_Error.InvalidEnumConstructor,json2object_Error.UninitializedVariable,json2object_Error.UnknownVariable,json2object_Error.ParserError,json2object_Error.CustomFunctionException]; +var json2object_InternalError = $hxEnums["json2object.InternalError"] = { __ename__:true,__constructs__:null + ,AbstractNoJsonRepresentation: ($_=function(name) { return {_hx_index:0,name:name,__enum__:"json2object.InternalError",toString:$estr}; },$_._hx_name="AbstractNoJsonRepresentation",$_.__params__ = ["name"],$_) + ,CannotGenerateSchema: ($_=function(name) { return {_hx_index:1,name:name,__enum__:"json2object.InternalError",toString:$estr}; },$_._hx_name="CannotGenerateSchema",$_.__params__ = ["name"],$_) + ,HandleExpr: {_hx_name:"HandleExpr",_hx_index:2,__enum__:"json2object.InternalError",toString:$estr} + ,ParsingThrow: {_hx_name:"ParsingThrow",_hx_index:3,__enum__:"json2object.InternalError",toString:$estr} + ,UnsupportedAbstractEnumType: ($_=function(name) { return {_hx_index:4,name:name,__enum__:"json2object.InternalError",toString:$estr}; },$_._hx_name="UnsupportedAbstractEnumType",$_.__params__ = ["name"],$_) + ,UnsupportedEnumAbstractValue: ($_=function(name) { return {_hx_index:5,name:name,__enum__:"json2object.InternalError",toString:$estr}; },$_._hx_name="UnsupportedEnumAbstractValue",$_.__params__ = ["name"],$_) + ,UnsupportedMapKeyType: ($_=function(name) { return {_hx_index:6,name:name,__enum__:"json2object.InternalError",toString:$estr}; },$_._hx_name="UnsupportedMapKeyType",$_.__params__ = ["name"],$_) + ,UnsupportedSchemaObjectType: ($_=function(name) { return {_hx_index:7,name:name,__enum__:"json2object.InternalError",toString:$estr}; },$_._hx_name="UnsupportedSchemaObjectType",$_.__params__ = ["name"],$_) + ,UnsupportedSchemaType: ($_=function(type) { return {_hx_index:8,type:type,__enum__:"json2object.InternalError",toString:$estr}; },$_._hx_name="UnsupportedSchemaType",$_.__params__ = ["type"],$_) }; +json2object_InternalError.__constructs__ = [json2object_InternalError.AbstractNoJsonRepresentation,json2object_InternalError.CannotGenerateSchema,json2object_InternalError.HandleExpr,json2object_InternalError.ParsingThrow,json2object_InternalError.UnsupportedAbstractEnumType,json2object_InternalError.UnsupportedEnumAbstractValue,json2object_InternalError.UnsupportedMapKeyType,json2object_InternalError.UnsupportedSchemaObjectType,json2object_InternalError.UnsupportedSchemaType]; var json2object_ErrorUtils = function() { }; json2object_ErrorUtils.__name__ = true; json2object_ErrorUtils.convertError = function(e) { @@ -3342,10 +3344,10 @@ json2object_PositionUtils.prototype = { }; var server_ConsoleInput = function(main) { var _g = new haxe_ds_StringMap(); - _g.set("addAdmin",{ args : ["name","password"], desc : "Adds channel admin"}); - _g.set("replay",{ args : ["name"], desc : "Replay log file on server from user/logs/"}); - _g.set("logList",{ args : [], desc : "Show log list from user/logs/"}); - _g.set("exit",{ args : [], desc : "Exit process"}); + _g.h["addAdmin"] = { args : ["name","password"], desc : "Adds channel admin"}; + _g.h["replay"] = { args : ["name"], desc : "Replay log file on server from user/logs/"}; + _g.h["logList"] = { args : [], desc : "Show log list from user/logs/"}; + _g.h["exit"] = { args : [], desc : "Exit process"}; this.commands = _g; this.main = main; }; @@ -3368,8 +3370,10 @@ server_ConsoleInput.prototype = { } ,onCompletion: function(line) { var _g = []; - var item = this.commands.keys(); - while(item.hasNext()) _g.push("/" + item.next() + " "); + var item_keys = Object.keys(this.commands.h); + var item_length = item_keys.length; + var item_current = 0; + while(item_current < item_length) _g.push("/" + item_keys[item_current++] + " "); var _g1 = []; var _g11 = 0; while(_g11 < _g.length) { @@ -3391,7 +3395,7 @@ server_ConsoleInput.prototype = { } var args = StringTools.trim(line).split(" "); var command = HxOverrides.substr(args.shift(),1,null); - if(this.commands.get(command) == null) { + if(this.commands.h[command] == null) { this.printHelp(line); return; } @@ -3440,7 +3444,7 @@ server_ConsoleInput.prototype = { } ,isValidArgs: function(command,args) { var len = args.length; - var actual = this.commands.get(command).args.length; + var actual = this.commands.h[command].args.length; if(len != actual) { haxe_Log.trace("Wrong count of arguments for command \"" + command + "\" (" + len + " instead of " + actual + ")",{ fileName : "src/server/ConsoleInput.hx", lineNumber : 132, className : "server.ConsoleInput", methodName : "isValidArgs"}); return false; @@ -3449,20 +3453,28 @@ server_ConsoleInput.prototype = { } ,printHelp: function(line) { var maxLength = 0; - var _g = this.commands.keyValueIterator(); - while(_g.hasNext()) { - var _g1 = _g.next(); - var len = ("/" + _g1.key + " " + _g1.value.args.join(" ")).length; + var h = this.commands.h; + var _g_keys = Object.keys(h); + var _g_length = _g_keys.length; + var _g_current = 0; + while(_g_current < _g_length) { + var key = _g_keys[_g_current++]; + var _g = { key : key, value : h[key]}; + var len = ("/" + _g.key + " " + _g.value.args.join(" ")).length; if(maxLength < len) { maxLength = len; } } var list = []; - var _g = this.commands.keyValueIterator(); - while(_g.hasNext()) { - var _g1 = _g.next(); - var data = _g1.value; - list.push("" + StringTools.rpad("/" + _g1.key + " " + data.args.join(" ")," ",maxLength) + " | " + data.desc); + var h = this.commands.h; + var _g_keys = Object.keys(h); + var _g_length = _g_keys.length; + var _g_current = 0; + while(_g_current < _g_length) { + var key = _g_keys[_g_current++]; + var _g = { key : key, value : h[key]}; + var data = _g.value; + list.push("" + StringTools.rpad("/" + _g.key + " " + data.args.join(" ")," ",maxLength) + " | " + data.desc); } haxe_Log.trace("Unknown command \"" + line + "\". List:\n" + list.join("\n"),{ fileName : "src/server/ConsoleInput.hx", lineNumber : 151, className : "server.ConsoleInput", methodName : "printHelp"}); } @@ -3707,7 +3719,8 @@ server_Logger.prototype = { }; var server_Main = function() { this.loadedClientsCount = 0; - this.htmlChars = new EReg("[&^<>'\"]",""); + this.matchGuestName = new EReg("guest [0-9]+",""); + this.matchHtmlChars = new EReg("[&^<>'\"]",""); this.itemPos = 0; this.isPlaylistOpen = true; this.messages = []; @@ -4159,8 +4172,9 @@ server_Main.prototype = { this.send(client,obj); break; case "Login": - var name = data.login.clientName; - if(this.badNickName(name) || name.length > this.config.maxLoginLength || ClientTools.getByName(this.clients,name) != null) { + var name = StringTools.trim(data.login.clientName); + var lcName = name.toLowerCase(); + if(this.badNickName(lcName)) { this.serverMessage(client,"usernameError"); this.send(client,{ type : "LoginError"}); return; @@ -4168,13 +4182,13 @@ server_Main.prototype = { var hash = data.login.passHash; if(hash == null) { if(Lambda.exists(this.userList.admins,function(a) { - return a.name == name; + return a.name.toLowerCase() == lcName; })) { this.send(client,{ type : "PasswordRequest"}); return; } } else if(Lambda.exists(this.userList.admins,function(a) { - if(a.name == name) { + if(a.name.toLowerCase() == lcName) { return a.hash == hash; } else { return false; @@ -4446,10 +4460,21 @@ server_Main.prototype = { return state; } ,badNickName: function(name) { + if(name.length > this.config.maxLoginLength) { + return true; + } if(name.length == 0) { return true; } - if(this.htmlChars.match(name)) { + if(this.matchHtmlChars.match(name)) { + return true; + } + if(this.matchGuestName.match(name)) { + return true; + } + if(Lambda.exists(this.clients,function(i) { + return i.name.toLowerCase() == name; + })) { return true; } return false; |
