samr conversion finished!
Luke Kenneth Casson Leighton
lkcl at samba.org
Sun Jan 30 23:40:48 GMT 2000
ok, it's done! untested, of course, except for a few minor bits / pieces.
you will need to write slightly more advanced versions of
set_policy_samr_sid() and get_policy_samr_sid(), you will need something
like this:
set_policy_ldap_struct_info()
get_policy_ldap_struct_info()
where lda_struct_info is this:
{
LDAP_DB_HND *hnd;
DOM_SID sid;
}
and anything else you are going to need.
the 3rd argument to set_policy_state() needs to be your own free routine,
see free_policy_con(0 in rpc_client/cli_connect.c for an appropriate
example, you will need to call:
ldi = (ldap_struct_info*) dev;
if (ldi->hnd != NULL)
{
close_ldap_db_hnd(ldi->hnd);
}
free(ldi);
basically that's it.
then, when someone does samr_close(), the handle will be automatically
closed and the close_lda_db_hnd() will get called.
when you do a samr_open_user(), you _create_ the ldap handle, create the
SID, set them in the lda_struct_info and then call
set_policy_state_ldap_info().
in, say, your samr_query_user_info() call, yuo do this:
get_policy_state_ldap_info(ldap_struct);
then you do your ldap-related lda_get_user_info21(ldap_struct->hnd, ...)
and that's it!
it's pretty trivial, and a _lot_ cleaner than the stupid mess there at the
moment.
do you want to wait until i write samr tdb, or are you going to stick with
passdb/*.c groupdb/*.c like you [sensibly] keep telling me?
:)
luke
More information about the samba-technical
mailing list