コード例 #1
0
ファイル: sasl.go プロジェクト: whawty/auth
// NewServerFromListener creates a server struct using a UnixListener specified
// by ln. cb is the callback function which will get called for any authentication
// request.
func NewServerFromListener(ln *net.UnixListener, cb AuthCB) (s *Server, err error) {
	s = &Server{}
	s.sockPath = ln.Addr().String()
	s.cb = cb
	s.ln = net.Listener(ln)
	return
}
コード例 #2
0
ファイル: sasl_socket.go プロジェクト: whawty/auth
func runSaslAuthSocketListener(listener *net.UnixListener, store *StoreChan) error {
	path := listener.Addr().String()
	s, err := sasl.NewServerFromListener(listener, func(log string, pwd string, srv string, rlm string) (bool, string, error) {
		return callback(log, pwd, srv, rlm, path, store)
	})
	if err != nil {
		return err
	}
	wl.Printf("listening on '%s'", path)

	if err := s.Run(); err != nil {
		wl.Printf("error on sasl socket '%s': %s", path, err)
	}
	return nil
}