mirror of
https://github.com/lldap/lldap.git
synced 2026-04-25 00:05:50 +03:00
[PR #1282] Password policy #1231
Labels
No labels
backend
blocked
bug
cleanup
dependencies
docker
documentation
duplicate
enhancement
enhancement
frontend
github_actions
good first issue
help wanted
help wanted
integration
invalid
ldap
pull-request
question
rust
rust
tests
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/lldap-lldap#1231
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/lldap/lldap/pull/1282
Author: @gplubeck
Created: 9/8/2025
Status: 🔄 Open
Base:
main← Head:password-policy📝 Commits (10+)
460836fAdding Password Policy. Defined in frontend-options as well as validation function. Retrieved via /settings. Appears to work in set-password. Next more validation and adding use in front end UI.f2c81ddAppears to be working on web component. Unsure about how to return violations of password policy. More testing.feda394Front end now shows password requirement when password fails. Bubbles up all requirements not hit. Also happens for set-password.69b0288Cleaning up unused code.d102a95Update some lines to be more consistent with rest of repo.e3f925bAdded examples and comments to lldap_config.docker_template.toml407eb87cargo fmtf96d4deUpdated struct to remove redudant error message, change a few stylistic things, pin anyhow to major version 1.b54fc92Changing to test for chars length instead of bytes. Changing style of joining error strings so there is no else.d19b81fAdd HTTP request timeout when getting settings.📊 Changes
9 files changed (+243 additions, -58 deletions)
View changed files
📝
Cargo.lock(+2 -0)📝
app/src/components/change_password.rs(+75 -53)📝
crates/frontend-options/Cargo.toml(+3 -0)📝
crates/frontend-options/src/lib.rs(+106 -1)📝
lldap_config.docker_template.toml(+21 -0)📝
server/src/configuration.rs(+4 -0)📝
server/src/tcp_server.rs(+8 -0)📝
set-password/Cargo.toml(+3 -0)📝
set-password/src/main.rs(+21 -4)📄 Description
BLUF: This PR add the ability to set password complexity requirements via a PasswordPolicyOptions struct.
There appear to be a number of requests for volunteer organizations or small businesses (https://github.com/lldap/lldap/issues/521, https://github.com/lldap/lldap/issues/783, etc) that want basic password complexity. This pull request would add the ability to to add pseudo complex password.
The struct, its default implementation, and the validation function for password have been placed in the frontend-options create. Perhaps there is a better location for the struct definition and the validation function?
Additionally, the server configuration now loads the password policy options when started. This means password policies can change as requirements change.
set-password now queries the /settings endpoint and receives back the password policy options and enforces them unless the --bypass-password-policy is given. Moreover, the front end also queries the password policy and bubbles up all password requirement failures as seen in the screenshot.
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.