Actually enforce the passdb API.
authorAndrew Bartlett <abartlet@samba.org>
Wed, 2 Jan 2002 07:41:54 +0000 (07:41 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 2 Jan 2002 07:41:54 +0000 (07:41 +0000)
commita3f891dbd2e9ee1681e3c8295cd62a877c727d4f
treeee185124c2fe6296244864c1089cb2f861c6da25
parent71f982c9f2f450d660406d6015ff9756bf317218
Actually enforce the passdb API.

Thou shalt not reference SAM_ACCOUNT members directly - always use
pdb_get/pdb_set.

This is achived by making the whole of SAM_ACCOUNT have a .private member,
where the real members live.  This caught a pile of examples, and these have
beeen fixed.

The pdb_get..() functions are 'const' (have been for some time) and this
required a few small changes to constify other functions.

I've also added some debugs to the pdb get and set, they can be removed if
requested.

I've rewritten the copy_id2x_to_sam_pass() functions to use the new passdb
interface, but I need the flags info to do it properly.

The pdb_free_sam() funciton now blanks out the LM and NT hashes, and as such
I have removed many extra 'samr_clear_sam_passwd(smbpass)' calls as a result.

Finally, any and all testing is always appriciated - but the basics seem to
work.

Andrew Bartlett
(This used to be commit d3dd28f6c443187b8d820d5a39c7c5b3be2fa95c)
source3/groupdb/mapping.c
source3/include/smb.h
source3/passdb/passdb.c
source3/passdb/pdb_ldap.c
source3/passdb/pdb_nisplus.c
source3/passdb/pdb_tdb.c
source3/rpc_server/srv_samr_nt.c
source3/smbd/password.c
source3/utils/pdbedit.c