LDAP fix for #3119
Ylian Saint-Hilaire committed
Sep 11, 2021 at 12:55 UTC
c0a61b4ec1542fb080ec23dc76d97b068b99d9c7
3 files changed
+16
-14
MeshCentralServer.njsproj
+2
@@ -643,6 +643,7 @@
643
<Folder Include="typings\globals\is-plain-object\" />
644
<Folder Include="typings\globals\jsbn\" />
645
<Folder Include="typings\globals\klaw\" />
646
+ <Folder Include="typings\globals\lru-cache\" />
647
<Folder Include="typings\globals\marked\" />
648
<Folder Include="typings\globals\moment\" />
649
<Folder Include="typings\globals\node-forge\" />
@@ -673,6 +674,7 @@
674
<TypeScriptCompile Include="typings\globals\is-plain-object\index.d.ts" />
675
<TypeScriptCompile Include="typings\globals\jsbn\index.d.ts" />
676
<TypeScriptCompile Include="typings\globals\klaw\index.d.ts" />
677
+ <TypeScriptCompile Include="typings\globals\lru-cache\index.d.ts" />
678
<TypeScriptCompile Include="typings\globals\marked\index.d.ts" />
679
<TypeScriptCompile Include="typings\globals\moment\index.d.ts" />
680
<TypeScriptCompile Include="typings\globals\node-forge\index.d.ts" />
views/default.handlebars
+4
-1
@@ -12895,7 +12895,10 @@
12895
123: "Left Web-SSH session after {0} second(s).",
12896
124: "Left Web-SFTP session after {0} second(s).",
12897
125: "Left Web-RDP session after {0} second(s).",
12898
- 126: "Left Web-VNC session after {0} second(s)."
12898
+ 126: "Left Web-VNC session after {0} second(s).",
12899
+ 127: "Changed account display name to {0}.",
12900
+ 128: "Account created, name is {0}.",
12901
+ 129: "Removed account display name."
12902
};
12903
12904
// Highlights the device being hovered
webserver.js
+10
-13
@@ -457,8 +457,8 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
457
else if (xxuser.name) { shortname = xxuser.name; }
458
else if (xxuser.cn) { shortname = xxuser.cn; }
459
}
460
- if (username == null) { fn(new Error('no user name')); return; }
460
if (shortname == null) { fn(new Error('no user identifier')); return; }
461
+ if (username == null) { username = shortname; }
462
var userid = 'user/' + domain.id + '/' + shortname;
463
var user = obj.users[userid];
464
var email = null;
@@ -499,7 +499,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
499
db.Set(ugroup);
500
501
// Notify user group change
502
- var event = { etype: 'ugrp', ugrpid: ugroup._id, name: ugroup.name, desc: ugroup.desc, action: 'usergroupchange', links: ugroup.links, msg: 'Added user ' + user.name + ' to user group ' + ugroup.name, addUserDomain: domain.id };
502
+ var event = { etype: 'ugrp', ugrpid: ugroup._id, name: ugroup.name, desc: ugroup.desc, action: 'usergroupchange', links: ugroup.links, msgid: 71, msgArgs: [user.name, ugroup.name], msg: 'Added user ' + user.name + ' to user group ' + ugroup.name, addUserDomain: domain.id };
503
if (db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user group. Another event will come.
504
parent.DispatchEvent(['*', ugroup._id, user._id], obj, event);
505
}
@@ -508,7 +508,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
508
509
obj.users[user._id] = user;
510
obj.db.SetUser(user);
511
- var event = { etype: 'user', userid: userid, username: username, account: obj.CloneSafeUser(user), action: 'accountcreate', msg: 'Account created, name is ' + name, domain: domain.id };
511
+ var event = { etype: 'user', userid: user._id, username: user.name, account: obj.CloneSafeUser(user), action: 'accountcreate', msgid: 128, msgArgs: [user.name], msg: 'Account created, name is ' + user.name, domain: domain.id };
512
if (obj.db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to create the user. Another event will come.
513
obj.parent.DispatchEvent(['*', 'server-users'], obj, event);
514
return fn(null, user._id);
@@ -518,7 +518,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
518
if (user.name != username) {
519
user.name = username;
520
obj.db.SetUser(user);
521
- var event = { etype: 'user', userid: userid, username: user.name, account: obj.CloneSafeUser(user), action: 'accountchange', msg: 'Changed account display name to ' + username, domain: domain.id };
521
+ var event = { etype: 'user', userid: user._id, username: user.name, account: obj.CloneSafeUser(user), action: 'accountchange', msgid: 127, msgArgs: [user.name], msg: 'Changed account display name to ' + user.name, domain: domain.id };
522
if (obj.db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user. Another event will come.
523
parent.DispatchEvent(['*', 'server-users', user._id], obj, event);
524
}
@@ -578,18 +578,15 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
578
else if (xxuser.name) { shortname = xxuser.name; }
579
else if (xxuser.cn) { shortname = xxuser.cn; }
580
}
581
- if (username == null) { fn(new Error('no user name')); return; }
581
if (shortname == null) { fn(new Error('no user identifier')); return; }
582
+ if (username == null) { username = shortname; }
583
var userid = 'user/' + domain.id + '/' + shortname;
584
var user = obj.users[userid];
585
586
if (user == null) {
587
// This user does not exist, create a new account.
588
- var user = { type: 'user', _id: userid, name: shortname, creation: Math.floor(Date.now() / 1000), login: Math.floor(Date.now() / 1000), domain: domain.id };
589
- if (email) {
590
- user['email'] = email;
591
- user['emailVerified'] = true;
592
- }
588
+ var user = { type: 'user', _id: userid, name: username, creation: Math.floor(Date.now() / 1000), login: Math.floor(Date.now() / 1000), domain: domain.id };
589
+ if (email) { user['email'] = email; user['emailVerified'] = true; }
590
if (domain.newaccountsrights) { user.siteadmin = domain.newaccountsrights; }
591
if (obj.common.validateStrArray(domain.newaccountrealms)) { user.groups = domain.newaccountrealms; }
592
var usercount = 0;
@@ -612,7 +609,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
609
db.Set(ugroup);
610
611
// Notify user group change
615
- var event = { etype: 'ugrp', ugrpid: ugroup._id, name: ugroup.name, desc: ugroup.desc, action: 'usergroupchange', links: ugroup.links, msg: 'Added user ' + user.name + ' to user group ' + ugroup.name, addUserDomain: domain.id };
612
+ var event = { etype: 'ugrp', ugrpid: ugroup._id, name: ugroup.name, desc: ugroup.desc, action: 'usergroupchange', links: ugroup.links, msgid: 71, msgArgs: [user.name, ugroup.name], msg: 'Added user ' + user.name + ' to user group ' + ugroup.name, addUserDomain: domain.id };
613
if (db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user group. Another event will come.
614
parent.DispatchEvent(['*', ugroup._id, user._id], obj, event);
615
}
@@ -621,7 +618,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
618
619
obj.users[user._id] = user;
620
obj.db.SetUser(user);
624
- var event = { etype: 'user', userid: user._id, username: user.name, account: obj.CloneSafeUser(user), action: 'accountcreate', msg: 'Account created, name is ' + name, domain: domain.id };
621
+ var event = { etype: 'user', userid: user._id, username: user.name, account: obj.CloneSafeUser(user), action: 'accountcreate', msgid: 128, msgArgs: [user.name], msg: 'Account created, name is ' + user.name, domain: domain.id };
622
if (obj.db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to create the user. Another event will come.
623
obj.parent.DispatchEvent(['*', 'server-users'], obj, event);
624
return fn(null, user._id);
@@ -631,7 +628,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
628
if (user.name != username) {
629
user.name = username;
630
obj.db.SetUser(user);
634
- var event = { etype: 'user', userid: user._id, username: user.name, account: obj.CloneSafeUser(user), action: 'accountchange', msg: 'Changed account display name to ' + username, domain: domain.id };
631
+ var event = { etype: 'user', userid: user._id, username: user.name, account: obj.CloneSafeUser(user), action: 'accountchange', msgid: 127, msgArgs: [user.name], msg: 'Changed account display name to ' + user.name, domain: domain.id };
632
if (obj.db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user. Another event will come.
633
parent.DispatchEvent(['*', 'server-users', user._id], obj, event);
634
}