[PR #1265] [MERGED] app: Add modifyTimestamp and pwdChangedTime attributes #1217

Closed
opened 2026-02-27 09:11:22 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/lldap/lldap/pull/1265
Author: @Kumpelinus
Created: 8/26/2025
Status: Merged
Merged: 8/31/2025
Merged by: @nitnelave

Base: mainHead: modification-date


📝 Commits (10+)

  • df49d82 Initial plan
  • a90695a Implement core modifyTimestamp functionality with database migration and backend support
  • f7ab6de Fix database migration default values for modify timestamps
  • 1c92ae6 Complete modifyTimestamp implementation - fix remaining test compilation errors
  • 8a8eb41 Address review feedback: remove backup file, initialize timestamps with current time, move attributes to Public schema
  • b8b48eb Set modification timestamps for new users and groups during creation
  • 233262e Fix tests and formatting for modifyTimestamp implementation
  • 7e64e06 Fix clippy collapsible-if warnings in LDAP search code
  • edf22af Update user modification time when changing password
  • e2d9d47 Update group modification time when adding or removing users from groups

📊 Changes

21 files changed (+295 additions, -24 deletions)

View changed files

📝 app/src/infra/attributes.rs (+17 -2)
📝 crates/domain-model/src/model/groups.rs (+3 -0)
📝 crates/domain-model/src/model/users.rs (+8 -0)
📝 crates/domain/src/public_schema.rs (+27 -0)
📝 crates/domain/src/types.rs (+6 -0)
📝 crates/graphql-server/Cargo.toml (+1 -1)
📝 crates/graphql-server/src/query.rs (+48 -0)
📝 crates/ldap/src/compare.rs (+2 -0)
📝 crates/ldap/src/core/group.rs (+10 -0)
📝 crates/ldap/src/core/user.rs (+12 -0)
📝 crates/ldap/src/core/utils.rs (+10 -4)
📝 crates/ldap/src/delete.rs (+2 -0)
📝 crates/ldap/src/handler.rs (+1 -0)
📝 crates/ldap/src/modify.rs (+1 -0)
📝 crates/ldap/src/password.rs (+2 -0)
📝 crates/ldap/src/search.rs (+24 -3)
📝 crates/sql-backend-handler/src/sql_group_backend_handler.rs (+3 -0)
📝 crates/sql-backend-handler/src/sql_migrations.rs (+51 -0)
📝 crates/sql-backend-handler/src/sql_opaque_handler.rs (+3 -0)
📝 crates/sql-backend-handler/src/sql_tables.rs (+1 -1)

...and 1 more files

📄 Description

Add a modifyTimestamp attribute to LDAP entries for users and groups, and expose pwdChangedTime for users.
These attributes let clients track when an entry (or its password) was last changed.

  • modifyTimestamp is a server-maintained attribute that updates on any write to user or group entries, including membership changes (on the group side).

  • pwdChangedTime is set when a user’s password is created or changed.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/lldap/lldap/pull/1265 **Author:** [@Kumpelinus](https://github.com/Kumpelinus) **Created:** 8/26/2025 **Status:** ✅ Merged **Merged:** 8/31/2025 **Merged by:** [@nitnelave](https://github.com/nitnelave) **Base:** `main` ← **Head:** `modification-date` --- ### 📝 Commits (10+) - [`df49d82`](https://github.com/lldap/lldap/commit/df49d827d04748f4f3680279beabdb58909328c4) Initial plan - [`a90695a`](https://github.com/lldap/lldap/commit/a90695a6cedffd33f907d37a21878204b350d3f3) Implement core modifyTimestamp functionality with database migration and backend support - [`f7ab6de`](https://github.com/lldap/lldap/commit/f7ab6ded36827855ad32f80fb2f0bc5393f58c8e) Fix database migration default values for modify timestamps - [`1c92ae6`](https://github.com/lldap/lldap/commit/1c92ae60d32efc5d90b1a5f322b0b3af7e69a19b) Complete modifyTimestamp implementation - fix remaining test compilation errors - [`8a8eb41`](https://github.com/lldap/lldap/commit/8a8eb4157ca3c6a992a56e78ab93629a50da7bb3) Address review feedback: remove backup file, initialize timestamps with current time, move attributes to Public schema - [`b8b48eb`](https://github.com/lldap/lldap/commit/b8b48ebe2430316fb5d15fcca87f1f31313c33ba) Set modification timestamps for new users and groups during creation - [`233262e`](https://github.com/lldap/lldap/commit/233262efa6d844c701b0c46be65f76f41e9ab2e4) Fix tests and formatting for modifyTimestamp implementation - [`7e64e06`](https://github.com/lldap/lldap/commit/7e64e061d3528aab0dee1f5cb21331af44b591f5) Fix clippy collapsible-if warnings in LDAP search code - [`edf22af`](https://github.com/lldap/lldap/commit/edf22afda0d8a57701246751ec7f6a2f916b9b89) Update user modification time when changing password - [`e2d9d47`](https://github.com/lldap/lldap/commit/e2d9d4762364845c070d667fab83e390e3f10f29) Update group modification time when adding or removing users from groups ### 📊 Changes **21 files changed** (+295 additions, -24 deletions) <details> <summary>View changed files</summary> 📝 `app/src/infra/attributes.rs` (+17 -2) 📝 `crates/domain-model/src/model/groups.rs` (+3 -0) 📝 `crates/domain-model/src/model/users.rs` (+8 -0) 📝 `crates/domain/src/public_schema.rs` (+27 -0) 📝 `crates/domain/src/types.rs` (+6 -0) 📝 `crates/graphql-server/Cargo.toml` (+1 -1) 📝 `crates/graphql-server/src/query.rs` (+48 -0) 📝 `crates/ldap/src/compare.rs` (+2 -0) 📝 `crates/ldap/src/core/group.rs` (+10 -0) 📝 `crates/ldap/src/core/user.rs` (+12 -0) 📝 `crates/ldap/src/core/utils.rs` (+10 -4) 📝 `crates/ldap/src/delete.rs` (+2 -0) 📝 `crates/ldap/src/handler.rs` (+1 -0) 📝 `crates/ldap/src/modify.rs` (+1 -0) 📝 `crates/ldap/src/password.rs` (+2 -0) 📝 `crates/ldap/src/search.rs` (+24 -3) 📝 `crates/sql-backend-handler/src/sql_group_backend_handler.rs` (+3 -0) 📝 `crates/sql-backend-handler/src/sql_migrations.rs` (+51 -0) 📝 `crates/sql-backend-handler/src/sql_opaque_handler.rs` (+3 -0) 📝 `crates/sql-backend-handler/src/sql_tables.rs` (+1 -1) _...and 1 more files_ </details> ### 📄 Description Add a **modifyTimestamp** attribute to LDAP entries for users and groups, and expose **pwdChangedTime** for users. These attributes let clients track when an entry (or its password) was last changed. * **modifyTimestamp** is a server-maintained attribute that updates on any write to user or group entries, including membership changes (on the group side). * **pwdChangedTime** is set when a user’s password is created or changed. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 09:11:22 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/lldap-lldap#1217
No description provided.