-
-
Notifications
You must be signed in to change notification settings - Fork 131
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
acls with identical access definitions are not implemented correctly #420
Comments
Flushes happen every time a resource changes, whether it is creation, destroy or modify. Ensure we do not needlesly copy-paste the ldapmodify code in those three separate instances. This also ensures that if a new property is ever added, we do not need create a separate setter. This commit thus also fixes a bug where if a `what` of an openldap_access resource changed, it would not trigger an update. The setter for that property was lost in the refactor of commit 91e9723. -> Fixes voxpupuli#420.
@WimRooseUG @JonasVerhofste added a fix for this problem. Is it possible to create a PR for this? |
@cbergmann I've actually been meaning to overhaul all the provider code in the same way as I did to |
hi @JonasVerhofste thanks for the heads up. I will watch this issue about the progress. In the meantime I will use the UGent-DICT ldiff_flushing branch. If you need someone to test something don't hesitate to ask. Kind gards |
How to reproduce (e.g Puppet code you use)
Adding an acl before another with identical 'what' doesn't update olcaccess 'to', and results in duplicate acl's
Example (openldap::server::acces_wrapper)
Altering
to
What are you seeing
puppet logs
slapcat
Any additional information you'd like to impart
As far as I understand, this behaviour is caused by the @property_flush variabele only being set by the access method, which doesn't happen when the access directive is identical with the existing acl on that position.
I've noticed this while setting up a new ldap server for a database with 100+ acl's, where not all acl's with identical access directives (by * read f.i.) are defined in a single olcaccess directive.
The text was updated successfully, but these errors were encountered: