Skip to content
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

PWM incorrectly sends manageDSAit control on search operations #610

Open
quanah opened this issue Jul 12, 2021 · 1 comment
Open

PWM incorrectly sends manageDSAit control on search operations #610

quanah opened this issue Jul 12, 2021 · 1 comment

Comments

@quanah
Copy link

quanah commented Jul 12, 2021

The PWM application incorrectly sends the manageDSAit control on search operations. This control is only supposed to be used in very specific cases, not as a general control to always be expressed. By using this control without any consideration to end effect breaks the ability of end LDAP servers to behave as expected. For example with openldap, the use of the managedsait control disables various behaviors that PWM relies on, causing the PWM to not get correct results.

@quanah
Copy link
Author

quanah commented Jul 14, 2021

This is due to the fact that ldapchai uses the poorly written JNDI interface to do LDAP connections. JNDI incorrectly always enables the manageDSAit control by default. It would be better to have ldapchai in place with the Apache LDAP Java API as it was written by people who actually comprehend LDAP.

Also, although PWM has an option to enable/disable chasing of referrals, it doesn't actually pass this parameter down to JNDI so as to disable the manageDSAit control

The JNDI documentation itself clearly demonstrates that the JNDI developers do not fully comprehend RFC 3296, as they incorrectly call this the manage referral control whereas the RFC explicitly states: "is defined to allow manipulation of referral and other special objects as normal objects." They seem to have missed the second part.

JNDI can have this broken behavior disabled via the Context.REFERRAL environment property

flyinva added a commit to flyinva/rundeck that referenced this issue Feb 6, 2024
JNDI sets Manage Referral Control to ignore per default. This value prevents dynamic group usage with rundeck. Adding an option to change Manage Referral control default value allow dynamic groups usage.

- ignore : ignore referrals (default value as actually)
- follow :  automatically follow any referrals for dynamic groups

- https://docs.oracle.com/javase/tutorial/jndi/newstuff/mdsaIT.html
- pwm-project/pwm#610
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant