summaryrefslogtreecommitdiff
path: root/source/passdb
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2002-07-27 04:56:06 +0000
committerGerald Carter <jerry@samba.org>2002-07-27 04:56:06 +0000
commit637fe80a0b3f0f40d54238d8dfe5c08076c8ce59 (patch)
tree4473cf206106044379ea30627a60039690a0e69a /source/passdb
parenta637458ff33925dee6016647e39b8ec92ccdfb6f (diff)
downloadsamba-637fe80a0b3f0f40d54238d8dfe5c08076c8ce59.tar.gz
merging for 2.2.6pre1
Diffstat (limited to 'source/passdb')
-rw-r--r--source/passdb/pdb_ldap.c12
-rw-r--r--source/passdb/pdb_smbpasswd.c6
-rw-r--r--source/passdb/pdb_tdb.c41
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);