Jonas Schäfer
1e695d8923
sasl: remove ignore
from toml snippet
...
Those aren't run anyway, so we don't need it there.
2024-06-25 07:30:33 +02:00
Jonas Schäfer
8bc1f32218
sasl: remove ignore
from scram-requiring doctest
...
We can make that conditional on the feature flag, thus always doing the
right thing depending on how the sasl crate is being built.
2024-06-25 07:30:33 +02:00
Emmanuel Gil Peyrot
002c2803d4
Fix typos across the codebase (thanks codespell!)
2024-05-14 05:46:02 +00:00
Lucas Kent
8bdd19b0ff
Add SCRAM client extensions support
...
The SCRAM RFC describes extensions that can be used to add extra
data into the protocol.
This commit adds support for the client scram mechanism to insert extension
data into the client messages at the locations specified by the SCRAM RFC.
Kafka utilizes these extensions when authenticating delegation tokens
over scram. Since I am writing a kafka client I would like access to
these extensions so I can support delegation tokens.
I've only added them to Scram::new not Mechanism::from_credentials
since they do not apply to other mechanisms. For my purposes this is
fine since I only need to work with scram. However it would be
limiting for other use cases, so I'm quite happy to add the extension
fields into Credentials if that was desired. For now I've left it out
since the fields would be scram exclusive and everything else in
Credentials is currently generic.
2024-05-13 23:42:22 +00:00
Lucas Kent
1449d300dd
Fix clippy lints for sasl crate
2024-05-13 16:03:48 +00:00
Lucas Kent
a291ab2e83
Remove an allocation in client::mechanisms::scram::Scram::initial
2024-05-06 08:25:24 +10:00
Jonas Schäfer
13be111de1
sasl: make docs.rs emit nice feature tags on feature-gated items
2024-04-23 19:22:04 +02:00
Emmanuel Gil Peyrot
1bab5c3cd9
Remove redundant imports
...
These became warnings in a recent nightly.
The TryFrom/TryInto imports were missed in
4089891f6c
, but the rest are truly
redundant.
2024-02-27 22:57:18 +01:00
4089891f6c
Update edition to 2021
...
- Remove TryFrom/Into and FromIterator imports
- Prevent impl_validator_using_provider macro in sasl crate from
constructing trait object
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-12-15 19:40:09 +00:00
Emmanuel Gil Peyrot
b94d1b5222
sasl: Use the right name for SCRAM with channel binding
...
It is SCRAM-SHA-1-PLUS, not SCRAM-SHA-1.
2023-10-25 20:03:11 +02:00
Emmanuel Gil Peyrot
b5aa36b72c
sasl: Add tls-exporter channel binding
...
This channel binding type is defined in RFC 9266 and is required to
support channel binding on TLS 1.3.
2023-10-25 19:20:02 +02:00
0100909a28
sasl: Update pbkdf2 dep to 0.12
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-08-20 21:24:04 +02:00
6efc67a198
sasl: Update base64 to 0.21
...
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-08-20 21:24:04 +02:00
Raman Hafiyatulin
fd26d04635
macro impl_validator_using_provider!
: use $crate::server::ValidatorError
instead of ValidatorError
2023-07-30 17:17:26 +03:00
Gustav Palmqvist
14dddf4aaa
Check build without default features in ci-cd.
2022-05-20 18:54:50 +02:00
Gustav Palmqvist
c9931f12a9
Fixed not building when default-features = false
2022-05-20 18:54:50 +02:00
Emmanuel Gil Peyrot
3a802eb193
Implement SASL ANONYMOUS on the server side
...
Fixes #11 .
2021-12-25 16:24:00 +01:00
Emmanuel Gil Peyrot
6e22c0fcb4
Bump all hash crates
2021-12-25 15:57:41 +01:00
Emmanuel Gil Peyrot
af1d3c924a
Bump RustCrypto crates
2020-06-22 01:20:16 +02:00
lumi
5550148149
Merge branch 'no-string-error' into 'master'
...
Use structs for errors instead of plain strings
Closes #3
See merge request lumi/sasl-rs!8
2020-06-07 12:26:12 +00:00
Emmanuel Gil Peyrot
7fd6923464
Use error structs for errors instead of plain strings.
2020-05-15 13:56:09 +02:00
Emmanuel Gil Peyrot
09745829f1
client: Remove Result from Mechanism::initial().
2020-02-25 23:31:29 +01:00
Emmanuel Gil Peyrot
21e9c8e660
Switch from the deprecated rand-os crate to getrandom.
2020-02-25 22:32:03 +01:00
Emmanuel Gil Peyrot
0c426b4d17
Remove .unwrap() in SCRAM code.
2019-01-18 00:26:48 +01:00
Emmanuel Gil Peyrot
5337a0a149
Remove the openssl dependency, fixes #4 .
2019-01-18 00:08:48 +01:00
Emmanuel Gil Peyrot
5892caa4a8
Switch to RustCrypto for pbkdf2.
2019-01-18 00:08:48 +01:00
Emmanuel Gil Peyrot
506d0b17fc
Switch to rand_os for random bytes.
2019-01-18 00:08:48 +01:00
Emmanuel Gil Peyrot
392b1c66b1
Switch to RustCrypto for Hmac.
2019-01-18 00:08:48 +01:00
Emmanuel Gil Peyrot
13d6340298
Switch to RustCrypto for hashes.
2019-01-18 00:08:48 +01:00
Emmanuel Gil Peyrot
9e9f09a9a5
Update to Edition 2018.
2019-01-17 22:54:32 +01:00
Marc-Antoine Perennou
a7f460f900
update base64 and openssl deps
...
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2018-02-27 11:44:41 +01:00
Emmanuel Gil Peyrot
a8fe78704b
remove println!() introduced in 7b52210d
2017-05-06 13:21:58 +01:00
lumi
b0e72d586b
add derive methods to Pbkdf2 secrets
2017-04-04 18:04:23 +02:00
lumi
09a71b6e0a
how did this get there?
2017-03-28 15:55:07 +02:00
lumi
ac21b1544e
redundant line
2017-03-28 15:48:49 +02:00
lumi
f999429df8
derp
2017-03-25 23:50:58 +01:00
lumi
97f597d89d
more API simplifications
2017-03-25 23:45:30 +01:00
lumi
35fc26f378
lower rust versions really don't like this
2017-03-25 23:25:28 +01:00
lumi
6c11716926
clean up lots of things, server-side API improved
2017-03-25 23:15:34 +01:00
Geoffroy Couprie
a8f8744e21
isolate scram behind a compilation feature
2017-03-25 14:44:22 +01:00
lumi
4b9f2376af
initial work towards server-side support
2017-03-16 20:04:22 +01:00
lumi
2d8fffdbfc
clean up naming, add advertising that the client thinks channel binding is unsupported
2017-03-07 17:02:57 +01:00
lumi
88ea00baa7
cleaned up channel binding logic, cleaned up SaslCredentials, updated documentation
2017-03-07 15:02:38 +01:00
lumi
c56676a601
#![deny(missing_docs)] and lots of documentation
2017-02-28 13:05:17 +01:00
lumi
353b2579ea
initial commit
2017-02-27 16:08:09 +01:00