Versions in this module Expand all Collapse all v0 v0.0.3 Apr 16, 2024 v0.0.2 Apr 3, 2024 Changes in this version type InternalClientConfig + Host string v0.0.1 Mar 26, 2024 v0.0.0 Mar 23, 2024 Changes in this version + const PAM_OAUTH_CHALLENGE_ID + const PAM_OAUTH_CONFIG + const PAM_OAUTH_USERNAME + const PAM_REMOTE_HOST_KEY + const PAM_REMOTE_USER_KEY + const PAM_SERVICE_KEY + const PAM_TTY_KEY + const PAM_TYPE_KEY + const PAM_USERNAME_KEY + var ErrPAMOAuthChallengeIDNotFound = errors.New("PAM OAuth challenge ID not found") + var ErrPAMOAuthConfigNotFound = errors.New("PAM OAuth config not found") + var ErrPAMRemoteHostNotFound = errors.New("PAM remote host not found") + var ErrPAMRemoteUserNotFound = errors.New("PAM remote user not found") + var ErrPAMServiceNotFound = errors.New("PAM service not found") + var ErrPAMTTYNotFound = errors.New("PAM TTY not found") + var ErrPAMTypeInvalid = errors.New("PAM type invalid") + var ErrPAMTypeNotFound = errors.New("PAM type not found") + var ErrPAMUsernameNotFound = errors.New("PAM username not found") + func EvaluateShellScript(raw string, timeout time.Duration, env map[string]string) (string, string, error) + func EvaluateTextTemplate(rawTemplate string, data any) (string, error) + func GetChallengeID() (string, error) + func GetConfigPath() (string, error) + func GetRemoteHost() (string, error) + func GetRemoteUser() (string, error) + func GetService() (string, error) + func GetTTY() (string, error) + func GetUsername() (string, error) + func SaveConfig(config Config, name string, relative string, mode common.SafeOpenMode) error + func SetChallengeID(challengeID string) error + func SetConfigPath(configPath string) error + func SwitchUser(user *Passwd) error + type Config struct + CreateUserCommand string + InternalClientConfig InternalClientConfig + Log LogConfig + Prompt PromptConfig + Version *version.Version + func LoadConfig(name string, relative string) (Config, error) + type InternalClient struct + func NewInternalClient(config InternalClientConfig) (*InternalClient, error) + func (client *InternalClient) Close() error + func (client InternalClient) GetChallengeInfo(id string) (string, map[string]string, error) + func (client InternalClient) IssueChallenge(username string) (string, string, error) + func (client InternalClient) VerifyChallenge(id string, code string) (bool, error) + type InternalClientConfig struct + Address string + ClientTlsCertPath string + ClientTlsKeyPath string + ClientTlsKeypair *tls.Certificate + Port uint16 + ServerTlsCert *x509.Certificate + ServerTlsCertPath string + Timeout int + type LogConfig struct + File string + Level common.LogLevel + Output common.LogOutput + type PamErrorWithCode struct + func NewPamErrorWithCode(code PamExitCode, err error) *PamErrorWithCode + func (err *PamErrorWithCode) Code() PamExitCode + func (err *PamErrorWithCode) Error() string + func (err *PamErrorWithCode) Unwrap() error + type PamExitCode int + const PAM_ABORT + const PAM_ACCT_EXPIRED + const PAM_AUTHINFO_UNAVAIL + const PAM_AUTHTOK_DISABLE_AGING + const PAM_AUTHTOK_ERR + const PAM_AUTHTOK_EXPIRED + const PAM_AUTHTOK_LOCK_BUSY + const PAM_AUTHTOK_RECOVERY_ERR + const PAM_AUTH_ERR + const PAM_BAD_ITEM + const PAM_BUF_ERR + const PAM_CONV_AGAIN + const PAM_CONV_ERR + const PAM_CRED_ERR + const PAM_CRED_EXPIRED + const PAM_CRED_INSUFFICIENT + const PAM_CRED_UNAVAIL + const PAM_IGNORE + const PAM_INCOMPLETE + const PAM_MAXTRIES + const PAM_MODULE_UNKNOWN + const PAM_NEW_AUTHTOK_REQD + const PAM_NO_MODULE_DATA + const PAM_OPEN_ERR + const PAM_PERM_DENIED + const PAM_SERVICE_ERR + const PAM_SESSION_ERR + const PAM_SUCCESS + const PAM_SYMBOL_ERR + const PAM_SYSTEM_ERR + const PAM_TRY_AGAIN + const PAM_USER_UNKNOWN + type PamSmType string + const PAM_SM_ACCT_MGMT + const PAM_SM_AUTHENTICATE + const PAM_SM_CHAUTHTOK + const PAM_SM_CLOSE_SESSION + const PAM_SM_OPEN_SESSION + const PAM_SM_SETCRED + func GetType() (PamSmType, error) + type Passwd struct + Dir string + Gecos string + Gid int + Name string + Passwd string + Shell string + Uid int + func GetPwnam(name string) (*Passwd, error) + func GetPwuid(uid uint) (*Passwd, error) + type PromptConfig struct + Message string