diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2020-04-30 17:39:11 +0200 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2020-04-30 17:39:11 +0200 |
commit | f0d942ac060bf350dfd0b6babbada69f0671d6bf (patch) | |
tree | cab86e71b9a19aeb3c2f025467b5d5c9c6ec85a4 /pkgs/webapps/etherpad-lite/modules/ep_mypads/fix_ldap.patch | |
parent | 840812f2980b77ea93e74666f80a7e0fe5b633eb (diff) | |
download | Nix-f0d942ac060bf350dfd0b6babbada69f0671d6bf.tar.gz Nix-f0d942ac060bf350dfd0b6babbada69f0671d6bf.tar.zst Nix-f0d942ac060bf350dfd0b6babbada69f0671d6bf.zip |
Add mypads to etherpad
Diffstat (limited to 'pkgs/webapps/etherpad-lite/modules/ep_mypads/fix_ldap.patch')
-rw-r--r-- | pkgs/webapps/etherpad-lite/modules/ep_mypads/fix_ldap.patch | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/pkgs/webapps/etherpad-lite/modules/ep_mypads/fix_ldap.patch b/pkgs/webapps/etherpad-lite/modules/ep_mypads/fix_ldap.patch new file mode 100644 index 0000000..738a066 --- /dev/null +++ b/pkgs/webapps/etherpad-lite/modules/ep_mypads/fix_ldap.patch | |||
@@ -0,0 +1,88 @@ | |||
1 | diff --git a/auth.js b/auth.js | ||
2 | index ce77ee4..de66b03 100644 | ||
3 | --- a/auth.js | ||
4 | +++ b/auth.js | ||
5 | @@ -91,6 +91,7 @@ var cuid = require('cuid'); | ||
6 | var common = require('./model/common.js'); | ||
7 | var user = require('./model/user.js'); | ||
8 | var conf = require('./configuration.js'); | ||
9 | +var utils = require('./utils.js'); | ||
10 | |||
11 | var NOT_INTERNAL_AUTH_PWD = 'soooooo_useless'; | ||
12 | |||
13 | @@ -212,6 +213,7 @@ module.exports = (function () { | ||
14 | } | ||
15 | return callback(new Error(emsg), false); | ||
16 | } | ||
17 | + console.log("before user.get"); | ||
18 | user.get(login, function(err, u) { | ||
19 | var props = ldapConf.properties; | ||
20 | var mail; | ||
21 | @@ -229,27 +231,30 @@ module.exports = (function () { | ||
22 | return callback(new Error(emsg), false); | ||
23 | } | ||
24 | if (err) { | ||
25 | + console.log("in user.get err"); | ||
26 | // We have to create the user in mypads database | ||
27 | ldapConf = conf.get('authLdapSettings'); | ||
28 | user.set({ | ||
29 | - login: ldapuser[props.login], | ||
30 | + login: utils.getSingleton(ldapuser[props.login]), | ||
31 | password: NOT_INTERNAL_AUTH_PWD, | ||
32 | - firstname: ldapuser[props.firstname], | ||
33 | - lastname: ldapuser[props.lastname], | ||
34 | + firstname: utils.getSingleton(ldapuser[props.firstname]), | ||
35 | + lastname: utils.getSingleton(ldapuser[props.lastname]), | ||
36 | email: mail, | ||
37 | lang: ldapConf.defaultLang || 'en' | ||
38 | }, callback); | ||
39 | } else if (u.email !== mail || | ||
40 | - u.firstname !== ldapuser[props.firstname] || | ||
41 | - u.lastname !== ldapuser[props.lastname]) { | ||
42 | + u.firstname !== utils.getSingleton(ldapuser[props.firstname]) || | ||
43 | + u.lastname !== utils.getSingleton(ldapuser[props.lastname])) { | ||
44 | // Update database and cache informations if needed | ||
45 | // (i.e. update from LDAP) | ||
46 | + console.log("in user.get update"); | ||
47 | u.email = mail; | ||
48 | - u.firstname = ldapuser[props.firstname]; | ||
49 | - u.lastname = ldapuser[props.lastname]; | ||
50 | + u.firstname = utils.getSingleton(ldapuser[props.firstname]); | ||
51 | + u.lastname = utils.getSingleton(ldapuser[props.lastname]); | ||
52 | u.password = NOT_INTERNAL_AUTH_PWD; | ||
53 | user.set(u, callback); | ||
54 | } else { | ||
55 | + console.log("in user.get callback"); | ||
56 | return callback(null, u); | ||
57 | } | ||
58 | }); | ||
59 | diff --git a/model/common.js b/model/common.js | ||
60 | index b19829b..9421742 100644 | ||
61 | --- a/model/common.js | ||
62 | +++ b/model/common.js | ||
63 | @@ -94,6 +94,7 @@ module.exports = (function() { | ||
64 | var isFS = function (s) { return (ld.isString(s) && !ld.isEmpty(s)); }; | ||
65 | ld.forEach(strFields, function (s) { | ||
66 | if (!isFS(params[s])) { | ||
67 | + console.log(params, s); | ||
68 | throw new TypeError('BACKEND.ERROR.TYPE.PARAM_STR'); | ||
69 | } | ||
70 | if (s.length > 100) { | ||
71 | diff --git a/utils.js b/utils.js | ||
72 | index 32c2727..d381d06 100644 | ||
73 | --- a/utils.js | ||
74 | +++ b/utils.js | ||
75 | @@ -14,3 +14,13 @@ exports.callbackify2 = function (fun) { | ||
76 | return wrapPromise(fun(arg1, arg2), cb); | ||
77 | }; | ||
78 | }; | ||
79 | + | ||
80 | +exports.getSingleton = function (stringOrArray) { | ||
81 | + if (Array.isArray(stringOrArray)) { | ||
82 | + if (stringOrArray.length > 0) { | ||
83 | + return stringOrArray[0]; | ||
84 | + } | ||
85 | + } else if (stringOrArray) { | ||
86 | + return stringOrArray; | ||
87 | + } | ||
88 | +} | ||