Adding a unique error when no authentication method has been passed in
yet. Since ServerAuthError returns all errors collected during the userAuthLoop, it will always include the generic error "no auth passed yet" (assuming the connection fails). Change-Id: I5f6c67f3f0762b023618178d4028600d2b6c9253 Reviewed-on: https://go-review.googlesource.com/92737 Reviewed-by: Han-Wen Nienhuys <hanwen@google.com> Run-TryBot: Han-Wen Nienhuys <hanwen@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
committed by
Han-Wen Nienhuys
parent
650f4a345a
commit
432090b8f5
+9
-1
@@ -309,6 +309,14 @@ func (l ServerAuthError) Error() string {
|
||||
return "[" + strings.Join(errs, ", ") + "]"
|
||||
}
|
||||
|
||||
// NoAuthError is the unique error that is returned if no authentication method
|
||||
// has been passed yet
|
||||
type NoAuthError struct{}
|
||||
|
||||
func (e *NoAuthError) Error() string {
|
||||
return "no auth passed yet"
|
||||
}
|
||||
|
||||
func (s *connection) serverAuthenticate(config *ServerConfig) (*Permissions, error) {
|
||||
sessionID := s.transport.getSessionID()
|
||||
var cache pubKeyCache
|
||||
@@ -363,7 +371,7 @@ userAuthLoop:
|
||||
}
|
||||
|
||||
perms = nil
|
||||
authErr := errors.New("no auth passed yet")
|
||||
authErr := error(&NoAuthError{})
|
||||
|
||||
switch userAuthReq.Method {
|
||||
case "none":
|
||||
|
||||
Reference in New Issue
Block a user