Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@nikitajs/ldap

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nikitajs/ldap - npm Package Compare versions

Comparing version 1.0.0-alpha.1 to 1.0.0-alpha.2

README.md

11

CHANGELOG.md

@@ -6,2 +6,13 @@ # Change Log

# [1.0.0-alpha.2](https://github.com/adaltas/node-nikita/compare/@nikitajs/ldap@1.0.0-alpha.1...@nikitajs/ldap@1.0.0-alpha.2) (2021-08-30)
### Features
* **ldap:** schema migration ([d265f2e](https://github.com/adaltas/node-nikita/commit/d265f2e4a27d5827478742cb92f53ce710adbaa0))
# [1.0.0-alpha.1](https://github.com/adaltas/node-nikita/compare/@nikitajs/ldap@1.0.0-alpha.0...@nikitajs/ldap@1.0.0-alpha.1) (2021-03-10)

@@ -8,0 +19,0 @@

86

lib/acl.js

@@ -30,3 +30,3 @@ // Generated by CoffeeScript 2.5.1

// ## Hooks
var handler, is_object_literal, merge, on_action, schema, utils;
var definitions, handler, is_object_literal, merge, on_action, utils;

@@ -39,48 +39,50 @@ on_action = function({config}) {

// ## Schema
schema = {
type: 'object',
properties: {
'acls': {
type: 'array',
description: `In case of multiple acls, regroup "place_before", "to" and "by" as an
// ## Schema definitions
definitions = {
config: {
type: 'object',
properties: {
'acls': {
type: 'array',
description: `In case of multiple acls, regroup "place_before", "to" and "by" as an
array.`,
items: {
type: 'object',
properties: {
'by': {
type: 'array',
items: {
type: 'string'
items: {
type: 'object',
properties: {
'by': {
type: 'array',
items: {
type: 'string'
},
description: `Who to grant access to and the access to grant as an array (eg:
\`{..., by:["ssf=64 anonymous auth"]}\`).`
},
description: `Who to grant access to and the access to grant as an array (eg:
\`{..., by:["ssf=64 anonymous auth"]}\`).`
},
'first': {
type: 'boolean',
description: `Please ACL in the first position.`
},
'place_before': {
type: 'string',
description: `Place before another rule defined by "to".`
},
'to': {
type: 'string',
description: `What to control access to as a string.`
'first': {
type: 'boolean',
description: `Please ACL in the first position.`
},
'place_before': {
type: 'string',
description: `Place before another rule defined by "to".`
},
'to': {
type: 'string',
description: `What to control access to as a string.`
}
}
}
},
'dn': {
type: 'string',
description: `Distinguish name storing the "olcAccess" property, using the database
address (eg: "olcDatabase={2}bdb,cn=config").`
},
'suffix': {
type: 'string',
description: `The suffix associated with the database (eg: "dc=example,dc=org"),
used as an alternative to the \`dn\` configuration.`
}
},
'dn': {
type: 'string',
description: `Distinguish name storing the "olcAccess" property, using the database
address (eg: "olcDatabase={2}bdb,cn=config").`
},
'suffix': {
type: 'string',
description: `The suffix associated with the database (eg: "dc=example,dc=org"),
used as an alternative to the \`dn\` configuration.`
}
},
required: ['acls']
required: ['acls']
}
};

@@ -281,3 +283,3 @@

global: 'ldap',
schema: schema
definitions: definitions
}

@@ -284,0 +286,0 @@ };

@@ -25,3 +25,3 @@ // Generated by CoffeeScript 2.5.1

// ## Hooks
var handler, on_action, schema, utils;
var definitions, handler, on_action, utils;

@@ -34,43 +34,45 @@ on_action = function({config}) {

// ## Schema
schema = {
type: 'object',
properties: {
'entry': {
type: 'array',
items: {
type: 'object',
properties: {
'dn': {
type: 'string',
description: `Distinguish name of the entry`
}
// ## Schema definitions
definitions = {
config: {
type: 'object',
properties: {
'entry': {
type: 'array',
items: {
type: 'object',
properties: {
'dn': {
type: 'string',
description: `Distinguish name of the entry`
}
},
required: ['dn']
},
required: ['dn']
description: `Object to be inserted or modified.`
},
description: `Object to be inserted or modified.`
},
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'mesh': {
type: 'string',
description: `Specify the SASL mechanism to be used for authentication. If it's not
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'mesh': {
type: 'string',
description: `Specify the SASL mechanism to be used for authentication. If it's not
specified, the program will choose the best mechanism the server
knows.`
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
type: 'string',
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
type: 'string',
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
false in which case it will use your openldap client environment
configuration.`
}
},
required: ['entry']
}
},
required: ['entry']
}
};

@@ -157,3 +159,3 @@

global: 'ldap',
schema: schema
definitions: definitions
}

@@ -160,0 +162,0 @@ };

@@ -18,37 +18,39 @@ // Generated by CoffeeScript 2.5.1

// ## Schema
var handler, schema;
// ## Schema definitions
var definitions, handler;
schema = {
type: 'object',
properties: {
'dn': {
type: 'array',
items: {
type: 'string'
definitions = {
config: {
type: 'object',
properties: {
'dn': {
type: 'array',
items: {
type: 'string'
},
description: `One or multiple DN to remove.`
},
description: `One or multiple DN to remove.`
},
'name': {
type: 'string',
description: `Distinguish name storing the "olcAccess" property, using the database
'name': {
type: 'string',
description: `Distinguish name storing the "olcAccess" property, using the database
address (eg: "olcDatabase={2}bdb,cn=config").`
},
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
type: 'string',
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
},
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
type: 'string',
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
false in which case it will use your openldap client environment
configuration.`
}
},
required: ['dn']
}
},
required: ['dn']
}
};

@@ -91,4 +93,4 @@

global: 'ldap',
schema: schema
definitions: definitions
}
};

@@ -38,36 +38,38 @@ // Generated by CoffeeScript 2.5.1

// ## Schema
var handler, schema, utils;
// ## Schema definitions
var definitions, handler, utils;
schema = {
type: 'object',
properties: {
'indexes': {
type: 'object',
description: `List of "olcDbIndex" values provided as key/value pairs.`
},
'dn': {
type: 'string',
description: `Distinguish name storing the "olcDbIndex" property, using the database
definitions = {
config: {
type: 'object',
properties: {
'indexes': {
type: 'object',
description: `List of "olcDbIndex" values provided as key/value pairs.`
},
'dn': {
type: 'string',
description: `Distinguish name storing the "olcDbIndex" property, using the database
address (eg: "olcDatabase={2}bdb,cn=config").`
},
'suffix': {
type: 'string',
description: `The suffix associated with the database (eg: "dc=example,dc=org"),
},
'suffix': {
type: 'string',
description: `The suffix associated with the database (eg: "dc=example,dc=org"),
used as an alternative to the \`dn\` configuration.`
},
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
type: 'string',
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
},
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
type: 'string',
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
false in which case it will use your openldap client environment
configuration.`
}
}

@@ -169,3 +171,3 @@ }

global: 'ldap',
schema: schema
definitions: definitions
}

@@ -172,0 +174,0 @@ };

@@ -26,3 +26,3 @@ // Generated by CoffeeScript 2.5.1

// ## Hooks
var compare, handler, on_action, schema, utils;
var compare, definitions, handler, on_action, utils;

@@ -35,74 +35,76 @@ on_action = function({config}) {

// ## Schema
schema = {
type: 'object',
properties: {
'operations': {
type: 'array',
items: {
type: 'object',
properties: {
'changetype': {
type: 'string',
enum: ['add', 'modify', 'remove'],
description: `Valid operation type`
},
'attributes': {
type: 'array',
items: {
type: 'object',
properties: {
'type': {
type: 'string',
enum: ['add', 'delete', 'replace'],
description: `Operation type.`
// ## Schema definitions
definitions = {
config: {
type: 'object',
properties: {
'operations': {
type: 'array',
items: {
type: 'object',
properties: {
'changetype': {
type: 'string',
enum: ['add', 'modify', 'remove'],
description: `Valid operation type`
},
'attributes': {
type: 'array',
items: {
type: 'object',
properties: {
'type': {
type: 'string',
enum: ['add', 'delete', 'replace'],
description: `Operation type.`
},
'name': {
type: 'string',
description: `Attribute name.`
},
'value': {
type: 'string',
description: `Attribute value.`
}
},
'name': {
type: 'string',
description: `Attribute name.`
},
'value': {
type: 'string',
description: `Attribute value.`
}
required: ['type', 'name']
},
required: ['type', 'name']
},
description: `List of attribute operations`
description: `List of attribute operations`
}
}
}
},
description: `Object to be inserted, modified or removed.`
},
description: `Object to be inserted, modified or removed.`
},
exclude: {
type: 'array',
items: {
type: 'string'
exclude: {
type: 'array',
items: {
type: 'string'
},
default: [],
description: `List of attribute to not compare, eg \`userPassword\`.`
},
default: [],
description: `List of attribute to not compare, eg \`userPassword\`.`
},
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'mesh': {
type: 'string',
description: `Specify the SASL mechanism to be used for authentication. If it's not
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'mesh': {
type: 'string',
description: `Specify the SASL mechanism to be used for authentication. If it's not
specified, the program will choose the best mechanism the server
knows.`
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
type: 'string',
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
type: 'string',
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
false in which case it will use your openldap client environment
configuration.`
}
},
required: ['operations']
}
},
required: ['operations']
}
};

@@ -188,3 +190,3 @@

},
schema: schema
definitions: definitions
};

@@ -191,0 +193,0 @@

@@ -19,30 +19,32 @@ // Generated by CoffeeScript 2.5.1

// ## Schema
var handler, schema;
// ## Schema definitions
var definitions, handler;
schema = {
type: 'object',
properties: {
'name': {
type: 'string',
description: `Common name of the schema.`
},
'schema': {
type: 'string',
description: `Path to the schema definition.`
},
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
type: 'string',
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
definitions = {
config: {
type: 'object',
properties: {
'name': {
type: 'string',
description: `Common name of the schema.`
},
'schema': {
type: 'string',
description: `Path to the schema definition.`
},
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
type: 'string',
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
false in which case it will use your openldap client environment
configuration.`
}
}

@@ -58,3 +60,3 @@ }

}) {
var $status, binddn, conf, ldif, passwd, uri;
var $status, binddn, conf, ldif, passwd, schema, uri;
// Auth related config

@@ -188,4 +190,4 @@ binddn = config.binddn ? `-D ${config.binddn}` : '';

global: 'ldap',
schema: schema
definitions: definitions
}
};

@@ -17,60 +17,62 @@ // Generated by CoffeeScript 2.5.1

// ## Schema
var handler, schema, utils;
// ## Schema definitions
var definitions, handler, utils;
schema = {
type: 'object',
properties: {
'attributes': {
type: 'array',
items: {
type: 'string'
definitions = {
config: {
type: 'object',
properties: {
'attributes': {
type: 'array',
items: {
type: 'string'
},
default: [],
description: `List of attributes to return, default to all.`
},
default: [],
description: `List of attributes to return, default to all.`
},
'continuous': {
type: 'boolean',
description: `Continuous operation mode. Errors are reported, but ldapsearch
'continuous': {
type: 'boolean',
description: `Continuous operation mode. Errors are reported, but ldapsearch
will continue with searches.`
},
'base': {
type: 'string',
description: `One or multiple DN to remove.`
},
'filter': {
type: 'string',
description: `The filter should conform to the string representation for search
},
'base': {
type: 'string',
description: `One or multiple DN to remove.`
},
'filter': {
type: 'string',
description: `The filter should conform to the string representation for search
filters as defined in RFC 4515. If not provided, the default filter,
(objectClass=*), is used.`
},
'scope': {
type: 'string',
enum: ['base', 'one', 'sub', 'children'],
description: `Distinguish name storing the "olcAccess" property, using the database
},
'scope': {
type: 'string',
enum: ['base', 'one', 'sub', 'children'],
description: `Distinguish name storing the "olcAccess" property, using the database
address (eg: "olcDatabase={2}bdb,cn=config").`
},
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'mesh': {
type: 'string',
description: `Specify the SASL mechanism to be used for authentication. If it's not
},
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'mesh': {
type: 'string',
description: `Specify the SASL mechanism to be used for authentication. If it's not
specified, the program will choose the best mechanism the server
knows.`
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
type: 'string',
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
type: 'string',
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
false in which case it will use your openldap client environment
configuration.`
}
},
required: ['base']
}
},
required: ['base']
}
};

@@ -111,3 +113,3 @@

shy: true,
schema: schema
definitions: definitions
}

@@ -114,0 +116,0 @@ };

@@ -20,25 +20,27 @@ // Generated by CoffeeScript 2.5.1

// ## Schema
var handler, schema, utils;
// ## Schema definitions
var definitions, handler, utils;
schema = {
type: 'object',
allOf: [
{
properties: {
'base': {
const: 'cn=config',
default: 'cn=config'
definitions = {
config: {
type: 'object',
allOf: [
{
properties: {
'base': {
const: 'cn=config',
default: 'cn=config'
},
'suffix': {
type: 'string',
description: `The suffix associated with the database.`
}
},
'suffix': {
type: 'string',
description: `The suffix associated with the database.`
}
required: ['suffix']
},
required: ['suffix']
},
{
$ref: 'module://@nikitajs/ldap/lib/search'
}
]
{
$ref: 'module://@nikitajs/ldap/lib/search'
}
]
}
};

@@ -68,3 +70,3 @@

global: 'ldap',
schema: schema
definitions: definitions
}

@@ -71,0 +73,0 @@ };

@@ -20,20 +20,22 @@ // Generated by CoffeeScript 2.5.1

// ## Schema
var handler, schema, utils;
// ## Schema definitions
var definitions, handler, utils;
schema = {
type: 'object',
allOf: [
{
properties: {
'base': {
const: 'cn=config',
default: 'cn=config'
definitions = {
config: {
type: 'object',
allOf: [
{
properties: {
'base': {
const: 'cn=config',
default: 'cn=config'
}
}
},
{
$ref: 'module://@nikitajs/ldap/lib/search'
}
},
{
$ref: 'module://@nikitajs/ldap/lib/search'
}
]
]
}
};

@@ -64,3 +66,3 @@

global: 'ldap',
schema: schema
definitions: definitions
}

@@ -67,0 +69,0 @@ };

@@ -18,46 +18,48 @@ // Generated by CoffeeScript 2.5.1

// ## Schema
var handler, merge, schema, utils;
// ## Schema definitions
var definitions, handler, merge, utils;
schema = {
type: 'object',
properties: {
'name': {
type: 'string',
description: `Distinguish name storing the "olcAccess" property, using the database
definitions = {
config: {
type: 'object',
properties: {
'name': {
type: 'string',
description: `Distinguish name storing the "olcAccess" property, using the database
address (eg: "olcDatabase={2}bdb,cn=config").`
},
'user': {
oneOf: [
{
type: 'object'
},
{
type: 'array'
}
],
description: `User object.`
},
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
oneOf: [
{
type: 'string'
},
{
type: 'boolean',
default: 'ldapi:///'
}
],
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
},
'user': {
oneOf: [
{
type: 'object'
},
{
type: 'array'
}
],
description: `User object.`
},
// General LDAP connection information
'binddn': {
type: 'string',
description: `Distinguished Name to bind to the LDAP directory.`
},
'passwd': {
type: 'string',
description: `Password for simple authentication.`
},
'uri': {
oneOf: [
{
type: 'string'
},
{
type: 'boolean',
default: 'ldapi:///'
}
],
description: `LDAP Uniform Resource Identifier(s), "ldapi:///" if true, default to
false in which case it will use your openldap client environment
configuration.`
}
}

@@ -139,7 +141,2 @@ }

await this.execute({
// """
// ldappasswd #{binddn} #{passwd} #{uri} \
// -s #{user.userPassword} \
// '#{user.dn}'
// """
command: ['ldappasswd', config.mesh ? `-Y ${utils.string.escapeshellarg(config.mesh)}` : void 0, config.binddn ? `-D ${utils.string.escapeshellarg(config.binddn)}` : void 0, config.passwd ? `-w ${utils.string.escapeshellarg(config.passwd)}` : void 0, config.uri ? `-H ${utils.string.escapeshellarg(config.uri)}` : void 0, `-s ${user.userPassword}`, `${utils.string.escapeshellarg(user.dn)}`].join(' ')

@@ -164,3 +161,3 @@ });

global: 'ldap',
schema: schema
definitions: definitions
}

@@ -167,0 +164,0 @@ };

{
"name": "@nikitajs/ldap",
"description": "Nikita LDAP actions.",
"description": "Provides Nikita actions for various OpenLDAP operations.",
"keywords": [

@@ -14,3 +14,3 @@ "nikita",

],
"version": "1.0.0-alpha.1",
"version": "1.0.0-alpha.2",
"author": "David Worms <david@adaltas.com>",

@@ -40,7 +40,7 @@ "bugs": {

"peerDependencies": {
"@nikitajs/core": "^1.0.0"
"@nikitajs/core": "^1.0.0-alpha.1"
},
"devDependencies": {
"coffeescript": "^2.5.1",
"mocha": "^8.3.1",
"mocha": "^8.3.2",
"mocha-they": "^0.1.2",

@@ -84,5 +84,5 @@ "should": "^13.2.3"

"dependencies": {
"mixme": "^0.5.0"
"mixme": "^0.5.1"
},
"gitHead": "86d25e2158736f77e88edae3f243fcaba1b0b8b2"
"gitHead": "07c87a8ab6e733021d0e3722b3457e45a9ec9480"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc