The lichat-ldap Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The lichat-ldap Reference Manual

This is the lichat-ldap Reference Manual, version 1.0.0, generated automatically by Declt version 2.4 patchlevel 1 "Will Decker" on Fri May 24 09:10:48 2019 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

About Lichat-LDAP

This provides a server mixin class that will perform profile lookup and authentication using an LDAP server.

How To

In your server definition, add lichat-ldap:server as the first superclass. Then, on construction, pass it the following arguments with appropriate values for your setup.

:ldap-host      --- The LDAP server's hostname. Defaults to "localhost".
:ldap-port      --- The LDAP server's port. Defaults to 389.
:ldap-ssl       --- Whether to use SSL. Defaults to NIL
:bind-dn        --- The DN to bind with for search requests. Defaults to NIL.
:bind-pw        --- The password to bind with. Defaults to NIL.
:profile-base   --- The base DN to search for profiles under. Defaults to NIL.
:profile-query  --- The query as an sexpr to search for profiles. See below.
:profile-attr   --- The attribute that returns the profile's username. Defaults to :CN.

When authenticating users, it will perform a bind attempt, letting the LDAP server's authentication perform the password validation. This means that this server will not store or access any password information at all. Password changes and profile registrations are thus not available in this scheme.

Search Query

In order to search for profiles in the LDAP directory, a search query expression is used. This should be an s-expression of the following format:

QUERY     ::= COMPOUND
COMPOUND  ::= AND | OR | EQ
AND       ::= (cl:and COMPOUND*)
OR        ::= (cl:or COMPOUND*)
EQ        ::= (cl:= ATTRIBUTE VALUE)
VALUE     ::= STRING | lichat-ldap:name
STRING    --- A string
ATTRIBUTE --- A keyword

The default query is (cl:= :cn lichat-ldap:name) meaning it checks the cn attribute against the given name.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 lichat-ldap

Maintainer

Nicolas Hafner <shinmera@tymoon.eu>

Author

Nicolas Hafner <shinmera@tymoon.eu>

Home Page

https://github.com/Shirakumo/lichat-ldap

License

Artistic

Description

LDAP backend for the Lichat server profiles.

Version

1.0.0

Dependencies
Source

lichat-ldap.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 lichat-ldap.asd

Location

lichat-ldap.asd

Systems

lichat-ldap (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 lichat-ldap/package.lisp

Parent

lichat-ldap (system)

Location

package.lisp

Packages

lichat-ldap


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 lichat-ldap/ldap.lisp

Dependency

package.lisp (file)

Parent

lichat-ldap (system)

Location

ldap.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.4 lichat-ldap/documentation.lisp

Dependency

ldap.lisp (file)

Parent

lichat-ldap (system)

Location

documentation.lisp


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 lichat-ldap

Source

package.lisp (file)

Nickname

org.shirakumo.lichat.ldap

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Generic functions

Generic Function: bind-dn OBJECT
Generic Function: (setf bind-dn) NEW-VALUE OBJECT
Package

lichat-ldap

Methods
Method: bind-dn (PROFILE profile)

automatically generated reader method

Source

ldap.lisp (file)

Method: bind-dn (SERVER server)

automatically generated reader method

Source

ldap.lisp (file)

Method: (setf bind-dn) NEW-VALUE (SERVER server)

automatically generated writer method

Source

ldap.lisp (file)

Generic Function: bind-pw OBJECT
Generic Function: (setf bind-pw) NEW-VALUE OBJECT
Package

lichat-ldap

Methods
Method: bind-pw (SERVER server)

automatically generated reader method

Source

ldap.lisp (file)

Method: (setf bind-pw) NEW-VALUE (SERVER server)

automatically generated writer method

Source

ldap.lisp (file)

Generic Function: error-message CONDITION
Package

lichat-ldap

Methods
Method: error-message (CONDITION bind-error)
Source

ldap.lisp (file)

Generic Function: error-type CONDITION
Package

lichat-ldap

Methods
Method: error-type (CONDITION bind-error)
Source

ldap.lisp (file)

Generic Function: ldap-host OBJECT
Generic Function: (setf ldap-host) NEW-VALUE OBJECT
Package

lichat-ldap

Methods
Method: ldap-host (SERVER server)

automatically generated reader method

Source

ldap.lisp (file)

Method: (setf ldap-host) NEW-VALUE (SERVER server)

automatically generated writer method

Source

ldap.lisp (file)

Generic Function: ldap-port OBJECT
Generic Function: (setf ldap-port) NEW-VALUE OBJECT
Package

lichat-ldap

Methods
Method: ldap-port (SERVER server)

automatically generated reader method

Source

ldap.lisp (file)

Method: (setf ldap-port) NEW-VALUE (SERVER server)

automatically generated writer method

Source

ldap.lisp (file)

Generic Function: ldap-ssl OBJECT
Generic Function: (setf ldap-ssl) NEW-VALUE OBJECT
Package

lichat-ldap

Methods
Method: ldap-ssl (SERVER server)

automatically generated reader method

Source

ldap.lisp (file)

Method: (setf ldap-ssl) NEW-VALUE (SERVER server)

automatically generated writer method

Source

ldap.lisp (file)

Generic Function: profile-attr OBJECT
Generic Function: (setf profile-attr) NEW-VALUE OBJECT
Package

lichat-ldap

Methods
Method: profile-attr (SERVER server)

automatically generated reader method

Source

ldap.lisp (file)

Method: (setf profile-attr) NEW-VALUE (SERVER server)

automatically generated writer method

Source

ldap.lisp (file)

Generic Function: profile-base OBJECT
Generic Function: (setf profile-base) NEW-VALUE OBJECT
Package

lichat-ldap

Methods
Method: profile-base (SERVER server)

automatically generated reader method

Source

ldap.lisp (file)

Method: (setf profile-base) NEW-VALUE (SERVER server)

automatically generated writer method

Source

ldap.lisp (file)

Generic Function: profile-query OBJECT
Generic Function: (setf profile-query) NEW-VALUE OBJECT
Package

lichat-ldap

Methods
Method: profile-query (SERVER server)

automatically generated reader method

Source

ldap.lisp (file)

Method: (setf profile-query) NEW-VALUE (SERVER server)

automatically generated writer method

Source

ldap.lisp (file)

Generic Function: server OBJECT
Package

lichat-ldap

Methods
Method: server (PROFILE profile)

automatically generated reader method

Source

ldap.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Conditions

Condition: bind-error ()
Package

lichat-ldap

Source

ldap.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: error-type
Initargs

:error-type

Readers

error-type (generic function)

Slot: error-message
Initargs

:error-message

Readers

error-message (generic function)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Classes

Class: profile ()
Package

lichat-ldap

Source

ldap.lisp (file)

Direct superclasses

profile (class)

Direct methods
  • password-valid-p (method)
  • password (method)
  • bind-dn (method)
  • server (method)
Direct slots
Slot: server
Initargs

:server

Readers

server (generic function)

Slot: bind-dn
Initargs

:bind-dn

Readers

bind-dn (generic function)

Direct Default Initargs
InitargValue
:timeoutnil
Class: server ()
Package

lichat-ldap

Source

ldap.lisp (file)

Direct superclasses

server (class)

Direct methods
  • find-profile (method)
  • list-profiles (method)
  • remove-profile (method)
  • make-profile (method)
  • profile-attr (method)
  • profile-attr (method)
  • profile-query (method)
  • profile-query (method)
  • profile-base (method)
  • profile-base (method)
  • bind-pw (method)
  • bind-pw (method)
  • bind-dn (method)
  • bind-dn (method)
  • ldap-ssl (method)
  • ldap-ssl (method)
  • ldap-port (method)
  • ldap-port (method)
  • ldap-host (method)
  • ldap-host (method)
Direct slots
Slot: ldap-host
Initargs

:ldap-host

Readers

ldap-host (generic function)

Writers

(setf ldap-host) (generic function)

Slot: ldap-port
Initargs

:ldap-port

Readers

ldap-port (generic function)

Writers

(setf ldap-port) (generic function)

Slot: ldap-ssl
Initargs

:ldap-ssl

Readers

ldap-ssl (generic function)

Writers

(setf ldap-ssl) (generic function)

Slot: bind-dn
Initargs

:bind-dn

Readers

bind-dn (generic function)

Writers

(setf bind-dn) (generic function)

Slot: bind-pw
Initargs

:bind-pw

Readers

bind-pw (generic function)

Writers

(setf bind-pw) (generic function)

Slot: profile-base
Initargs

:profile-base

Readers

profile-base (generic function)

Writers

(setf profile-base) (generic function)

Slot: profile-query
Initargs

:profile-query

Readers

profile-query (generic function)

Writers

(setf profile-query) (generic function)

Slot: profile-attr
Initargs

:profile-attr

Readers

profile-attr (generic function)

Writers

(setf profile-attr) (generic function)

Direct Default Initargs
InitargValue
:ldap-host"localhost"
:ldap-port389
:ldap-sslnil
:bind-dnnil
:bind-pwnil
:profile-basenil
:profile-query(quote (= :cn lichat-ldap:name))
:profile-attr:cn

Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Macros

Macro: with-ldap (LDAP OBJECT &key HOST PORT SSLFLAG USER PASS) &body BODY
Package

lichat-ldap

Source

ldap.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Functions

Function: replace-username QUERY NAME
Package

lichat-ldap

Source

ldap.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L  
Index Entry  Section

F
File, Lisp, lichat-ldap.asd: The lichat-ldap<dot>asd file
File, Lisp, lichat-ldap/documentation.lisp: The lichat-ldap/documentation<dot>lisp file
File, Lisp, lichat-ldap/ldap.lisp: The lichat-ldap/ldap<dot>lisp file
File, Lisp, lichat-ldap/package.lisp: The lichat-ldap/package<dot>lisp file

L
lichat-ldap.asd: The lichat-ldap<dot>asd file
lichat-ldap/documentation.lisp: The lichat-ldap/documentation<dot>lisp file
lichat-ldap/ldap.lisp: The lichat-ldap/ldap<dot>lisp file
lichat-ldap/package.lisp: The lichat-ldap/package<dot>lisp file
Lisp File, lichat-ldap.asd: The lichat-ldap<dot>asd file
Lisp File, lichat-ldap/documentation.lisp: The lichat-ldap/documentation<dot>lisp file
Lisp File, lichat-ldap/ldap.lisp: The lichat-ldap/ldap<dot>lisp file
Lisp File, lichat-ldap/package.lisp: The lichat-ldap/package<dot>lisp file

Jump to:   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
B   E   F   G   L   M   P   R   S   W  
Index Entry  Section

(
(setf bind-dn): Exported generic functions
(setf bind-dn): Exported generic functions
(setf bind-pw): Exported generic functions
(setf bind-pw): Exported generic functions
(setf ldap-host): Exported generic functions
(setf ldap-host): Exported generic functions
(setf ldap-port): Exported generic functions
(setf ldap-port): Exported generic functions
(setf ldap-ssl): Exported generic functions
(setf ldap-ssl): Exported generic functions
(setf profile-attr): Exported generic functions
(setf profile-attr): Exported generic functions
(setf profile-base): Exported generic functions
(setf profile-base): Exported generic functions
(setf profile-query): Exported generic functions
(setf profile-query): Exported generic functions

B
bind-dn: Exported generic functions
bind-dn: Exported generic functions
bind-dn: Exported generic functions
bind-pw: Exported generic functions
bind-pw: Exported generic functions

E
error-message: Exported generic functions
error-message: Exported generic functions
error-type: Exported generic functions
error-type: Exported generic functions

F
Function, replace-username: Internal functions

G
Generic Function, (setf bind-dn): Exported generic functions
Generic Function, (setf bind-pw): Exported generic functions
Generic Function, (setf ldap-host): Exported generic functions
Generic Function, (setf ldap-port): Exported generic functions
Generic Function, (setf ldap-ssl): Exported generic functions
Generic Function, (setf profile-attr): Exported generic functions
Generic Function, (setf profile-base): Exported generic functions
Generic Function, (setf profile-query): Exported generic functions
Generic Function, bind-dn: Exported generic functions
Generic Function, bind-pw: Exported generic functions
Generic Function, error-message: Exported generic functions
Generic Function, error-type: Exported generic functions
Generic Function, ldap-host: Exported generic functions
Generic Function, ldap-port: Exported generic functions
Generic Function, ldap-ssl: Exported generic functions
Generic Function, profile-attr: Exported generic functions
Generic Function, profile-base: Exported generic functions
Generic Function, profile-query: Exported generic functions
Generic Function, server: Exported generic functions

L
ldap-host: Exported generic functions
ldap-host: Exported generic functions
ldap-port: Exported generic functions
ldap-port: Exported generic functions
ldap-ssl: Exported generic functions
ldap-ssl: Exported generic functions

M
Macro, with-ldap: Internal macros
Method, (setf bind-dn): Exported generic functions
Method, (setf bind-pw): Exported generic functions
Method, (setf ldap-host): Exported generic functions
Method, (setf ldap-port): Exported generic functions
Method, (setf ldap-ssl): Exported generic functions
Method, (setf profile-attr): Exported generic functions
Method, (setf profile-base): Exported generic functions
Method, (setf profile-query): Exported generic functions
Method, bind-dn: Exported generic functions
Method, bind-dn: Exported generic functions
Method, bind-pw: Exported generic functions
Method, error-message: Exported generic functions
Method, error-type: Exported generic functions
Method, ldap-host: Exported generic functions
Method, ldap-port: Exported generic functions
Method, ldap-ssl: Exported generic functions
Method, profile-attr: Exported generic functions
Method, profile-base: Exported generic functions
Method, profile-query: Exported generic functions
Method, server: Exported generic functions

P
profile-attr: Exported generic functions
profile-attr: Exported generic functions
profile-base: Exported generic functions
profile-base: Exported generic functions
profile-query: Exported generic functions
profile-query: Exported generic functions

R
replace-username: Internal functions

S
server: Exported generic functions
server: Exported generic functions

W
with-ldap: Internal macros

Jump to:   (  
B   E   F   G   L   M   P   R   S   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   B   E   L   P   S  
Index Entry  Section

B
bind-dn: Exported classes
bind-dn: Exported classes
bind-pw: Exported classes

E
error-message: Exported conditions
error-type: Exported conditions

L
ldap-host: Exported classes
ldap-port: Exported classes
ldap-ssl: Exported classes

P
profile-attr: Exported classes
profile-base: Exported classes
profile-query: Exported classes

S
server: Exported classes
Slot, bind-dn: Exported classes
Slot, bind-dn: Exported classes
Slot, bind-pw: Exported classes
Slot, error-message: Exported conditions
Slot, error-type: Exported conditions
Slot, ldap-host: Exported classes
Slot, ldap-port: Exported classes
Slot, ldap-ssl: Exported classes
Slot, profile-attr: Exported classes
Slot, profile-base: Exported classes
Slot, profile-query: Exported classes
Slot, server: Exported classes

Jump to:   B   E   L   P   S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   B   C   L   P   S  
Index Entry  Section

B
bind-error: Exported conditions

C
Class, profile: Exported classes
Class, server: Exported classes
Condition, bind-error: Exported conditions

L
lichat-ldap: The lichat-ldap system
lichat-ldap: The lichat-ldap package

P
Package, lichat-ldap: The lichat-ldap package
profile: Exported classes

S
server: Exported classes
System, lichat-ldap: The lichat-ldap system

Jump to:   B   C   L   P   S