30 lines
1.0 KiB
Go
30 lines
1.0 KiB
Go
|
|
// Package pam provides a wrapper for the PAM application API.
|
||
|
|
package pam
|
||
|
|
|
||
|
|
// ModuleTransaction is an interface that a pam module transaction
|
||
|
|
// should implement.
|
||
|
|
type ModuleTransaction interface {
|
||
|
|
SetItem(Item, string) error
|
||
|
|
GetItem(Item) (string, error)
|
||
|
|
PutEnv(nameVal string) error
|
||
|
|
GetEnv(name string) string
|
||
|
|
GetEnvList() (map[string]string, error)
|
||
|
|
}
|
||
|
|
|
||
|
|
// ModuleHandlerFunc is a function type used by the ModuleHandler.
|
||
|
|
type ModuleHandlerFunc func(ModuleTransaction, Flags, []string) error
|
||
|
|
|
||
|
|
// ModuleTransaction is the module-side handle for a PAM transaction.
|
||
|
|
type moduleTransaction = transactionBase
|
||
|
|
|
||
|
|
// ModuleHandler is an interface for objects that can be used to create
|
||
|
|
// PAM modules from go.
|
||
|
|
type ModuleHandler interface {
|
||
|
|
AcctMgmt(ModuleTransaction, Flags, []string) error
|
||
|
|
Authenticate(ModuleTransaction, Flags, []string) error
|
||
|
|
ChangeAuthTok(ModuleTransaction, Flags, []string) error
|
||
|
|
CloseSession(ModuleTransaction, Flags, []string) error
|
||
|
|
OpenSession(ModuleTransaction, Flags, []string) error
|
||
|
|
SetCred(ModuleTransaction, Flags, []string) error
|
||
|
|
}
|