|
@@ -41,15 +41,17 @@ func (c *connection) clientAuthenticate(config *ClientConfig) error {
|
|
|
tried[auth.method()] = true
|
|
tried[auth.method()] = true
|
|
|
|
|
|
|
|
auth = nil
|
|
auth = nil
|
|
|
|
|
+
|
|
|
|
|
+ findNext:
|
|
|
for _, a := range config.Auth {
|
|
for _, a := range config.Auth {
|
|
|
candidateMethod := a.method()
|
|
candidateMethod := a.method()
|
|
|
|
|
+ if tried[candidateMethod] {
|
|
|
|
|
+ continue
|
|
|
|
|
+ }
|
|
|
for _, meth := range methods {
|
|
for _, meth := range methods {
|
|
|
- if meth != candidateMethod {
|
|
|
|
|
- continue
|
|
|
|
|
- }
|
|
|
|
|
- if !tried[meth] {
|
|
|
|
|
|
|
+ if meth == candidateMethod {
|
|
|
auth = a
|
|
auth = a
|
|
|
- break
|
|
|
|
|
|
|
+ break findNext
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|