Documentation ¶
Overview ¶
Package userdb defines the Katzenpost server user database abstract interface.
Index ¶
Constants ¶
View Source
const MaxUsernameSize = constants.RecipientIDLength
MaxUsernameSize is the maximum username length in bytes.
Variables ¶
View Source
var ( // ErrNoSuchUser is the error returned when an operation fails due to // a non-existent user. ErrNoSuchUser = errors.New("userdb: no such user") // ErrNoIdentity is the error returned when the specified user has no // identity key set. ErrNoIdentity = errors.New("userdb: no identity key set") )
Functions ¶
This section is empty.
Types ¶
type UserDB ¶
type UserDB interface { // Exists returns true iff the user identified by the username exists. Exists([]byte) bool // IsValid returns true iff the user identified by the username and // public key is valid. IsValid([]byte, *ecdh.PublicKey) bool // Link returns the user's link layer authentication key. Link([]byte) (*ecdh.PublicKey, error) // Add adds the user identified by the username and public key // to the database. Existing users will have their public keys // updated if specified, otherwise an error will be returned. Add([]byte, *ecdh.PublicKey, bool) error // SetIdentity sets the optional identity key for the user identified // by the user name to the provided public key. Providing a nil key // will remove the user's identity key iff it exists. SetIdentity([]byte, *ecdh.PublicKey) error // Identity returns the optional identity key for the user identified // by the user name. Identity([]byte) (*ecdh.PublicKey, error) // Remove removes the user identified by the username from the database. Remove([]byte) error // Close closes the UserDB instance. Close() }
UserDB is the interface provided by all user database implementations.
Directories ¶
Path | Synopsis |
---|---|
Package boltuserdb implements the Katzenpost server user database with a simple boltdb based backend.
|
Package boltuserdb implements the Katzenpost server user database with a simple boltdb based backend. |
Package externuserdb implements the Katzenpost server user database with http calls to a external authorization source (expected to run in localhost).
|
Package externuserdb implements the Katzenpost server user database with http calls to a external authorization source (expected to run in localhost). |
Click to show internal directories.
Click to hide internal directories.