clean up naming, add advertising that the client thinks channel binding is unsupported
This commit is contained in:
parent
62be423594
commit
2d8fffdbfc
5 changed files with 50 additions and 46 deletions
|
|
@ -3,9 +3,9 @@
|
|||
use base64;
|
||||
|
||||
use ChannelBinding;
|
||||
use SaslCredentials;
|
||||
use SaslMechanism;
|
||||
use SaslSecret;
|
||||
use Credentials;
|
||||
use Mechanism;
|
||||
use Secret;
|
||||
|
||||
use error::Error;
|
||||
|
||||
|
|
@ -162,7 +162,7 @@ impl<S: ScramProvider> Scram<S> {
|
|||
/// Constructs a new struct for authenticating using the SASL SCRAM-* and SCRAM-*-PLUS
|
||||
/// mechanisms, depending on the passed channel binding.
|
||||
///
|
||||
/// It is recommended that instead you use a `SaslCredentials` struct and turn it into the
|
||||
/// It is recommended that instead you use a `Credentials` struct and turn it into the
|
||||
/// requested mechanism using `from_credentials`.
|
||||
pub fn new<N: Into<String>, P: Into<String>>(
|
||||
username: N,
|
||||
|
|
@ -200,14 +200,14 @@ impl<S: ScramProvider> Scram<S> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<S: ScramProvider> SaslMechanism for Scram<S> {
|
||||
impl<S: ScramProvider> Mechanism for Scram<S> {
|
||||
fn name(&self) -> &str {
|
||||
// TODO: this is quite the workaround…
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn from_credentials(credentials: SaslCredentials) -> Result<Scram<S>, String> {
|
||||
if let SaslSecret::Password(password) = credentials.secret {
|
||||
fn from_credentials(credentials: Credentials) -> Result<Scram<S>, String> {
|
||||
if let Secret::Password(password) = credentials.secret {
|
||||
if let Some(username) = credentials.username {
|
||||
Scram::new(username, password, credentials.channel_binding)
|
||||
.map_err(|_| "can't generate nonce".to_owned())
|
||||
|
|
@ -315,7 +315,7 @@ impl<S: ScramProvider> SaslMechanism for Scram<S> {
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use SaslMechanism;
|
||||
use Mechanism;
|
||||
|
||||
use super::*;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue