diff options
author | Gerald Carter <jerry@samba.org> | 2002-07-27 04:56:06 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2002-07-27 04:56:06 +0000 |
commit | 637fe80a0b3f0f40d54238d8dfe5c08076c8ce59 (patch) | |
tree | 4473cf206106044379ea30627a60039690a0e69a /source/passdb | |
parent | a637458ff33925dee6016647e39b8ec92ccdfb6f (diff) | |
download | samba-637fe80a0b3f0f40d54238d8dfe5c08076c8ce59.tar.gz |
merging for 2.2.6pre1
Diffstat (limited to 'source/passdb')
-rw-r--r-- | source/passdb/pdb_ldap.c | 12 | ||||
-rw-r--r-- | source/passdb/pdb_smbpasswd.c | 6 | ||||
-rw-r--r-- | source/passdb/pdb_tdb.c | 41 |
3 files changed, 30 insertions, 29 deletions
diff --git a/source/passdb/pdb_ldap.c b/source/passdb/pdb_ldap.c index c24d96653b6..2289a7070ee 100644 --- a/source/passdb/pdb_ldap.c +++ b/source/passdb/pdb_ldap.c @@ -114,7 +114,7 @@ static BOOL ldap_open_connection (LDAP ** ldap_struct) { int port; int version; - int tls; + int tls, rc; uid_t uid = geteuid(); struct passwd* pass; @@ -541,7 +541,7 @@ static BOOL init_sam_from_ldap (SAM_ACCOUNT * sampass, if (!get_single_attribute(ldap_struct, entry, "homeDrive", dir_drive)) { pstrcpy(dir_drive, lp_logon_drive()); - standard_sub_advanced(-1, username, "", gid, dir_drive); + standard_sub_advanced(-1, username, "", gid, dir_drive, sizeof(dir_drive)); DEBUG(5,("homeDrive fell back to %s\n",dir_drive)); pdb_set_dir_drive(sampass, dir_drive, False); } @@ -550,7 +550,7 @@ static BOOL init_sam_from_ldap (SAM_ACCOUNT * sampass, if (!get_single_attribute(ldap_struct, entry, "smbHome", homedir)) { pstrcpy(homedir, lp_logon_home()); - standard_sub_advanced(-1, username, "", gid, homedir); + standard_sub_advanced(-1, username, "", gid, homedir, sizeof(homedir)); DEBUG(5,("smbHome fell back to %s\n",homedir)); pdb_set_homedir(sampass, homedir, False); } @@ -559,7 +559,7 @@ static BOOL init_sam_from_ldap (SAM_ACCOUNT * sampass, if (!get_single_attribute(ldap_struct, entry, "scriptPath", logon_script)) { pstrcpy(logon_script, lp_logon_script()); - standard_sub_advanced(-1, username, "", gid, logon_script); + standard_sub_advanced(-1, username, "", gid, logon_script, sizeof(logon_script)); DEBUG(5,("scriptPath fell back to %s\n",logon_script)); pdb_set_logon_script(sampass, logon_script, False); } @@ -568,7 +568,7 @@ static BOOL init_sam_from_ldap (SAM_ACCOUNT * sampass, if (!get_single_attribute(ldap_struct, entry, "profilePath", profile_path)) { pstrcpy(profile_path, lp_logon_path()); - standard_sub_advanced(-1, username, "", gid, profile_path); + standard_sub_advanced(-1, username, "", gid, profile_path, sizeof(profile_path)); DEBUG(5,("profilePath fell back to %s\n",profile_path)); pdb_set_profile_path(sampass, profile_path, False); } @@ -854,7 +854,7 @@ BOOL pdb_getsampwnam(SAM_ACCOUNT * user, char *sname) pstring filter; pstrcpy(filter, lp_ldap_filter()); - standard_sub_advanced(-1, sname, "", -1, filter); + standard_sub_advanced(-1, sname, "", -1, filter, sizeof(filter)); DEBUG(0,("LDAP search \"%s\" returned %d entries.\n", filter, ldap_count_entries(ldap_struct, result))); ldap_unbind(ldap_struct); diff --git a/source/passdb/pdb_smbpasswd.c b/source/passdb/pdb_smbpasswd.c index 6f75f879667..f6bb98bd599 100644 --- a/source/passdb/pdb_smbpasswd.c +++ b/source/passdb/pdb_smbpasswd.c @@ -1236,15 +1236,15 @@ static BOOL build_sam_account(SAM_ACCOUNT *sam_pass, struct smb_passwd *pw_buf) sam_logon_in_ssb = True; pstrcpy(str, lp_logon_script()); - standard_sub_advanced(-1, pw_buf->smb_name, "", gid, str); + standard_sub_advanced(-1, pw_buf->smb_name, "", gid, str,0); pdb_set_logon_script(sam_pass, str, False); pstrcpy(str, lp_logon_path()); - standard_sub_advanced(-1, pw_buf->smb_name, "", gid, str); + standard_sub_advanced(-1, pw_buf->smb_name, "", gid, str,0); pdb_set_profile_path(sam_pass, str, False); pstrcpy(str, lp_logon_home()); - standard_sub_advanced(-1, pw_buf->smb_name, "", gid, str); + standard_sub_advanced(-1, pw_buf->smb_name, "", gid, str,0); pdb_set_homedir(sam_pass, str, False); sam_logon_in_ssb = False; diff --git a/source/passdb/pdb_tdb.c b/source/passdb/pdb_tdb.c index 58143977e08..aaada4d6687 100644 --- a/source/passdb/pdb_tdb.c +++ b/source/passdb/pdb_tdb.c @@ -87,6 +87,11 @@ static BOOL init_sam_from_buffer (SAM_ACCOUNT *sampass, uint8 *buf, uint32 bufle uid_t uid; gid_t gid; + pstring phomedir; + pstring pdir_drive; + pstring plogon_script; + pstring pprofile_path; + if(sampass == NULL || buf == NULL) { DEBUG(0, ("init_sam_from_buffer: NULL parameters found!\n")); return False; @@ -160,42 +165,38 @@ static BOOL init_sam_from_buffer (SAM_ACCOUNT *sampass, uint8 *buf, uint32 bufle if (homedir) setflag = True; else { setflag = False; - homedir = strdup(lp_logon_home()); - if(!homedir) { ret = False; goto done; } - standard_sub_advanced(-1, username, "", gid, homedir); - DEBUG(5,("Home directory set back to %s\n", homedir)); + pstrcpy(phomedir, lp_logon_home()); + standard_sub_advanced(-1, username, "", gid, phomedir, sizeof(phomedir)); + DEBUG(5,("Home directory set back to %s\n", phomedir)); } - pdb_set_homedir(sampass, homedir, setflag); + pdb_set_homedir(sampass, phomedir, setflag); if (dir_drive) setflag = True; else { setflag = False; - dir_drive = strdup(lp_logon_drive()); - if(!dir_drive) { ret = False; goto done; } - standard_sub_advanced(-1, username, "", gid, dir_drive); - DEBUG(5,("Home directory set back to %s\n", dir_drive)); + pstrcpy(pdir_drive, lp_logon_drive()); + standard_sub_advanced(-1, username, "", gid, pdir_drive, sizeof(pdir_drive)); + DEBUG(5,("Home directory set back to %s\n", pdir_drive)); } - pdb_set_dir_drive(sampass, dir_drive, setflag); + pdb_set_dir_drive(sampass, pdir_drive, setflag); if (logon_script) setflag = True; else { setflag = False; - logon_script = strdup(lp_logon_script()); - if(!logon_script) { ret = False; goto done; } - standard_sub_advanced(-1, username, "", gid, logon_script); - DEBUG(5,("Home directory set back to %s\n", logon_script)); + pstrcpy(plogon_script, lp_logon_script()); + standard_sub_advanced(-1, username, "", gid, plogon_script, sizeof(plogon_script)); + DEBUG(5,("Home directory set back to %s\n", plogon_script)); } - pdb_set_logon_script(sampass, logon_script, setflag); + pdb_set_logon_script(sampass, plogon_script, setflag); if (profile_path) setflag = True; else { setflag = False; - profile_path = strdup(lp_logon_path()); - if(!profile_path) { ret = False; goto done; } - standard_sub_advanced(-1, username, "", gid, profile_path); - DEBUG(5,("Home directory set back to %s\n", profile_path)); + pstrcpy(pprofile_path, lp_logon_path()); + standard_sub_advanced(-1, username, "", gid, pprofile_path, sizeof(pprofile_path)); + DEBUG(5,("Home directory set back to %s\n", pprofile_path)); } - pdb_set_profile_path(sampass, profile_path, setflag); + pdb_set_profile_path(sampass, pprofile_path, setflag); pdb_set_acct_desc (sampass, acct_desc); pdb_set_workstations (sampass, workstations); |