[PATCH] s4-drs: Delete RODC filtered attributes from objects
Anatoliy Atanasov
anatoliy.atanasov at postpath.com
Fri Mar 12 06:42:33 MST 2010
> Hi Fernando,
>
> > In this patch, if there is an update on an attributeSchema object such
> > that it become part of the RODC filtered set, then we delete the
> > values of that attribute from any object which contains it.
>
> I think this isn't the right approach.
>
> When a DC is a RODC, then when it replicates from another DC, it gets
> a subset of the attributes. So there is no need for it to delete
> attributes. The reason it gets a subset is that a RODC is not trusted
> to hold all attributes, so they will never be sent by the other DC.
>
> I think these are the logical changes we need to support RODC
> operation:
>
> 1) when we are a RODC we should refuse changes to the directory. This
> would happen in repl_meta_data.c module. I think the logical place
> for this check is in replmd_update_rpmd_element()
I am on it, I was wondering where this check should happen, I though about ldap_server/ldap_backend.c because as far as I know the LDAP request goes thru there first.
> 2) when we are sending changes as a DRS server, and the recipient is
> a RODC, then we should filter the attributes that we send. That
> should happen in get_nc_changes_build_object() I think (via a helper
> function).
Fernando, regarding the filtered attribute set this task is closer to what you investigated so far, you can try and solve this.
> 3) in both cases (client and server) we need to make sure we set the
> flags to say that we are a RODC. Look for all places we set the
> DRSUAPI_DRS_WRIT_REP flag, and see if they need to change.
I changed that while doing a RODC join, the check if we are RODC is samdb_rodc.
> There is also the problem of request forwarding when we are a RODC. A
> RODC usually does not have the passwords of users (although the admin
> may allow it to have the passwords of some users). So when it gets a
> login request, it has to forward it to a DC that does have the
> passwords. I haven't looked into how that works yet, but I suspect it
> will be the trickiest part of the changes for RODC support.
I read about that and the solution for this is called credential caching, I described this task in: http://wiki.samba.org/index.php/Samba4_DRS_TODO_List#Support_RODC
> Cheers, Tridge
Regards,
Anatoliy
More information about the samba-technical
mailing list