ptclient & ldap changes
Igor Brezac
igor at ypass.net
Fri May 30 13:50:41 EDT 2008
1) I suggest that you keep ldap_sasl for backward configuration
compatibility. ldap_sasl name is used for sasl vs non sasl binds.
Note that 'ldap_id' needs to have authorization to proxy.
2) I suppose you can have ldap_group_method: attribute, but this is not
how ldap data is typically used for groups. Also, I suggest that
ldap_group_attribute be used instead of ldap_member_attribute. As you
correctly described ldap_group and ldap_member do two different things
and your implementation would be a bit confusing. You can possibly
default ldap_group_attribute to the value of ldap_member_attribute.
I personally do not like ldap_group_method: none, mabe Kan can chime
in. This option basically allows for an arbitrary group identifier
(potentially non existing one) to be assigned to a mailbox.
3) This seems unnecessary, but can you explain a little more?
-Igor
Wesley Craig wrote:
> I have a number of ptclient & ldap bug fixes and improvements to make:
>
> 1) In 2.3.12p2, if ldap_sasl is enabled, user DNs are obtained
> through SASL authN/Z proxying. This assumes that the LDAP server
> supports authN/Z proxying and that ptclient/ldap has authorization to
> proxy for all users. I've moved this option under a new configuration
> option, ldap_proxy_authz, since the authZ proxying is more or less
> orthogonal to using SASL for LDAP authN.
>
> 2) Groups have two LDAP configurations, one for populating the
> groups a user belongs to and a second for validating a (new) group
> name. In 2.3.12p2, those two configurations suffer from non-parallel
> construction. In particular, ldap_member_method allows both
> "attribute" and "filter", while the ldap_group_* configuration has no
> "_method" configuration, implicitly assuming "filter" instead. I've
> added a ldap_group_method configuration, with three options, "filter",
> "attribute" and "none". "none" allows any string that can be
> canonicalized to be used. "filter" works just like ldap_group_* was
> working -- exactly one DN may be returned. "attribute" looks for at
> least one DN to be returned. A correct "attribute" configuration
> searches for the attribute used in ldap_member_attribute. The
> assumption is that if anyone has the group attribute, it is a valid
> group name.
>
> 3) I changed the default ldap_size_limit to 2. I also inserted
> some additional checks in the code to specifically look for cases
> where size limit is exceeded. These may or may not be errors,
> depending on what you're looking for.
>
> 4) I fixed two small bugs in ptloader.c, one where unused memory
> to syslog'd and another where the error message returned from the
> ptloader module isn't null terminated when being passed to auth_pts.c.
>
> Please find the patch attached. Comments?
>
> :wes
More information about the Cyrus-devel
mailing list