First commit
This commit is contained in:
47
node_modules/ldapjs/lib/errors/codes.js
generated
vendored
Normal file
47
node_modules/ldapjs/lib/errors/codes.js
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = {
|
||||
LDAP_SUCCESS: 0,
|
||||
LDAP_OPERATIONS_ERROR: 1,
|
||||
LDAP_PROTOCOL_ERROR: 2,
|
||||
LDAP_TIME_LIMIT_EXCEEDED: 3,
|
||||
LDAP_SIZE_LIMIT_EXCEEDED: 4,
|
||||
LDAP_COMPARE_FALSE: 5,
|
||||
LDAP_COMPARE_TRUE: 6,
|
||||
LDAP_AUTH_METHOD_NOT_SUPPORTED: 7,
|
||||
LDAP_STRONG_AUTH_REQUIRED: 8,
|
||||
LDAP_REFERRAL: 10,
|
||||
LDAP_ADMIN_LIMIT_EXCEEDED: 11,
|
||||
LDAP_UNAVAILABLE_CRITICAL_EXTENSION: 12,
|
||||
LDAP_CONFIDENTIALITY_REQUIRED: 13,
|
||||
LDAP_SASL_BIND_IN_PROGRESS: 14,
|
||||
LDAP_NO_SUCH_ATTRIBUTE: 16,
|
||||
LDAP_UNDEFINED_ATTRIBUTE_TYPE: 17,
|
||||
LDAP_INAPPROPRIATE_MATCHING: 18,
|
||||
LDAP_CONSTRAINT_VIOLATION: 19,
|
||||
LDAP_ATTRIBUTE_OR_VALUE_EXISTS: 20,
|
||||
LDAP_INVALID_ATTRIBUTE_SYNTAX: 21,
|
||||
LDAP_NO_SUCH_OBJECT: 32,
|
||||
LDAP_ALIAS_PROBLEM: 33,
|
||||
LDAP_INVALID_DN_SYNTAX: 34,
|
||||
LDAP_ALIAS_DEREF_PROBLEM: 36,
|
||||
LDAP_INAPPROPRIATE_AUTHENTICATION: 48,
|
||||
LDAP_INVALID_CREDENTIALS: 49,
|
||||
LDAP_INSUFFICIENT_ACCESS_RIGHTS: 50,
|
||||
LDAP_BUSY: 51,
|
||||
LDAP_UNAVAILABLE: 52,
|
||||
LDAP_UNWILLING_TO_PERFORM: 53,
|
||||
LDAP_LOOP_DETECT: 54,
|
||||
LDAP_SORT_CONTROL_MISSING: 60,
|
||||
LDAP_INDEX_RANGE_ERROR: 61,
|
||||
LDAP_NAMING_VIOLATION: 64,
|
||||
LDAP_OBJECTCLASS_VIOLATION: 65,
|
||||
LDAP_NOT_ALLOWED_ON_NON_LEAF: 66,
|
||||
LDAP_NOT_ALLOWED_ON_RDN: 67,
|
||||
LDAP_ENTRY_ALREADY_EXISTS: 68,
|
||||
LDAP_OBJECTCLASS_MODS_PROHIBITED: 69,
|
||||
LDAP_AFFECTS_MULTIPLE_DSAS: 71,
|
||||
LDAP_CONTROL_ERROR: 76,
|
||||
LDAP_OTHER: 80,
|
||||
LDAP_PROXIED_AUTHORIZATION_DENIED: 123
|
||||
}
|
||||
147
node_modules/ldapjs/lib/errors/index.js
generated
vendored
Normal file
147
node_modules/ldapjs/lib/errors/index.js
generated
vendored
Normal file
@ -0,0 +1,147 @@
|
||||
'use strict'
|
||||
|
||||
const util = require('util')
|
||||
const assert = require('assert-plus')
|
||||
|
||||
const LDAPResult = require('../messages').LDAPResult
|
||||
|
||||
/// --- Globals
|
||||
|
||||
const CODES = require('./codes')
|
||||
const ERRORS = []
|
||||
|
||||
/// --- Error Base class
|
||||
|
||||
function LDAPError (message, dn, caller) {
|
||||
if (Error.captureStackTrace) { Error.captureStackTrace(this, caller || LDAPError) }
|
||||
|
||||
this.lde_message = message
|
||||
this.lde_dn = dn
|
||||
}
|
||||
util.inherits(LDAPError, Error)
|
||||
Object.defineProperties(LDAPError.prototype, {
|
||||
name: {
|
||||
get: function getName () { return 'LDAPError' },
|
||||
configurable: false
|
||||
},
|
||||
code: {
|
||||
get: function getCode () { return CODES.LDAP_OTHER },
|
||||
configurable: false
|
||||
},
|
||||
message: {
|
||||
get: function getMessage () {
|
||||
return this.lde_message || this.name
|
||||
},
|
||||
set: function setMessage (message) {
|
||||
this.lde_message = message
|
||||
},
|
||||
configurable: false
|
||||
},
|
||||
dn: {
|
||||
get: function getDN () {
|
||||
return (this.lde_dn ? this.lde_dn.toString() : '')
|
||||
},
|
||||
configurable: false
|
||||
}
|
||||
})
|
||||
|
||||
/// --- Exported API
|
||||
|
||||
module.exports = {}
|
||||
module.exports.LDAPError = LDAPError
|
||||
|
||||
// Some whacky games here to make sure all the codes are exported
|
||||
Object.keys(CODES).forEach(function (code) {
|
||||
module.exports[code] = CODES[code]
|
||||
if (code === 'LDAP_SUCCESS') { return }
|
||||
|
||||
let err = ''
|
||||
let msg = ''
|
||||
const pieces = code.split('_').slice(1)
|
||||
for (let i = 0; i < pieces.length; i++) {
|
||||
const lc = pieces[i].toLowerCase()
|
||||
const key = lc.charAt(0).toUpperCase() + lc.slice(1)
|
||||
err += key
|
||||
msg += key + ((i + 1) < pieces.length ? ' ' : '')
|
||||
}
|
||||
|
||||
if (!/\w+Error$/.test(err)) { err += 'Error' }
|
||||
|
||||
// At this point LDAP_OPERATIONS_ERROR is now OperationsError in $err
|
||||
// and 'Operations Error' in $msg
|
||||
module.exports[err] = function (message, dn, caller) {
|
||||
LDAPError.call(this, message, dn, caller || module.exports[err])
|
||||
}
|
||||
module.exports[err].constructor = module.exports[err]
|
||||
util.inherits(module.exports[err], LDAPError)
|
||||
Object.defineProperties(module.exports[err].prototype, {
|
||||
name: {
|
||||
get: function getName () { return err },
|
||||
configurable: false
|
||||
},
|
||||
code: {
|
||||
get: function getCode () { return CODES[code] },
|
||||
configurable: false
|
||||
}
|
||||
})
|
||||
|
||||
ERRORS[CODES[code]] = {
|
||||
err,
|
||||
message: msg
|
||||
}
|
||||
})
|
||||
|
||||
module.exports.getError = function (res) {
|
||||
assert.ok(res instanceof LDAPResult, 'res (LDAPResult) required')
|
||||
|
||||
const errObj = ERRORS[res.status]
|
||||
const E = module.exports[errObj.err]
|
||||
return new E(res.errorMessage || errObj.message,
|
||||
res.matchedDN || null,
|
||||
module.exports.getError)
|
||||
}
|
||||
|
||||
module.exports.getMessage = function (code) {
|
||||
assert.number(code, 'code (number) required')
|
||||
|
||||
const errObj = ERRORS[code]
|
||||
return (errObj && errObj.message ? errObj.message : '')
|
||||
}
|
||||
|
||||
/// --- Custom application errors
|
||||
|
||||
function ConnectionError (message) {
|
||||
LDAPError.call(this, message, null, ConnectionError)
|
||||
}
|
||||
util.inherits(ConnectionError, LDAPError)
|
||||
module.exports.ConnectionError = ConnectionError
|
||||
Object.defineProperties(ConnectionError.prototype, {
|
||||
name: {
|
||||
get: function () { return 'ConnectionError' },
|
||||
configurable: false
|
||||
}
|
||||
})
|
||||
|
||||
function AbandonedError (message) {
|
||||
LDAPError.call(this, message, null, AbandonedError)
|
||||
}
|
||||
util.inherits(AbandonedError, LDAPError)
|
||||
module.exports.AbandonedError = AbandonedError
|
||||
Object.defineProperties(AbandonedError.prototype, {
|
||||
name: {
|
||||
get: function () { return 'AbandonedError' },
|
||||
configurable: false
|
||||
}
|
||||
})
|
||||
|
||||
function TimeoutError (message) {
|
||||
LDAPError.call(this, message, null, TimeoutError)
|
||||
}
|
||||
util.inherits(TimeoutError, LDAPError)
|
||||
module.exports.TimeoutError = TimeoutError
|
||||
Object.defineProperties(TimeoutError.prototype, {
|
||||
name: {
|
||||
get: function () { return 'TimeoutError' },
|
||||
configurable: false
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user