diff options
Diffstat (limited to 'src/nshd/hackers_git')
-rw-r--r-- | src/nshd/hackers_git/main.go | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/src/nshd/hackers_git/main.go b/src/nshd/hackers_git/main.go new file mode 100644 index 0000000..9e71710 --- /dev/null +++ b/src/nshd/hackers_git/main.go @@ -0,0 +1,112 @@ +package hackers_git + +import ( + _ "golang.org/x/exp/inotify" + _ "gopkg.in/yaml.v2" + p "nslcd_proto" + "nslcd_systemd" + "sync" +) + +type Hackers struct { + p.NullBackend + lock *sync.RWMutex + pam_password_prohibit_message string +} + +var _ nslcd_systemd.Backend = &Hackers{} +var _ p.Backend = &Hackers{} +// +func (o *Hackers) Reload() { + o.lock.Lock() + defer o.lock.Unlock() + // TODO +} + +func NewHackers(yamlDir string) *Hackers { + // TODO + var hackers Hackers + + var lock sync.RWMutex + hackers.lock = &lock + + go inotify_watcher(yamlDir) + + return &hackers +} + +func inotify_watcher(yamlDir string) { + // TODO +} + +// +func (o *Hackers) Config_Get(cred p.Ucred, req p.Request_Config_Get) p.Config_Enumerator { + var val *string = nil + + switch req { + case p.NSLCD_CONFIG_PAM_PASSWORD_PROHIBIT_MESSAGE: + val = &o.pam_password_prohibit_message + } + + if val != nil { + return p.New_Config_List([]p.Config{p.Config(*val)}) + } else { + return p.Config_Ø{} + } +} +// +func (o *Hackers) Passwd_ByName(cred p.Ucred, req p.Request_Passwd_ByName) p.Passwd_Enumerator { + // TODO + return nil +} +func (o *Hackers) Passwd_ByUID(cred p.Ucred, req p.Request_Passwd_ByUID) p.Passwd_Enumerator { + // TODO + return nil +} +func (o *Hackers) Passwd_All(cred p.Ucred, req p.Request_Passwd_All) p.Passwd_Enumerator { + // TODO + return nil +} +// +func (o *Hackers) Shadow_ByName(cred p.Ucred, req p.Request_Shadow_ByName) p.Shadow_Enumerator { + // TODO + return nil +} +func (o *Hackers) Shadow_All(cred p.Ucred, req p.Request_Shadow_All) p.Shadow_Enumerator { + // TODO + return nil +} +// +func (o *Hackers) Group_ByName(cred p.Ucred, req p.Request_Group_ByName) p.Group_Enumerator { + // TODO + return nil +} +func (o *Hackers) Group_ByGid(cred p.Ucred, req p.Request_Group_ByGid) p.Group_Enumerator { + // TODO + return nil +} +func (o *Hackers) Group_ByMember(cred p.Ucred, req p.Request_Group_ByMember) p.Group_Enumerator { + // TODO + return nil +} +func (o *Hackers) Group_All(cred p.Ucred, req p.Request_Group_All) p.Group_Enumerator { + // TODO + return nil +} +// +func (o *Hackers) PAM_Authentication(cred p.Ucred, req p.Request_PAM_Authentication) p.PAM_Authentication_Enumerator { + // TODO + return nil +} +func (o *Hackers) PAM_Authorization(cred p.Ucred, req p.Request_PAM_Authorization) p.PAM_Authorization_Enumerator { + // TODO + return nil +} +func (o *Hackers) PAM_SessionOpen(cred p.Ucred, req p.Request_PAM_SessionOpen) p.PAM_SessionOpen_Enumerator { + // TODO + return nil +} +func (o *Hackers) PAM_SessionClose(cred p.Ucred, req p.Request_PAM_SessionClose) p.PAM_SessionClose_Enumerator { + // TODO + return nil +} |