// AuthAnonymous returns an Auth that uses the ANONYMOUS mechanism. func AuthAnonymous() Auth { … } type authAnonymous … func (a *authAnonymous) FirstData() (name, resp []byte, status AuthStatus) { … } func (a *authAnonymous) HandleData(data []byte) (resp []byte, status AuthStatus) { … }