sasl/Cargo.toml 🔗
@@ -9,6 +9,7 @@ documentation = "https://docs.rs/sasl"
readme = "README.md"
keywords = ["sasl", "authentication"]
license = "LGPL-3.0+"
+edition = "2018"
[badges]
gitlab = { repository = "lumi/sasl-rs" }
Emmanuel Gil Peyrot created
sasl/Cargo.toml | 1 +
sasl/src/client/mechanisms/anonymous.rs | 4 ++--
sasl/src/client/mechanisms/plain.rs | 4 ++--
sasl/src/client/mechanisms/scram.rs | 14 +++++++-------
sasl/src/client/mod.rs | 2 +-
sasl/src/common/scram.rs | 4 ++--
sasl/src/lib.rs | 7 +------
sasl/src/secret.rs | 8 ++++----
sasl/src/server/mechanisms/plain.rs | 6 +++---
sasl/src/server/mechanisms/scram.rs | 10 +++++-----
sasl/src/server/mod.rs | 4 ++--
11 files changed, 30 insertions(+), 34 deletions(-)
@@ -9,6 +9,7 @@ documentation = "https://docs.rs/sasl"
readme = "README.md"
keywords = ["sasl", "authentication"]
license = "LGPL-3.0+"
+edition = "2018"
[badges]
gitlab = { repository = "lumi/sasl-rs" }
@@ -1,7 +1,7 @@
//! Provides the SASL "ANONYMOUS" mechanism.
-use client::Mechanism;
-use common::{Credentials, Secret};
+use crate::client::Mechanism;
+use crate::common::{Credentials, Secret};
/// A struct for the SASL ANONYMOUS mechanism.
pub struct Anonymous;
@@ -1,7 +1,7 @@
//! Provides the SASL "PLAIN" mechanism.
-use client::Mechanism;
-use common::{Credentials, Identity, Password, Secret};
+use crate::client::Mechanism;
+use crate::common::{Credentials, Identity, Password, Secret};
/// A struct for the SASL PLAIN mechanism.
pub struct Plain {
@@ -2,11 +2,11 @@
use base64;
-use client::Mechanism;
-use common::scram::{generate_nonce, ScramProvider};
-use common::{parse_frame, xor, ChannelBinding, Credentials, Identity, Password, Secret};
+use crate::client::Mechanism;
+use crate::common::scram::{generate_nonce, ScramProvider};
+use crate::common::{parse_frame, xor, ChannelBinding, Credentials, Identity, Password, Secret};
-use error::Error;
+use crate::error::Error;
use std::marker::PhantomData;
@@ -189,9 +189,9 @@ impl<S: ScramProvider> Mechanism for Scram<S> {
#[cfg(test)]
mod tests {
- use client::mechanisms::Scram;
- use client::Mechanism;
- use common::scram::{Sha1, Sha256};
+ use crate::client::mechanisms::Scram;
+ use crate::client::Mechanism;
+ use crate::common::scram::{Sha1, Sha256};
#[test]
fn scram_sha1_works() {
@@ -1,4 +1,4 @@
-use common::Credentials;
+use crate::common::Credentials;
/// A trait which defines SASL mechanisms.
pub trait Mechanism {
@@ -6,9 +6,9 @@ use openssl::pkey::PKey;
use openssl::rand::rand_bytes;
use openssl::sign::Signer;
-use common::Password;
+use crate::common::Password;
-use secret;
+use crate::secret;
use base64;
@@ -163,11 +163,6 @@
//! sasl = "*"
//! ```
-extern crate base64;
-
-#[cfg(feature = "scram")]
-extern crate openssl;
-
mod error;
pub mod client;
@@ -176,4 +171,4 @@ pub mod server;
pub mod common;
pub mod secret;
-pub use error::Error;
+pub use crate::error::Error;
@@ -21,8 +21,8 @@ pub struct Pbkdf2Sha1 {
impl Pbkdf2Sha1 {
#[cfg(feature = "openssl")]
pub fn derive(password: &str, salt: &[u8], iterations: usize) -> Result<Pbkdf2Sha1, String> {
- use common::scram::{ScramProvider, Sha1};
- use common::Password;
+ use crate::common::scram::{ScramProvider, Sha1};
+ use crate::common::Password;
let digest = Sha1::derive(&Password::Plain(password.to_owned()), salt, iterations)?;
Ok(Pbkdf2Sha1 {
salt: salt.to_vec(),
@@ -56,8 +56,8 @@ pub struct Pbkdf2Sha256 {
impl Pbkdf2Sha256 {
#[cfg(feature = "openssl")]
pub fn derive(password: &str, salt: &[u8], iterations: usize) -> Result<Pbkdf2Sha256, String> {
- use common::scram::{ScramProvider, Sha256};
- use common::Password;
+ use crate::common::scram::{ScramProvider, Sha256};
+ use crate::common::Password;
let digest = Sha256::derive(&Password::Plain(password.to_owned()), salt, iterations)?;
Ok(Pbkdf2Sha256 {
salt: salt.to_vec(),
@@ -1,6 +1,6 @@
-use common::Identity;
-use secret;
-use server::{Mechanism, Response, Validator};
+use crate::common::Identity;
+use crate::secret;
+use crate::server::{Mechanism, Response, Validator};
pub struct Plain<V: Validator<secret::Plain>> {
validator: V,
@@ -2,11 +2,11 @@ use std::marker::PhantomData;
use base64;
-use common::scram::{generate_nonce, ScramProvider};
-use common::{parse_frame, xor, ChannelBinding, Identity};
-use secret;
-use secret::Pbkdf2Secret;
-use server::{Mechanism, Provider, Response};
+use crate::common::scram::{generate_nonce, ScramProvider};
+use crate::common::{parse_frame, xor, ChannelBinding, Identity};
+use crate::secret;
+use crate::secret::Pbkdf2Secret;
+use crate::server::{Mechanism, Provider, Response};
enum ScramState {
Init,
@@ -1,5 +1,5 @@
-use common::Identity;
-use secret::Secret;
+use crate::common::Identity;
+use crate::secret::Secret;
#[macro_export]
macro_rules! impl_validator_using_provider {