summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2000-11-21 05:55:16 +0000
committerGerald Carter <jerry@samba.org>2000-11-21 05:55:16 +0000
commit0dcbafe2b97035df779f2e0742a130c4c79e3241 (patch)
tree0d556fda89c3ce7423430186618e71a5790c0359 /source3/include
parent2130ced345a6f3ecffe61c3622aceb8986925baa (diff)
downloadsamba-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.h68
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.
*/