-
-
-
-
-
This can be condensed to: return (settings.AD_RECURSION_DEPTH == -1 or depth <= settings.AD_RECURSION_DEPTH)
-
A little more context would be good here. It should have a prefix of the backend name, and include the function name. Same with other logging statements in this file.
-
-
-
Why is this temporary? Can you document it, and include a "XXX" at the beginning of the comment to indicate it?
-
-
-
The wording seemed a little confusing to me at first. Maybe something like: "PyDNS, which is required to find the domain controller, is not installed."
-
-
-
-
Good question. We should fix that :) Can you remove the comment though? We can fix this separately. Any reason the code to disable the field is commented out?
Add Active Directory backend which under most circumstance should be easier to setup than the LDAP backend
Review Request #699 — Created Jan. 14, 2009 and submitted
The LDAP backend is too confusing to setup for most users of active directory. This Active Directory backend should make it much easier to get up and running with ReviewBoard in an AD environment. A user can just specify the domain name (ie. example.com) and check the option to use DNS to find the DC servers and everything else will be taken care of for them. Finding the domain controllers from DNS requires PyDNS. There is also the option of specifying the domain controller manually. An OU can be specified optionally which will restrict users to those that belong in that OU. Users can also be required to belong to a certain group and recursive group checks are implemented when specifying a recursion depth greater than 0.
A patched version of Review Board is deployed internally, authenticating against Active Directory using DNS to find the domain controllers and with users restricted to a specified group. Extensive manual testing was performed of several combinations but I haven't figured out how to mock everything needed for an automated test suite.
CS
- Change Summary:
-
This updated patch addresses the previous style issues, adds a bit more context to the logs, added start_tls to the ldap connection if TLS is requested for AD (which I missed previously) and fixes the bug in get_can_enable_dns by using "import DNS" instead of imp.find_module (I don't know much about how imp works but it fails to find the DNS module even when import DNS works).