typo squashing
This commit is contained in:
parent
d25bfeafa5
commit
597c67bb1f
|
@ -1,7 +1,11 @@
|
|||
{
|
||||
"cSpell.words": [
|
||||
"abcdf",
|
||||
"accountchange",
|
||||
"accountcreate",
|
||||
"accountid",
|
||||
"accountremove",
|
||||
"acmd",
|
||||
"acmepath",
|
||||
"actiontype",
|
||||
"adddevicegroup",
|
||||
|
@ -16,17 +20,30 @@
|
|||
"addusertousergroup",
|
||||
"adminaccount",
|
||||
"adminname",
|
||||
"agentaliasdns",
|
||||
"agentaliasport",
|
||||
"agentallowedip",
|
||||
"agentapp",
|
||||
"agentblockedip",
|
||||
"agentconfig",
|
||||
"agentconsole",
|
||||
"agentcoredump",
|
||||
"agentcoredumpusers",
|
||||
"agentcustomization",
|
||||
"agentdownload",
|
||||
"agenterrorlogs",
|
||||
"agentid",
|
||||
"agentidletimeout",
|
||||
"agentinfo",
|
||||
"agentinvite",
|
||||
"agentinvitecodes",
|
||||
"agentkey",
|
||||
"Agentless",
|
||||
"agentnoproxy",
|
||||
"agentport",
|
||||
"agentportbind",
|
||||
"agentporttls",
|
||||
"agenttransfer",
|
||||
"agenttype",
|
||||
"agentupdateblocksize",
|
||||
"agentupdatetest",
|
||||
|
@ -34,57 +51,97 @@
|
|||
"aliasport",
|
||||
"allevents",
|
||||
"allowaccountreset",
|
||||
"allowframing",
|
||||
"allowfullscreen",
|
||||
"allowhighqualitydesktop",
|
||||
"allowsavingdevicecredentials",
|
||||
"allusers",
|
||||
"alreadyinstalled",
|
||||
"amtacmactivation",
|
||||
"amtevents",
|
||||
"amthost",
|
||||
"amtmanager",
|
||||
"amtoff",
|
||||
"amton",
|
||||
"amtonly",
|
||||
"amtpass",
|
||||
"amtreset",
|
||||
"amtscanner",
|
||||
"amtscanoptions",
|
||||
"anewaccountcaptcha",
|
||||
"apassword",
|
||||
"apasswordhint",
|
||||
"apikey",
|
||||
"apos",
|
||||
"appmetrics",
|
||||
"apprelays",
|
||||
"ashx",
|
||||
"assistantconfig",
|
||||
"assistantcustomization",
|
||||
"assistantnoproxy",
|
||||
"atag",
|
||||
"authcookie",
|
||||
"authenticode",
|
||||
"authfail",
|
||||
"authlog",
|
||||
"authlogfile",
|
||||
"Authn",
|
||||
"authorizationurl",
|
||||
"authstr",
|
||||
"authstrategies",
|
||||
"autofido",
|
||||
"awsrds",
|
||||
"backgroundcolor",
|
||||
"backgroundonly",
|
||||
"backupcode",
|
||||
"backuppath",
|
||||
"badargs",
|
||||
"badtlscert",
|
||||
"bancommonpasswords",
|
||||
"batchupload",
|
||||
"bitmask",
|
||||
"Bounser",
|
||||
"callbackurl",
|
||||
"captchaargs",
|
||||
"ccmp",
|
||||
"Centralv",
|
||||
"certbot",
|
||||
"certfiles",
|
||||
"certhash",
|
||||
"certkeyhash",
|
||||
"certpfx",
|
||||
"certpfxpass",
|
||||
"certurl",
|
||||
"cfile",
|
||||
"changedevice",
|
||||
"changenode",
|
||||
"changepassword",
|
||||
"chatnotify",
|
||||
"checkemail",
|
||||
"checkmail",
|
||||
"chnl",
|
||||
"CIRA",
|
||||
"ciraconn",
|
||||
"ciralocalfqdn",
|
||||
"ckey",
|
||||
"clearpower",
|
||||
"clientid",
|
||||
"clientsecret",
|
||||
"clipboardget",
|
||||
"clipboardset",
|
||||
"cmdoptions",
|
||||
"cmds",
|
||||
"cnonce",
|
||||
"companyname",
|
||||
"configfile",
|
||||
"configfiles",
|
||||
"configkey",
|
||||
"connectionstring",
|
||||
"Consts",
|
||||
"cookieipcheck",
|
||||
"cookiesamesite",
|
||||
"coolofftime",
|
||||
"coredump",
|
||||
"coredumps",
|
||||
"createaccount",
|
||||
"createmesh",
|
||||
|
@ -92,8 +149,14 @@
|
|||
"crowdsec",
|
||||
"crypted",
|
||||
"cscli",
|
||||
"curloptionshttp",
|
||||
"curloptionshttps",
|
||||
"cuser",
|
||||
"cuserid",
|
||||
"customui",
|
||||
"datafile",
|
||||
"datapath",
|
||||
"datas",
|
||||
"datastr",
|
||||
"dbconfig",
|
||||
"dbdeleteconfigfiles",
|
||||
|
@ -107,67 +170,119 @@
|
|||
"dbpulldatafiles",
|
||||
"dbpushconfigfiles",
|
||||
"dbshowconfigfile",
|
||||
"debuglevel",
|
||||
"defaultuserwebstate",
|
||||
"deldump",
|
||||
"deleteaccount",
|
||||
"deletedefaultdomain",
|
||||
"deletedomain",
|
||||
"deletemesh",
|
||||
"deleteuser",
|
||||
"deleteusergroup",
|
||||
"deluser",
|
||||
"deluserpath",
|
||||
"DESKLIMITEDINPUT",
|
||||
"desktopmultiplex",
|
||||
"desktopnotify",
|
||||
"desktopprivacybar",
|
||||
"desktopprompt",
|
||||
"desktoprelays",
|
||||
"desktopviewonly",
|
||||
"devbox",
|
||||
"devicefile",
|
||||
"deviceid",
|
||||
"deviceinfo",
|
||||
"deviceinfocount",
|
||||
"devicemessage",
|
||||
"deviceopenurl",
|
||||
"devicepower",
|
||||
"devicepowerevents",
|
||||
"devicesearchbarserverandclientname",
|
||||
"deviceshare",
|
||||
"devicesharing",
|
||||
"devicetoast",
|
||||
"devid",
|
||||
"Digesthash",
|
||||
"disablerequestedauthncontext",
|
||||
"displayname",
|
||||
"dlccore",
|
||||
"dlcore",
|
||||
"dldump",
|
||||
"dnscount",
|
||||
"dnssuffix",
|
||||
"domaindefaults",
|
||||
"domainid",
|
||||
"domainname",
|
||||
"domainurl",
|
||||
"domainx",
|
||||
"dont",
|
||||
"dontlognull",
|
||||
"downloadfile",
|
||||
"dumpcores",
|
||||
"dumpfile",
|
||||
"editdevice",
|
||||
"editdevicegroup",
|
||||
"editgroup",
|
||||
"editmesh",
|
||||
"edituser",
|
||||
"emailaddress",
|
||||
"emailcheck",
|
||||
"emaildomain",
|
||||
"emailexists",
|
||||
"emailok",
|
||||
"emailvalidation",
|
||||
"emailvalidationrequired",
|
||||
"emailverified",
|
||||
"entityid",
|
||||
"entrypoints",
|
||||
"errdesc",
|
||||
"errlogpath",
|
||||
"esversion",
|
||||
"etype",
|
||||
"eventlogger",
|
||||
"exactport",
|
||||
"exactports",
|
||||
"exphbs",
|
||||
"extractall",
|
||||
"extrakey",
|
||||
"extralinks",
|
||||
"extrascriptsrc",
|
||||
"factorauth",
|
||||
"factorwarning",
|
||||
"fadev",
|
||||
"fahold",
|
||||
"fasent",
|
||||
"fastcert",
|
||||
"fchallenge",
|
||||
"fileaccess",
|
||||
"filedata",
|
||||
"filefullpath",
|
||||
"filenotify",
|
||||
"fileprompt",
|
||||
"filesize",
|
||||
"filespath",
|
||||
"filestats",
|
||||
"fileurl",
|
||||
"filteredusers",
|
||||
"filterid",
|
||||
"firebaserelay",
|
||||
"firstname",
|
||||
"forceduserwebstate",
|
||||
"foregroundcolor",
|
||||
"forwardclient",
|
||||
"forwardfor",
|
||||
"forwardwrite",
|
||||
"forwardwsocket",
|
||||
"fpath",
|
||||
"Freemonitoring",
|
||||
"frontends",
|
||||
"ftarget",
|
||||
"fullpath",
|
||||
"fullrights",
|
||||
"fullscreen",
|
||||
"gatewaymac",
|
||||
"generateinvitelink",
|
||||
"geourl",
|
||||
"getnetworkinfo",
|
||||
"getsysinfo",
|
||||
"getwspass",
|
||||
|
@ -175,49 +290,85 @@
|
|||
"gotodevicename",
|
||||
"gotonode",
|
||||
"groupid",
|
||||
"guestdevicesharing",
|
||||
"guestname",
|
||||
"GUESTSHARING",
|
||||
"hashhex",
|
||||
"Hashi",
|
||||
"hashpass",
|
||||
"hashpasssplit",
|
||||
"hashpassword",
|
||||
"Hashs",
|
||||
"healthcheck",
|
||||
"Hilaire",
|
||||
"hkey",
|
||||
"httpheaders",
|
||||
"httplog",
|
||||
"httpport",
|
||||
"hwchallenge",
|
||||
"hwotp",
|
||||
"hwstate",
|
||||
"hwtoken",
|
||||
"Ider",
|
||||
"idexists",
|
||||
"idhex",
|
||||
"idpurl",
|
||||
"idsplit",
|
||||
"iframe",
|
||||
"ignoreagenthashcheck",
|
||||
"iishash",
|
||||
"imagebase",
|
||||
"imagefile",
|
||||
"indexagenterrorlog",
|
||||
"indexmcrec",
|
||||
"installflags",
|
||||
"installsize",
|
||||
"installtext",
|
||||
"intelamt",
|
||||
"interactiveonly",
|
||||
"interuser",
|
||||
"invitecodes",
|
||||
"ipaddr",
|
||||
"ipblockeduserredirect",
|
||||
"ipcheck",
|
||||
"ipex",
|
||||
"ipkvm",
|
||||
"iplayer",
|
||||
"ipranges",
|
||||
"isaml",
|
||||
"Jitsi",
|
||||
"jumpcloud",
|
||||
"keyfile",
|
||||
"keygrip",
|
||||
"keyid",
|
||||
"lanonly",
|
||||
"LAPI",
|
||||
"lastaddr",
|
||||
"lastconnect",
|
||||
"lastname",
|
||||
"ldapauth",
|
||||
"ldapobj",
|
||||
"ldapoptions",
|
||||
"ldapsaveusertofile",
|
||||
"ldapsyncwithusergroups",
|
||||
"ldapuserbinarykey",
|
||||
"ldapuseremail",
|
||||
"ldapusergroups",
|
||||
"ldapuserimage",
|
||||
"ldapuserkey",
|
||||
"ldapusername",
|
||||
"ldapuserphonenumber",
|
||||
"ldapuserrealname",
|
||||
"ldapuserrequiredgroupmembership",
|
||||
"ldapusers",
|
||||
"leok",
|
||||
"letsencrypt",
|
||||
"lightgray",
|
||||
"limiteddesktop",
|
||||
"limitedevents",
|
||||
"LIMITEVENTS",
|
||||
"Linaro",
|
||||
"linuxpath",
|
||||
"listdevicegroups",
|
||||
"listdevices",
|
||||
"listdomains",
|
||||
|
@ -228,56 +379,93 @@
|
|||
"listusersessions",
|
||||
"listusersofdevicegroup",
|
||||
"loadconfigfromdb",
|
||||
"localdiscovery",
|
||||
"localfile",
|
||||
"localpath",
|
||||
"localrelay",
|
||||
"localsessionrecording",
|
||||
"localurl",
|
||||
"lockagentdownload",
|
||||
"locksettings",
|
||||
"logfile",
|
||||
"logincodeb",
|
||||
"logindomain",
|
||||
"loginfooter",
|
||||
"loginkey",
|
||||
"loginkeyfile",
|
||||
"loginlogo",
|
||||
"loginmode",
|
||||
"loginpass",
|
||||
"loginpicture",
|
||||
"loginscreen",
|
||||
"logintoken",
|
||||
"logintokengen",
|
||||
"logintokenkey",
|
||||
"logintokens",
|
||||
"loginuser",
|
||||
"logoback",
|
||||
"logoutcontrols",
|
||||
"logouturl",
|
||||
"macrouter",
|
||||
"magenturl",
|
||||
"mailserver",
|
||||
"mailtokengen",
|
||||
"maintenancemode",
|
||||
"mainwelcome",
|
||||
"MANAGECOMPUTERS",
|
||||
"managedevices",
|
||||
"manageusers",
|
||||
"markcoredump",
|
||||
"maxfidokeys",
|
||||
"maxlen",
|
||||
"maxuseraccounts",
|
||||
"mcpath",
|
||||
"mcrdesktop",
|
||||
"mcrec",
|
||||
"mcrfiles",
|
||||
"mcrouter",
|
||||
"Mebx",
|
||||
"meshaction",
|
||||
"meshadmin",
|
||||
"meshagent",
|
||||
"meshagents",
|
||||
"meshauth",
|
||||
"meshcentral",
|
||||
"meshcentralhost",
|
||||
"meshchange",
|
||||
"meshcmd",
|
||||
"meshcommander",
|
||||
"meshcookie",
|
||||
"meshcore",
|
||||
"meshctrl",
|
||||
"meshdesktopmultiplex",
|
||||
"meshdevicefile",
|
||||
"mesherrorlogpath",
|
||||
"mesherrors",
|
||||
"meshfilename",
|
||||
"meshid",
|
||||
"meshidhex",
|
||||
"meshidname",
|
||||
"meshinstall",
|
||||
"meshmail",
|
||||
"meshmessenger",
|
||||
"meshmessengerid",
|
||||
"meshmessengerpicture",
|
||||
"meshmessengertitle",
|
||||
"meshname",
|
||||
"meshosxagent",
|
||||
"meshquota",
|
||||
"meshrelay",
|
||||
"MESHRIGHT",
|
||||
"meshrights",
|
||||
"meshscanner",
|
||||
"meshserver",
|
||||
"meshsettings",
|
||||
"meshsettingslines",
|
||||
"meshtype",
|
||||
"meshuser",
|
||||
"Messagebox",
|
||||
"messageid",
|
||||
"Messenging",
|
||||
"minfo",
|
||||
"minifyall",
|
||||
|
@ -287,17 +475,25 @@
|
|||
"mongorestore",
|
||||
"moutput",
|
||||
"movetodevicegroup",
|
||||
"mpkg",
|
||||
"mpsaliasport",
|
||||
"mpscert",
|
||||
"mpsdebug",
|
||||
"mpspass",
|
||||
"mpsport",
|
||||
"mpsserver",
|
||||
"mpsservers",
|
||||
"MPSSSL",
|
||||
"mpstlsoffload",
|
||||
"mqttbroker",
|
||||
"MSCHA",
|
||||
"msgid",
|
||||
"mstsc",
|
||||
"mstscrelay",
|
||||
"mtype",
|
||||
"multiplexor",
|
||||
"multiresponse",
|
||||
"multivalued",
|
||||
"myaccountname",
|
||||
"mycompany",
|
||||
"mydomain",
|
||||
|
@ -309,13 +505,19 @@
|
|||
"netif",
|
||||
"newaccountemaildomains",
|
||||
"newaccountname",
|
||||
"newaccountrealms",
|
||||
"newaccounts",
|
||||
"newaccountscaptcha",
|
||||
"newaccountspass",
|
||||
"newaccountsrights",
|
||||
"newaccountsusergroups",
|
||||
"newgroupname",
|
||||
"newobj",
|
||||
"newpass",
|
||||
"newpassword",
|
||||
"NGNIX",
|
||||
"nightmode",
|
||||
"noact",
|
||||
"noagentupdate",
|
||||
"noamt",
|
||||
"noauth",
|
||||
|
@ -324,47 +526,91 @@
|
|||
"nodecount",
|
||||
"nodeid",
|
||||
"nodeids",
|
||||
"nodeidsplit",
|
||||
"nodeinfo",
|
||||
"nodekey",
|
||||
"nodepath",
|
||||
"NODESKTOP",
|
||||
"nodewindows",
|
||||
"nofiles",
|
||||
"nofirewall",
|
||||
"nolog",
|
||||
"nologout",
|
||||
"NOMESHCMD",
|
||||
"nominify",
|
||||
"nonalpha",
|
||||
"NONEWDEVICES",
|
||||
"nonewgroups",
|
||||
"noproxy",
|
||||
"noredirect",
|
||||
"nosniff",
|
||||
"noterminal",
|
||||
"notools",
|
||||
"nouser",
|
||||
"nousers",
|
||||
"novnc",
|
||||
"npmjs",
|
||||
"npmpath",
|
||||
"npmproxy",
|
||||
"npmtag",
|
||||
"objid",
|
||||
"ODELAY",
|
||||
"offloader",
|
||||
"offloaders",
|
||||
"oidc",
|
||||
"oldpassword",
|
||||
"oldpasswordban",
|
||||
"oldpasswords",
|
||||
"oneclickrecovery",
|
||||
"onlyselecteddevicegroups",
|
||||
"onlyselectedusers",
|
||||
"openidconnect",
|
||||
"openstreetmap",
|
||||
"openurl",
|
||||
"orphanagentuser",
|
||||
"osdesc",
|
||||
"osinfo",
|
||||
"otpdev",
|
||||
"otpekey",
|
||||
"otpemail",
|
||||
"otphkeys",
|
||||
"otpkeys",
|
||||
"otplib",
|
||||
"otppush",
|
||||
"otpsecret",
|
||||
"otpsms",
|
||||
"parentpath",
|
||||
"passchange",
|
||||
"passhint",
|
||||
"passlogin",
|
||||
"passrequirementstr",
|
||||
"passtype",
|
||||
"passwordrequirements",
|
||||
"passwordrequirementsstr",
|
||||
"pastlogin",
|
||||
"pathx",
|
||||
"peinfo",
|
||||
"phonenumber",
|
||||
"PKCK",
|
||||
"plivo",
|
||||
"pluginadmin",
|
||||
"plusplus",
|
||||
"portbind",
|
||||
"postflight",
|
||||
"poweraction",
|
||||
"powerevents",
|
||||
"Proto",
|
||||
"publicid",
|
||||
"pushlogin",
|
||||
"pushrelay",
|
||||
"pushrelayserver",
|
||||
"qport",
|
||||
"randompass",
|
||||
"Raritan",
|
||||
"rauth",
|
||||
"rawdata",
|
||||
"rcookie",
|
||||
"rdpport",
|
||||
"realname",
|
||||
"recordencryptionrecode",
|
||||
"recordpath",
|
||||
|
@ -373,11 +619,21 @@
|
|||
"redirections",
|
||||
"redirport",
|
||||
"redirserver",
|
||||
"refreshtoken",
|
||||
"relayaliasport",
|
||||
"relaydns",
|
||||
"relayid",
|
||||
"relayport",
|
||||
"relayserver",
|
||||
"relaysession",
|
||||
"remembertoken",
|
||||
"remoteaddr",
|
||||
"remoteaddrport",
|
||||
"REMOTECOMMAND",
|
||||
"remotecontrol",
|
||||
"remotefile",
|
||||
"remotepath",
|
||||
"REMOTEVIEWONLY",
|
||||
"removeallusersfromusergroup",
|
||||
"removedevicegroup",
|
||||
"removedomain",
|
||||
|
@ -392,11 +648,20 @@
|
|||
"removeuserfromusergroup",
|
||||
"removeusergroup",
|
||||
"resetaccount",
|
||||
"RESETOFF",
|
||||
"resetpass",
|
||||
"responseid",
|
||||
"restoreserver",
|
||||
"rightsstr",
|
||||
"rname",
|
||||
"rnamel",
|
||||
"rootcert",
|
||||
"rootredirect",
|
||||
"rpassword",
|
||||
"rpasswordhint",
|
||||
"rport",
|
||||
"rtpass",
|
||||
"rtuser",
|
||||
"runasuser",
|
||||
"runasuseronly",
|
||||
"runcommand",
|
||||
|
@ -404,23 +669,43 @@
|
|||
"runmode",
|
||||
"runonservererror",
|
||||
"runonserverupdated",
|
||||
"ruserid",
|
||||
"sameorigin",
|
||||
"selfupdate",
|
||||
"selfurl",
|
||||
"senderid",
|
||||
"sendgrid",
|
||||
"sendinviteemail",
|
||||
"serialtunnel",
|
||||
"SERVERBACKUP",
|
||||
"serverfeatures",
|
||||
"serverfiles",
|
||||
"serverhttps",
|
||||
"serverid",
|
||||
"serveridhex",
|
||||
"serverinfo",
|
||||
"serverkey",
|
||||
"servername",
|
||||
"servernoproxy",
|
||||
"serverpath",
|
||||
"serverpic",
|
||||
"serverport",
|
||||
"SERVERRESTORE",
|
||||
"servertlshash",
|
||||
"serverupdate",
|
||||
"servicename",
|
||||
"servicepath",
|
||||
"sessioncode",
|
||||
"sessionkey",
|
||||
"sessionrecording",
|
||||
"sessionsamesite",
|
||||
"sessiontime",
|
||||
"setbad",
|
||||
"SETNOTES",
|
||||
"settodomain",
|
||||
"sftpconnect",
|
||||
"shareid",
|
||||
"showagents",
|
||||
"showall",
|
||||
"showallmeshes",
|
||||
"showevents",
|
||||
|
@ -428,20 +713,31 @@
|
|||
"showitem",
|
||||
"showmeshes",
|
||||
"shownodes",
|
||||
"showpasswordlogin",
|
||||
"showpower",
|
||||
"showsmbios",
|
||||
"showusergroups",
|
||||
"showusers",
|
||||
"showversion",
|
||||
"siteadmin",
|
||||
"SITERIGHT",
|
||||
"sitestyle",
|
||||
"smsserver",
|
||||
"specificupdate",
|
||||
"splitip",
|
||||
"splitpath",
|
||||
"spliturl",
|
||||
"srights",
|
||||
"sshconnect",
|
||||
"sshfilesrelay",
|
||||
"sshport",
|
||||
"sshrelay",
|
||||
"sshterminalrelay",
|
||||
"ssid",
|
||||
"sspi",
|
||||
"startack",
|
||||
"statsevents",
|
||||
"stricttransportsecurity",
|
||||
"Strs",
|
||||
"subdir",
|
||||
"swarmallowedip",
|
||||
|
@ -451,86 +747,171 @@
|
|||
"syslogauth",
|
||||
"syslogjson",
|
||||
"syslogtcp",
|
||||
"tcpport",
|
||||
"telnyx",
|
||||
"temail",
|
||||
"tenantid",
|
||||
"terminalnotify",
|
||||
"terminalprompt",
|
||||
"termsize",
|
||||
"timedoc",
|
||||
"titleid",
|
||||
"titlepicture",
|
||||
"tkip",
|
||||
"tlscertcheck",
|
||||
"tlshash",
|
||||
"tlsock",
|
||||
"tlsoffload",
|
||||
"tlsoptions",
|
||||
"tlsrootcert",
|
||||
"tlsstrict",
|
||||
"tmpdl",
|
||||
"tokenemail",
|
||||
"tokenlogin",
|
||||
"tokenpassword",
|
||||
"tokenpush",
|
||||
"tokenrequired",
|
||||
"tokensms",
|
||||
"tokenurl",
|
||||
"tokenuserid",
|
||||
"tokenusername",
|
||||
"totalsize",
|
||||
"tpass",
|
||||
"tpassword",
|
||||
"tpush",
|
||||
"traefik",
|
||||
"translateall",
|
||||
"translationpath",
|
||||
"trustedcert",
|
||||
"trustedproxy",
|
||||
"tsms",
|
||||
"TTLS",
|
||||
"tunnelws",
|
||||
"tunnelwsstate",
|
||||
"tuser",
|
||||
"tuserid",
|
||||
"tusername",
|
||||
"twofactor",
|
||||
"twofactorcookiedurationdays",
|
||||
"twofactortimeout",
|
||||
"tzoffset",
|
||||
"uaparser",
|
||||
"ucookie",
|
||||
"ugroup",
|
||||
"ugroups",
|
||||
"ugrp",
|
||||
"ugrpid",
|
||||
"uicustomevent",
|
||||
"unadmin",
|
||||
"unknownuserrootredirect",
|
||||
"unsealkey",
|
||||
"updatefiles",
|
||||
"uploadack",
|
||||
"uploaderror",
|
||||
"uploadfile",
|
||||
"uploadfilebatch",
|
||||
"uploadmeshcorefile",
|
||||
"uploadstart",
|
||||
"urlpath",
|
||||
"urlswitching",
|
||||
"useid",
|
||||
"userallowedip",
|
||||
"userblockedip",
|
||||
"userbroadcast",
|
||||
"userconsentflags",
|
||||
"usercount",
|
||||
"userex",
|
||||
"userfiles",
|
||||
"usergroupchange",
|
||||
"usergroups",
|
||||
"userid",
|
||||
"userids",
|
||||
"userimage",
|
||||
"userinfourl",
|
||||
"usernameisemail",
|
||||
"userquota",
|
||||
"userrequiredhttpheader",
|
||||
"Usersessionidletimeout",
|
||||
"usersid",
|
||||
"usersplit",
|
||||
"vaultdeleteconfigfiles",
|
||||
"vaultpullconfigfiles",
|
||||
"vaultpushconfigfiles",
|
||||
"verifyemail",
|
||||
"Viewmode",
|
||||
"viewonly",
|
||||
"WAKEDEVICE",
|
||||
"wakedevices",
|
||||
"Walkthru",
|
||||
"wanonly",
|
||||
"Webauthn",
|
||||
"webcerthash",
|
||||
"webdefault",
|
||||
"webemailspath",
|
||||
"webider",
|
||||
"webpublicpath",
|
||||
"webpush",
|
||||
"webrelay",
|
||||
"webrelaydata",
|
||||
"webrelayserver",
|
||||
"webrequest",
|
||||
"webrtc",
|
||||
"webrtconfig",
|
||||
"webserver",
|
||||
"websockets",
|
||||
"WEBSSL",
|
||||
"webstate",
|
||||
"webviewspath",
|
||||
"WELCOMEMSG",
|
||||
"welcomepicture",
|
||||
"welcomepicturefullscreen",
|
||||
"welcometext",
|
||||
"wgetoptionshttp",
|
||||
"wgetoptionshttps",
|
||||
"wildleek",
|
||||
"winassistant",
|
||||
"winpath",
|
||||
"winrouter",
|
||||
"winservice",
|
||||
"wsagents",
|
||||
"wscompression",
|
||||
"wsrelays",
|
||||
"wssessioncount",
|
||||
"wssessions",
|
||||
"xarg",
|
||||
"xbytes",
|
||||
"xcmd",
|
||||
"xdomain",
|
||||
"xdomains",
|
||||
"xenv",
|
||||
"xevents",
|
||||
"xfile",
|
||||
"xfilelen",
|
||||
"xfilepath",
|
||||
"xflags",
|
||||
"xforwardedhost",
|
||||
"xinstall",
|
||||
"xjslint",
|
||||
"xmeshes",
|
||||
"xpad",
|
||||
"xpassword",
|
||||
"xrelay",
|
||||
"xrestart",
|
||||
"xstate",
|
||||
"xtls",
|
||||
"xtransport",
|
||||
"xuninstall",
|
||||
"xuserid",
|
||||
"xusername",
|
||||
"xxdata",
|
||||
"xxprocess",
|
||||
"xxurl",
|
||||
"xxuser",
|
||||
"xxxprocess",
|
||||
"Ylian",
|
||||
"yubikey"
|
||||
"yubikey",
|
||||
"yubikeyotp",
|
||||
"zdata",
|
||||
"zipfile"
|
||||
]
|
||||
}
|
42
webserver.js
42
webserver.js
|
@ -199,7 +199,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
obj.wsPeerSessions3 = {}; // ServerId --> UserId --> [ SessionId ]
|
||||
obj.sessionsCount = {}; // Merged session counters, used when doing server peering. UserId --> SessionCount
|
||||
obj.wsrelays = {}; // Id -> Relay
|
||||
obj.desktoprelays = {}; // Id -> Desktop Multiplexor Relay
|
||||
obj.desktoprelays = {}; // Id -> Desktop Multiplexer Relay
|
||||
obj.wsPeerRelays = {}; // Id -> { ServerId, Time }
|
||||
var tlsSessionStore = {}; // Store TLS session information for quick resume.
|
||||
var tlsSessionStoreCount = 0; // Number of cached TLS session information in store.
|
||||
|
@ -239,7 +239,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
for (i in docs) { var u = obj.users[docs[i]._id] = docs[i]; domainUserCount[u.domain]++; }
|
||||
for (i in parent.config.domains) {
|
||||
if ((parent.config.domains[i].share == null) && (domainUserCount[i] == 0)) {
|
||||
// If newaccounts is set to no new accounts, but no accounts exists, temporarly allow account creation.
|
||||
// If newaccounts is set to no new accounts, but no accounts exists, temporarily allow account creation.
|
||||
//if ((parent.config.domains[i].newaccounts === 0) || (parent.config.domains[i].newaccounts === false)) { parent.config.domains[i].newaccounts = 2; }
|
||||
console.log('Server ' + ((i == '') ? '' : (i + ' ')) + 'has no users, next new account will be site administrator.');
|
||||
}
|
||||
|
@ -431,7 +431,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
if (!user) { fn(new Error('cannot find user')); return; }
|
||||
if ((user.siteadmin) && (user.siteadmin != 0xFFFFFFFF) && (user.siteadmin & 32) != 0) { fn('locked'); return; }
|
||||
|
||||
// Succesful login token authentication
|
||||
// Successful login token authentication
|
||||
var loginOptions = { tokenName: loginToken.name, tokenUser: loginToken.tokenUser };
|
||||
if (loginToken.expire != 0) { loginOptions.expire = loginToken.expire; }
|
||||
return fn(null, user._id, null, loginOptions);
|
||||
|
@ -519,9 +519,9 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
|
||||
// Get the email address for this LDAP user
|
||||
var email = null;
|
||||
if (domain.ldapuseremail) { email = xxuser[domain.ldapuseremail]; } else if (xxuser['mail']) { email = xxuser['mail']; } // Use given feild name or default
|
||||
if (domain.ldapuseremail) { email = xxuser[domain.ldapuseremail]; } else if (xxuser['mail']) { email = xxuser['mail']; } // Use given field name or default
|
||||
if (Array.isArray(email)) { email = email[0]; } // Mail may be multivalued in LDAP in which case, answer is an array. Use the 1st value.
|
||||
if (email) { email = email.toLowerCase(); } // it seems some code elsewhere also lowercase the emailaddress, so let's be consistant.
|
||||
if (email) { email = email.toLowerCase(); } // it seems some code elsewhere also lowercase the emailaddress, so let's be consistent.
|
||||
|
||||
// Get the real name for this LDAP user
|
||||
var realname = null;
|
||||
|
@ -846,7 +846,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
function checkUserOneTimePasswordSkip(domain, user, req, loginOptions) {
|
||||
if (parent.config.settings.no2factorauth == true) return null;
|
||||
|
||||
// If this login occured using a login token, no 2FA needed.
|
||||
// If this login occurred using a login token, no 2FA needed.
|
||||
if ((loginOptions != null) && (typeof loginOptions.tokenName === 'string')) { return { twoFactorType: 'tokenlogin' }; }
|
||||
|
||||
// Check if we can skip 2nd factor auth because of the source IP address
|
||||
|
@ -859,7 +859,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
const cookies = req.headers.cookie.split('; ');
|
||||
for (var i in cookies) {
|
||||
if (cookies[i].startsWith('twofactor=')) {
|
||||
var twoFactorCookie = obj.parent.decodeCookie(decodeURIComponent(cookies[i].substring(10)), obj.parent.loginCookieEncryptionKey, (30 * 24 * 60)); // If the cookies does not have an expire feild, assume 30 day timeout.
|
||||
var twoFactorCookie = obj.parent.decodeCookie(decodeURIComponent(cookies[i].substring(10)), obj.parent.loginCookieEncryptionKey, (30 * 24 * 60)); // If the cookies does not have an expire field, assume 30 day timeout.
|
||||
if ((twoFactorCookie != null) && ((twoFactorCookie.ip == null) || checkCookieIp(twoFactorCookie.ip, req.clientIp)) && (twoFactorCookie.userid == user._id)) { return { twoFactorType: 'cookie' }; }
|
||||
}
|
||||
}
|
||||
|
@ -870,7 +870,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
|
||||
// Return true if this user has 2-step auth active
|
||||
function checkUserOneTimePasswordRequired(domain, user, req, loginOptions) {
|
||||
// If this login occured using a login token, no 2FA needed.
|
||||
// If this login occurred using a login token, no 2FA needed.
|
||||
if ((loginOptions != null) && (typeof loginOptions.tokenName === 'string')) { return false; }
|
||||
|
||||
// Check if we can skip 2nd factor auth because of the source IP address
|
||||
|
@ -883,7 +883,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
const cookies = req.headers.cookie.split('; ');
|
||||
for (var i in cookies) {
|
||||
if (cookies[i].startsWith('twofactor=')) {
|
||||
var twoFactorCookie = obj.parent.decodeCookie(decodeURIComponent(cookies[i].substring(10)), obj.parent.loginCookieEncryptionKey, (30 * 24 * 60)); // If the cookies does not have an expire feild, assume 30 day timeout.
|
||||
var twoFactorCookie = obj.parent.decodeCookie(decodeURIComponent(cookies[i].substring(10)), obj.parent.loginCookieEncryptionKey, (30 * 24 * 60)); // If the cookies does not have an expire field, assume 30 day timeout.
|
||||
if ((twoFactorCookie != null) && ((twoFactorCookie.ip == null) || checkCookieIp(twoFactorCookie.ip, req.clientIp)) && (twoFactorCookie.userid == user._id)) { return false; }
|
||||
}
|
||||
}
|
||||
|
@ -910,7 +910,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
|
||||
// Check 2FA login cookie
|
||||
if ((token != null) && (token.startsWith('cookie='))) {
|
||||
var twoFactorCookie = obj.parent.decodeCookie(decodeURIComponent(token.substring(7)), obj.parent.loginCookieEncryptionKey, (30 * 24 * 60)); // If the cookies does not have an expire feild, assume 30 day timeout.
|
||||
var twoFactorCookie = obj.parent.decodeCookie(decodeURIComponent(token.substring(7)), obj.parent.loginCookieEncryptionKey, (30 * 24 * 60)); // If the cookies does not have an expire field, assume 30 day timeout.
|
||||
if ((twoFactorCookie != null) && ((twoFactorCookie.ip == null) || checkCookieIp(twoFactorCookie.ip, req.clientIp)) && (twoFactorCookie.userid == user._id)) { func(true, { twoFactorType: 'cookie' }); return; }
|
||||
}
|
||||
|
||||
|
@ -1863,7 +1863,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
// Check is email already exists
|
||||
obj.db.GetUserWithVerifiedEmail(domain.id, email, function (err, docs) {
|
||||
if ((err != null) || ((docs.length > 0) && (docs.find(function (u) { return (u._id === req.session.cuserid); }) < 0))) {
|
||||
// Email already exitst
|
||||
// Email already exists
|
||||
req.session.messageid = 102; // Existing account with this email address.
|
||||
} else {
|
||||
// Update the user and notify of user email address change
|
||||
|
@ -2515,8 +2515,8 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
});
|
||||
}
|
||||
|
||||
// Called when a strategy login occured
|
||||
// This is called after a succesful Oauth to Twitter, Google, GitHub...
|
||||
// Called when a strategy login occurred
|
||||
// This is called after a successful Oauth to Twitter, Google, GitHub...
|
||||
function handleStrategyLogin(req, res) {
|
||||
const domain = checkUserIpAddress(req, res);
|
||||
const authStrategy = req.user.strategy
|
||||
|
@ -2817,7 +2817,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
setSessionRandom(req);
|
||||
} else if (req.query.login && (obj.parent.loginCookieEncryptionKey != null)) {
|
||||
var loginCookie = obj.parent.decodeCookie(req.query.login, obj.parent.loginCookieEncryptionKey, 60); // 60 minute timeout
|
||||
//if ((loginCookie != null) && (loginCookie.ip != null) && !checkCookieIp(loginCookie.ip, req.clientIp)) { loginCookie = null; } // If the cookie if binded to an IP address, check here.
|
||||
//if ((loginCookie != null) && (loginCookie.ip != null) && !checkCookieIp(loginCookie.ip, req.clientIp)) { loginCookie = null; } // If the cookie is bound to an IP address, check here.
|
||||
if ((loginCookie != null) && (loginCookie.a == 3) && (loginCookie.u != null) && (loginCookie.u.split('/')[1] == domain.id)) {
|
||||
// If a login cookie was provided, setup the session here.
|
||||
parent.debug('web', 'handleRootRequestEx: cookie auth ok.');
|
||||
|
@ -3942,7 +3942,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
if ((err != null) || (docs == null) || (docs.length != 1)) { res.sendStatus(404); return; }
|
||||
const doc = docs[0];
|
||||
|
||||
// If this is a recurrent share, check if we are at the currect time to make use of it
|
||||
// If this is a recurrent share, check if we are at the correct time to make use of it
|
||||
if (typeof doc.recurring == 'number') {
|
||||
const now = Date.now();
|
||||
if (now >= doc.startTime) { // We don't want to move the validity window before the start time
|
||||
|
@ -4567,7 +4567,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
tlsock.setEncoding('binary');
|
||||
tlsock.on('error', function (err) { parent.debug('webrelay', "CIRA TLS Connection Error", err); });
|
||||
|
||||
// Decrypted tunnel from TLS communcation to be forwarded to websocket
|
||||
// Decrypted tunnel from TLS communication to be forwarded to websocket
|
||||
tlsock.on('data', function (data) {
|
||||
// AMT/TLS ---> WS
|
||||
if (ws.interceptor) { data = ws.interceptor.processAmtData(data); } // Run data thru interceptor
|
||||
|
@ -4615,7 +4615,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
ws.forwardclient.onData = function (ciraconn, data) {
|
||||
//parent.debug('webrelaydata', 'Relay CIRA data to WS', data.length);
|
||||
|
||||
// Run data thru interceptorp
|
||||
// Run data thru interceptor
|
||||
if (ws.interceptor) { data = ws.interceptor.processAmtData(data); }
|
||||
|
||||
//console.log('AMT --> WS', Buffer.from(data, 'binary').toString('hex'));
|
||||
|
@ -4633,7 +4633,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
ws.forwardclient.onSendOk = function (ciraconn) { };
|
||||
}
|
||||
|
||||
// When data is received from the web socket, forward the data into the associated CIRA cahnnel.
|
||||
// When data is received from the web socket, forward the data into the associated CIRA channel.
|
||||
// If the CIRA connection is pending, the CIRA channel has built-in buffering, so we are ok sending anyway.
|
||||
ws.on('message', function (data) {
|
||||
//parent.debug('webrelaydata', 'Relay WS data to CIRA', data.length);
|
||||
|
@ -6703,7 +6703,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
const urlCookie = obj.parent.decodeCookie(req.query.c, parent.loginCookieEncryptionKey, 32); // Allow cookies up to 32 minutes old. The web page will renew this cookie every 30 minutes.
|
||||
if (urlCookie == null) { res.sendStatus(404); return; }
|
||||
|
||||
// Decode the incomign cookie
|
||||
// Decode the incoming cookie
|
||||
if ((urlCookie.ruserid != null) && (urlCookie.x != null)) {
|
||||
if (parent.webserver.destroyedSessions[urlCookie.ruserid + '/' + urlCookie.x] != null) { res.sendStatus(404); return; }
|
||||
|
||||
|
@ -6853,7 +6853,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
|
||||
// Indicates to ExpressJS that the override public folder should be used to serve static files.
|
||||
if (parent.config.domains[i].webpublicpath != null) {
|
||||
// Use domain public pathe
|
||||
// Use domain public path
|
||||
obj.app.use(url, obj.express.static(parent.config.domains[i].webpublicpath));
|
||||
} else if (obj.parent.webPublicOverridePath != null) {
|
||||
// Use override path
|
||||
|
@ -7154,7 +7154,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
|||
// The web relay session is valid, use it
|
||||
relaySession.handleRequest(req, res);
|
||||
} else {
|
||||
// No web relay ession with this relay identifier, close the HTTP request.
|
||||
// No web relay session with this relay identifier, close the HTTP request.
|
||||
res.sendStatus(404);
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue