diff options
author | Gerald Carter <jerry@samba.org> | 2000-11-21 05:55:16 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2000-11-21 05:55:16 +0000 |
commit | 0dcbafe2b97035df779f2e0742a130c4c79e3241 (patch) | |
tree | 0d556fda89c3ce7423430186618e71a5790c0359 /source3/include | |
parent | 2130ced345a6f3ecffe61c3622aceb8986925baa (diff) | |
download | samba-0dcbafe2b97035df779f2e0742a130c4c79e3241.tar.gz samba-0dcbafe2b97035df779f2e0742a130c4c79e3241.tar.bz2 samba-0dcbafe2b97035df779f2e0742a130c4c79e3241.zip |
Another large patch for the passdb rewrite.
o added BOOL own_memory flag in SAM_ACCOUNT so we could
use static memory for string pointer assignment or
allocate a new string
o added a reference TDB passdb backend. This is only a reference
and should not be used in production because
- RID's are generated using the same algorithm as with smbpasswd
- a TDB can only have one key (w/o getting into problems) and we
need three. Therefore the pdb_sam-getpwuid() and
pdb_getsampwrid() functions are interative searches :-(
we need transaction support, multiple indexes, and a nice open
source DBM. The Berkeley DB (from sleepycat.com seems to fit
this criteria now)
o added a new parameter "private dir" as many places in the code were
using lp_smb_passwd_file() and chopping off the filename part.
This makes more sense to me and I will docuement it in the man pages
o Ran through Insure-lite and corrected memory leaks. Need for
a public flogging this time Jeremy (-:
-- jerry
(This used to be commit 4792029a2991bd84251d152a62b1033dec62cee2)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/smb.h | 68 |
1 files changed, 3 insertions, 65 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h index 7fe36edee9..756737af1d 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -654,6 +654,9 @@ typedef struct typedef struct sam_passwd { + BOOL own_memory; /* do we own the memory allocated for the + pointers in this struct? */ + time_t logon_time; /* logon time */ time_t logoff_time; /* logoff time */ time_t kickoff_time; /* kickoff time */ @@ -694,71 +697,6 @@ typedef struct sam_passwd } SAM_ACCOUNT; -#if 0 /* GWC */ -/* - * Each implementation of the password database code needs - * to support the following operations. - */ - -struct passdb_ops { - /* - * Password database ops. - */ - void *(*startsmbpwent)(BOOL); - void (*endsmbpwent)(void *); - SMB_BIG_UINT (*getsmbpwpos)(void *); - BOOL (*setsmbpwpos)(void *, SMB_BIG_UINT); - - /* - * smb password database query functions. - */ - struct smb_passwd *(*getsmbpwnam)(char *); - struct smb_passwd *(*getsmbpwuid)(uid_t); - struct smb_passwd *(*getsmbpwrid)(uint32); - struct smb_passwd *(*getsmbpwent)(void *); - - /* - * smb password database modification functions. - */ - BOOL (*add_smbpwd_entry)(struct smb_passwd *); - BOOL (*mod_smbpwd_entry)(struct smb_passwd *, BOOL); - BOOL (*del_smbpwd_entry)(const char *); - - /* - * Functions that manupulate a struct sam_passwd. - */ - struct sam_passwd *(*getsam21pwent)(void *); - - /* - * sam password database query functions. - */ - struct sam_passwd *(*getsam21pwnam)(char *); - struct sam_passwd *(*getsam21pwuid)(uid_t); - struct sam_passwd *(*getsam21pwrid)(uint32); - - /* - * sam password database modification functions. - */ - BOOL (*add_sam21pwd_entry)(struct sam_passwd *); - BOOL (*mod_sam21pwd_entry)(struct sam_passwd *, BOOL); - - /* - * sam query display info functions. - */ - struct sam_disp_info *(*getsamdispnam)(char *); - struct sam_disp_info *(*getsamdisprid)(uint32); - struct sam_disp_info *(*getsamdispent)(void *); - - /* - * password checking functions - */ - struct smb_passwd *(*smb_password_chal )(char *username, char lm_pass[24], char nt_pass[24], char chal[8]); - struct smb_passwd *(*smb_password_check )(char *username, char lm_hash[16], char nt_hash[16]); - struct passwd *(*unix_password_check)(char *username, char *pass, int pass_len); -}; - -#endif /* 0 */ - /* * Flags for local user manipulation. */ |