The cl-scram Reference Manual

This is the cl-scram Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Nov 06 12:35:26 2023 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 cl-scram

Common lisp library to implement SCRAM-SHA1 SASL mechanism.

Author

Matt Prelude <>

License

Revised BSD License (see LICENSE)

Version

0.1

Dependencies
  • cl-sasl (system).
  • cl-base64 (system).
  • ironclad (system).
  • secure-random (system).
  • split-sequence (system).
Source

cl-scram.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 cl-scram/src

Source

cl-scram.asd.

Parent Component

cl-scram (system).

Child Components

4 Files

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


4.1 Lisp


4.1.1 cl-scram/cl-scram.asd

Source

cl-scram.asd.

Parent Component

cl-scram (system).

ASDF Systems

cl-scram.

Packages

cl-scram-asd.


4.1.2 cl-scram/src/packages.lisp

Source

cl-scram.asd.

Parent Component

src (module).

Packages

cl-scram.


4.1.3 cl-scram/src/conditions.lisp

Dependency

packages.lisp (file).

Source

cl-scram.asd.

Parent Component

src (module).


4.1.4 cl-scram/src/utils.lisp

Dependency

conditions.lisp (file).

Source

cl-scram.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.5 cl-scram/src/scram.lisp

Dependency

utils.lisp (file).

Source

cl-scram.asd.

Parent Component

src (module).

Public Interface
Internals

4.2 Static


4.2.1 cl-scram/README.md

Source

cl-scram.asd.

Parent Component

cl-scram (system).


4.2.2 cl-scram/LICENSE

Source

cl-scram.asd.

Parent Component

cl-scram (system).


5 Packages

Packages are listed by definition order.


5.1 cl-scram

Source

packages.lisp.

Use List
  • common-lisp.
  • split-sequence.
Public Interface
Internals

5.2 cl-scram-asd

Source

cl-scram.asd.

Use List
  • asdf/interface.
  • common-lisp.

6 Definitions

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


6.1 Public Interface


6.1.1 Ordinary functions

Function: base64-decode (string)
Package

cl-scram.

Source

utils.lisp.

Function: base64-encode (string)
Package

cl-scram.

Source

utils.lisp.

Function: base64-encode-octets (octets)
Package

cl-scram.

Source

utils.lisp.

Function: gen-client-encoded-initial-message (&key username nonce)
Package

cl-scram.

Source

scram.lisp.

Function: gen-client-final-message (&key password client-nonce client-initial-message server-response)
Package

cl-scram.

Source

scram.lisp.

Function: gen-client-initial-message (&key username nonce)
Package

cl-scram.

Source

scram.lisp.

Function: gen-client-nonce ()

Generate a random 32-character nonce.

Package

cl-scram.

Source

utils.lisp.

Function: gen-sasl-password (password)
Package

cl-scram.

Source

utils.lisp.

Function: parse-server-iterations (&key response)
Package

cl-scram.

Source

scram.lisp.

Function: parse-server-nonce (&key response nonce)
Package

cl-scram.

Source

scram.lisp.

Function: parse-server-salt (&key response)
Package

cl-scram.

Source

scram.lisp.


6.2 Internals


6.2.1 Ordinary functions

Function: bit-vector->integer (bit-vector)

Create a positive integer from a bit-vector.

Package

cl-scram.

Source

utils.lisp.

Function: gen-hmac-digest (&key key message)

Takes a key & a message, and generates a HMAC digest.

Package

cl-scram.

Source

utils.lisp.

Function: gen-sha1-digest (&key key)

Takes a key, and generates a SHA1 digest.

Package

cl-scram.

Source

utils.lisp.

Function: integer->bit-vector (integer)

Create a bit-vector from a positive integer.

Package

cl-scram.

Source

utils.lisp.

Function: parse-server-response (&key response)
Package

cl-scram.

Source

scram.lisp.


6.2.2 Generic functions

Generic Reader: text (condition)
Package

cl-scram.

Methods
Reader Method: text ((condition unexpected-nonce))
Source

scram.lisp.

Target Slot

text.


6.2.3 Conditions

Condition: unexpected-nonce
Package

cl-scram.

Source

scram.lisp.

Direct superclasses

error.

Direct methods

text.

Direct slots
Slot: text
Initargs

:text

Readers

text.

Writers

This slot is read-only.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   B   F   G   I   M   P   T  
Index Entry  Section

B
base64-decode: Public ordinary functions
base64-encode: Public ordinary functions
base64-encode-octets: Public ordinary functions
bit-vector->integer: Private ordinary functions

F
Function, base64-decode: Public ordinary functions
Function, base64-encode: Public ordinary functions
Function, base64-encode-octets: Public ordinary functions
Function, bit-vector->integer: Private ordinary functions
Function, gen-client-encoded-initial-message: Public ordinary functions
Function, gen-client-final-message: Public ordinary functions
Function, gen-client-initial-message: Public ordinary functions
Function, gen-client-nonce: Public ordinary functions
Function, gen-hmac-digest: Private ordinary functions
Function, gen-sasl-password: Public ordinary functions
Function, gen-sha1-digest: Private ordinary functions
Function, integer->bit-vector: Private ordinary functions
Function, parse-server-iterations: Public ordinary functions
Function, parse-server-nonce: Public ordinary functions
Function, parse-server-response: Private ordinary functions
Function, parse-server-salt: Public ordinary functions

G
gen-client-encoded-initial-message: Public ordinary functions
gen-client-final-message: Public ordinary functions
gen-client-initial-message: Public ordinary functions
gen-client-nonce: Public ordinary functions
gen-hmac-digest: Private ordinary functions
gen-sasl-password: Public ordinary functions
gen-sha1-digest: Private ordinary functions
Generic Function, text: Private generic functions

I
integer->bit-vector: Private ordinary functions

M
Method, text: Private generic functions

P
parse-server-iterations: Public ordinary functions
parse-server-nonce: Public ordinary functions
parse-server-response: Private ordinary functions
parse-server-salt: Public ordinary functions

T
text: Private generic functions
text: Private generic functions


A.3 Variables

Jump to:   S   T  
Index Entry  Section

S
Slot, text: Private conditions

T
text: Private conditions