Documentation
¶
Overview ¶
Package dbusmodule includes the tool for DBus PAM module interactions.
Index ¶
- func WithSharedConnection(isShared bool) func(o *options)
- type StringResponse
- type Transaction
- func (tx Transaction) BusObject() dbus.BusObject
- func (tx Transaction) Context() context.Context
- func (tx Transaction) GetData(key string) (any, error)
- func (tx Transaction) GetEnv(name string) string
- func (tx Transaction) GetEnvList() (map[string]string, error)
- func (tx Transaction) GetItem(item pam.Item) (string, error)
- func (tx Transaction) GetUser(prompt string) (string, error)
- func (tx Transaction) InvokeHandler(handler pam.ModuleHandlerFunc, flags pam.Flags, args []string) error
- func (tx Transaction) PutEnv(nameVal string) error
- func (tx Transaction) SetData(key string, data any) error
- func (tx Transaction) SetItem(item pam.Item, value string) error
- func (tx Transaction) StartBinaryConv(bytes []byte) (pam.BinaryConvResponse, error)
- func (tx Transaction) StartConv(req pam.ConvRequest) (pam.ConvResponse, error)
- func (tx Transaction) StartConvMulti(requests []pam.ConvRequest) (responses []pam.ConvResponse, err error)
- func (tx Transaction) StartStringConv(style pam.Style, prompt string) (pam.StringConvResponse, error)
- func (tx Transaction) StartStringConvf(style pam.Style, format string, args ...interface{}) (pam.StringConvResponse, error)
- type TransactionOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WithSharedConnection ¶
func WithSharedConnection(isShared bool) func(o *options)
WithSharedConnection indicates that we're using a shared dbus connection.
Types ¶
type StringResponse ¶
StringResponse is a simple implementation of pam.StringConvResponse.
func (StringResponse) Response ¶
func (s StringResponse) Response() string
Response returns the string response of the StringResponse.
func (StringResponse) Style ¶
func (s StringResponse) Style() pam.Style
Style returns the conversation style of the StringResponse.
type Transaction ¶
type Transaction struct {
// contains filtered or unexported fields
}
Transaction is a pam.Transaction with dbus support.
func NewTransaction ¶
func NewTransaction(address string, o ...TransactionOptions) (tx Transaction, cleanup func(), err error)
NewTransaction creates a new dbusmodule.Transaction with the provided connection. A pam.ModuleTransaction implementation is returned together with a cleanup function that should be called to release the connection.
func (Transaction) BusObject ¶
func (tx Transaction) BusObject() dbus.BusObject
BusObject gets the DBus object.
func (Transaction) Context ¶ added in v0.7.0
func (tx Transaction) Context() context.Context
Context returns the context associated with the connection. The context will be cancelled when the connection is closed.
func (Transaction) GetData ¶
func (tx Transaction) GetData(key string) (any, error)
GetData allows to get any value from the module data saved using SetData that is preserved across the whole time the module is loaded.
func (Transaction) GetEnv ¶
func (tx Transaction) GetEnv(name string) string
GetEnv is used to retrieve a PAM environment variable.
func (Transaction) GetEnvList ¶
func (tx Transaction) GetEnvList() (map[string]string, error)
GetEnvList returns a copy of the PAM environment as a map.
func (Transaction) GetItem ¶
func (tx Transaction) GetItem(item pam.Item) (string, error)
GetItem retrieves a PAM item.
func (Transaction) GetUser ¶
func (tx Transaction) GetUser(prompt string) (string, error)
GetUser is similar to GetItem(User), but it would start a conversation if no user is currently set in PAM.
func (Transaction) InvokeHandler ¶
func (tx Transaction) InvokeHandler(handler pam.ModuleHandlerFunc, flags pam.Flags, args []string) error
InvokeHandler is called by the C code to invoke the proper handler.
func (Transaction) PutEnv ¶
func (tx Transaction) PutEnv(nameVal string) error
PutEnv adds or changes the value of PAM environment variables.
NAME=value will set a variable to a value. NAME= will set a variable to an empty value. NAME (without an "=") will delete a variable.
func (Transaction) SetData ¶
func (tx Transaction) SetData(key string, data any) error
SetData allows to save any value in the module data that is preserved during the whole time the module is loaded.
func (Transaction) SetItem ¶
func (tx Transaction) SetItem(item pam.Item, value string) error
SetItem sets a PAM item.
func (Transaction) StartBinaryConv ¶
func (tx Transaction) StartBinaryConv(bytes []byte) ( pam.BinaryConvResponse, error)
StartBinaryConv starts a binary conversation using the provided bytes.
func (Transaction) StartConv ¶
func (tx Transaction) StartConv(req pam.ConvRequest) ( pam.ConvResponse, error)
StartConv initiates a PAM conversation using the provided ConvRequest.
func (Transaction) StartConvMulti ¶
func (tx Transaction) StartConvMulti(requests []pam.ConvRequest) ( responses []pam.ConvResponse, err error)
StartConvMulti initiates a PAM conversation with multiple ConvRequest's.
func (Transaction) StartStringConv ¶
func (tx Transaction) StartStringConv(style pam.Style, prompt string) ( pam.StringConvResponse, error)
StartStringConv starts a text-based conversation using the provided style and prompt.
func (Transaction) StartStringConvf ¶
func (tx Transaction) StartStringConvf(style pam.Style, format string, args ...interface{}) ( pam.StringConvResponse, error)
StartStringConvf allows to start string conversation with formatting support.
type TransactionOptions ¶
type TransactionOptions func(*options)
TransactionOptions is the function signature used to tweak the transaction.