diff --git a/packages/wekan-ldap/server/ldap.js b/packages/wekan-ldap/server/ldap.js index bf294956c..428196423 100644 --- a/packages/wekan-ldap/server/ldap.js +++ b/packages/wekan-ldap/server/ldap.js @@ -1,5 +1,4 @@ import ldapjs from 'ldapjs'; -import util from 'util'; import { Log } from 'meteor/logging'; // copied from https://github.com/ldapjs/node-ldapjs/blob/a113953e0d91211eb945d2a3952c84b7af6de41c/lib/filters/index.js#L167 @@ -40,7 +39,7 @@ export default class LDAP { Authentication_Password : this.constructor.settings_get('LDAP_AUTHENTIFICATION_PASSWORD'), Authentication_Fallback : this.constructor.settings_get('LDAP_LOGIN_FALLBACK'), BaseDN : this.constructor.settings_get('LDAP_BASEDN'), - Internal_Log_Level : this.constructor.settings_get('INTERNAL_LOG_LEVEL'), + Internal_Log_Level : this.constructor.settings_get('INTERNAL_LOG_LEVEL'), //this setting does not have any effect any more and should be deprecated User_Authentication : this.constructor.settings_get('LDAP_USER_AUTHENTICATION'), User_Authentication_Field : this.constructor.settings_get('LDAP_USER_AUTHENTICATION_FIELD'), User_Attributes : this.constructor.settings_get('LDAP_USER_ATTRIBUTES'), @@ -102,15 +101,6 @@ export default class LDAP { reconnect : this.options.Reconnect, }; - if (this.options.Internal_Log_Level !== 'disabled') { - connectionOptions.log = new Bunyan({ - name : 'ldapjs', - component: 'client', - stream : process.stderr, - level : this.options.Internal_Log_Level, - }); - } - const tlsOptions = { rejectUnauthorized: this.options.reject_unauthorized, }; @@ -137,15 +127,15 @@ export default class LDAP { connectionOptions.url = `ldap://${connectionOptions.url}`; } - Log.info('Connecting', connectionOptions.url); - Log.debug(`connectionOptions${util.inspect(connectionOptions)}`); + Log.info(`Connecting ${connectionOptions.url}`); + Log.debug(`connectionOptions ${JSON.stringify(connectionOptions)}`); this.client = ldapjs.createClient(connectionOptions); this.bindSync = Meteor.wrapAsync(this.client.bind, this.client); this.client.on('error', (error) => { - Log.error('connection', error); + Log.error(`connection ${error}`); if (replied === false) { replied = true; callback(error, null); @@ -168,11 +158,11 @@ export default class LDAP { tlsOptions.host = this.options.host; Log.info('Starting TLS'); - Log.debug('tlsOptions', tlsOptions); + Log.debug(`tlsOptions ${JSON.stringify(tlsOptions)}`); this.client.starttls(tlsOptions, null, (error, response) => { if (error) { - Log.error('TLS connection', error); + Log.error(`TLS connection ${JSON.stringify(error)}`); if (replied === false) { replied = true; callback(error, null); @@ -200,7 +190,7 @@ export default class LDAP { setTimeout(() => { if (replied === false) { - Log.error('connection time out', connectionOptions.connectTimeout); + Log.error(`connection time out ${connectionOptions.connectTimeout}`); replied = true; callback(new Error('Timeout')); } @@ -251,7 +241,7 @@ export default class LDAP { userDn = `${this.options.User_Authentication_Field}=${username},${this.options.BaseDN}`; } - Log.info('Binding with User', userDn); + Log.info(`Binding with User ${userDn}`); this.bindSync(userDn, password); this.domainBinded = true; @@ -266,7 +256,7 @@ export default class LDAP { return; } - Log.info('Binding UserDN', this.options.Authentication_UserDN); + Log.info(`Binding UserDN ${this.options.Authentication_UserDN}`); this.bindSync(this.options.Authentication_UserDN, this.options.Authentication_Password); this.domainBinded = true; @@ -289,9 +279,9 @@ export default class LDAP { }; } - Log.info('Searching user', username); - Log.debug('searchOptions', searchOptions); - Log.debug('BaseDN', this.options.BaseDN); + Log.info(`Searching user ${username}`); + Log.debug(`searchOptions ${searchOptions}`); + Log.debug(`BaseDN ${this.options.BaseDN}`); if (page) { return this.searchAllPaged(this.options.BaseDN, searchOptions, page); @@ -329,9 +319,9 @@ export default class LDAP { scope: 'sub', }; - Log.info('Searching by id', id); - Log.debug('search filter', searchOptions.filter.toString()); - Log.debug('BaseDN', this.options.BaseDN); + Log.info(`Searching by id ${id}`); + Log.debug(`search filter ${searchOptions.filter.toString()}`); + Log.debug(`BaseDN ${this.options.BaseDN}`); const result = this.searchAllSync(this.options.BaseDN, searchOptions); @@ -340,7 +330,7 @@ export default class LDAP { } if (result.length > 1) { - Log.error('Search by id', id, 'returned', result.length, 'records'); + Log.error(`Search by id ${id} returned ${result.length} records`); } return result[0]; @@ -354,9 +344,9 @@ export default class LDAP { scope : this.options.User_Search_Scope || 'sub', }; - Log.info('Searching user', username); - Log.debug('searchOptions', searchOptions); - Log.debug('BaseDN', this.options.BaseDN); + Log.info(`Searching user ${username}`); + Log.debug(`searchOptions ${searchOptions}`); + Log.debug(`BaseDN ${this.options.BaseDN}`); const result = this.searchAllSync(this.options.BaseDN, searchOptions); @@ -365,7 +355,7 @@ export default class LDAP { } if (result.length > 1) { - Log.error('Search by username', username, 'returned', result.length, 'records'); + Log.error(`Search by username ${username} returned ${result.length} records`); } return result[0]; @@ -396,7 +386,7 @@ export default class LDAP { scope : 'sub', }; - Log.debug('Group list filter LDAP:', searchOptions.filter); + Log.debug(`Group list filter LDAP: ${searchOptions.filter}`); const result = this.searchAllSync(this.options.BaseDN, searchOptions); @@ -444,7 +434,7 @@ export default class LDAP { scope : 'sub', }; - Log.debug('Group filter LDAP:', searchOptions.filter); + Log.debug(`Group filter LDAP: ${searchOptions.filter}`); const result = this.searchAllSync(this.options.BaseDN, searchOptions); @@ -576,24 +566,24 @@ export default class LDAP { }); res.on('end', () => { - Log.info('Search result count', entries.length); + Log.info(`Search result count ${entries.length}`); callback(null, entries); }); }); } authSync(dn, password) { - Log.info('Authenticating', dn); + Log.info(`Authenticating ${dn}`); try { if (password === '') { throw new Error('Password is not provided'); } this.bindSync(dn, password); - Log.info('Authenticated', dn); + Log.info(`Authenticated ${dn}`); return true; } catch (error) { - Log.info('Not authenticated', dn); + Log.info(`Not authenticated ${dn}`); Log.debug('error', error); return false; }