diff options
Diffstat (limited to 'vendor/mellium.im/sasl/mechanism.go')
-rw-r--r-- | vendor/mellium.im/sasl/mechanism.go | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/vendor/mellium.im/sasl/mechanism.go b/vendor/mellium.im/sasl/mechanism.go deleted file mode 100644 index 7cf166d7b..000000000 --- a/vendor/mellium.im/sasl/mechanism.go +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2016 The Mellium Contributors. -// Use of this source code is governed by the BSD 2-clause license that can be -// found in the LICENSE file. - -package sasl - -import ( - "crypto/sha1" - "crypto/sha256" - "errors" -) - -// Define common errors used by SASL mechanisms and negotiators. -var ( - ErrInvalidState = errors.New("Invalid state") - ErrInvalidChallenge = errors.New("Invalid or missing challenge") - ErrAuthn = errors.New("Authentication error") - ErrTooManySteps = errors.New("Step called too many times") -) - -var ( - // Plain is a Mechanism that implements the PLAIN authentication mechanism - // as defined by RFC 4616. - Plain Mechanism = plain - - // ScramSha256Plus is a Mechanism that implements the SCRAM-SHA-256-PLUS - // authentication mechanism defined in RFC 7677. The only supported channel - // binding type is tls-unique as defined in RFC 5929. - ScramSha256Plus Mechanism = scram("SCRAM-SHA-256-PLUS", sha256.New) - - // ScramSha256 is a Mechanism that implements the SCRAM-SHA-256 - // authentication mechanism defined in RFC 7677. - ScramSha256 Mechanism = scram("SCRAM-SHA-256", sha256.New) - - // ScramSha1Plus is a Mechanism that implements the SCRAM-SHA-1-PLUS - // authentication mechanism defined in RFC 5802. The only supported channel - // binding type is tls-unique as defined in RFC 5929. - ScramSha1Plus Mechanism = scram("SCRAM-SHA-1-PLUS", sha1.New) - - // ScramSha1 is a Mechanism that implements the SCRAM-SHA-1 authentication - // mechanism defined in RFC 5802. - ScramSha1 Mechanism = scram("SCRAM-SHA-1", sha1.New) -) - -// Mechanism represents a SASL mechanism that can be used by a Client or Server -// to perform the actual negotiation. Base64 encoding the final challenges and -// responses should not be performed by the mechanism. -// -// Mechanisms must be stateless and may be shared between goroutines. When a -// mechanism needs to store state between the different steps it can return -// anything that it needs to store and the value will be cached by the -// negotiator and passed in as the data parameter when the next challenge is -// received. -type Mechanism struct { - Name string - Start func(n *Negotiator) (more bool, resp []byte, cache interface{}, err error) - Next func(n *Negotiator, challenge []byte, data interface{}) (more bool, resp []byte, cache interface{}, err error) -} |