-
-
Notifications
You must be signed in to change notification settings - Fork 329
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[enhancement]: Implement FreeIPA password hash algorithm #538
Comments
PR ready! |
Hello, I used the code you submitted in #539 and added these two parts of the code to the project's source code. I compiled and released it using "cargo build --release". I then used the generated stalwart-mail.exe and connected it to my LDAP server. However, I still encountered an error similar to the following during login:
Were you able to successfully resolve this issue with your code? |
Thank you. I have resolved the issue I encountered. Instead of modifying the source code for compilation, I used the code you submitted to change the password format from:
to
With this change, Stalwart no longer reports the "Unsupported algorithm" error and allows normal login. I also encountered a minor issue: it seems that Stalwart uses standard Base64 encoding, whereas variant Base64 replaces certain characters. Conversion to standard Base64 is required for it to work properly. It would be great if future updates of Stalwart could support these variations. |
I'm not familiar with FreeIPA but does it support LDAP bind authentication? If so you can configure Stalwart to use bind auth and delegate the password hash validation to FreeIPA. |
@mdecimus Yes FreeIPA supports bind authentication and I dont have any issues with my setup. Settings I changed: Url: Bind Auth DN: |
@cpollmann Even with your setup, I am currently facing the following issue:
|
Which feature or improvement would you like to request?
Stalwart officially supports the PBKDF hash algorithm, and FreeIPA uses it as default.
It would be awesome to make Stalwart working flawlessly with this LDAP provider.
Is your feature request related to a problem?
However, Stalwart don't understand FreeIPA password hash syntax.
As we can see here, The
{PBKDF2}
prefix is understood, but FreeIPA uses{PBKDF-SHA1}
,{PBKDF-SHA256}
,{PBKDF-SHA512}
, which ends up throwing an Unsupported password hash algorithm error.There should not have a lot of effort to provide, because these encryption algorithms are supported by the concerned crate.
I hope to see it soon!
P.-S. : I am currently working on implementing it by myself, and a PR will arrive soon, but because it's my first time with Rust, the code will probably be clumsy
Code of Conduct
The text was updated successfully, but these errors were encountered: