summaryrefslogtreecommitdiff
path: root/source3/sam/get_set_account.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/sam/get_set_account.c')
-rw-r--r--source3/sam/get_set_account.c33
1 files changed, 30 insertions, 3 deletions
diff --git a/source3/sam/get_set_account.c b/source3/sam/get_set_account.c
index acac281d21..7bbfe39e14 100644
--- a/source3/sam/get_set_account.c
+++ b/source3/sam/get_set_account.c
@@ -355,11 +355,11 @@ NTSTATUS sam_get_account_unknown_3(const SAM_ACCOUNT_HANDLE *sampass, uint32 *un
Collection of set...() functions for SAM_ACCOUNT_HANDLE_INFO.
********************************************************************/
-NTSTATUS sam_set_account_acct_ctrl(SAM_ACCOUNT_HANDLE *sampass, uint16 acct_ctrl)
+NTSTATUS sam_set_account_acct_ctrl(SAM_ACCOUNT_HANDLE *sampass, uint16 flags)
{
SAM_ASSERT(sampass);
- sampass->private.acct_ctrl = acct_ctrl;
+ sampass->private.acct_ctrl = flags;
return NT_STATUS_OK;
}
@@ -370,6 +370,8 @@ NTSTATUS sam_set_account_logon_time(SAM_ACCOUNT_HANDLE *sampass, NTTIME mytime,
sampass->private.logon_time = mytime;
+ if (store)
+ sam_set_account_init_flag(sampass, FLAG_SAM_LOGONTIME);
return NT_STATUS_UNSUCCESSFUL;
}
@@ -380,6 +382,9 @@ NTSTATUS sam_set_account_logoff_time(SAM_ACCOUNT_HANDLE *sampass, NTTIME mytime,
sampass->private.logoff_time = mytime;
+ if (store)
+ sam_set_account_init_flag(sampass, FLAG_SAM_LOGOFFTIME);
+
return NT_STATUS_OK;
}
@@ -389,6 +394,8 @@ NTSTATUS sam_set_account_kickoff_time(SAM_ACCOUNT_HANDLE *sampass, NTTIME mytime
sampass->private.kickoff_time = mytime;
+ if (store)
+ sam_set_account_init_flag(sampass, FLAG_SAM_KICKOFFTIME);
return NT_STATUS_OK;
}
@@ -399,6 +406,8 @@ NTSTATUS sam_set_account_pass_can_change_time(SAM_ACCOUNT_HANDLE *sampass, NTTIM
sampass->private.pass_can_change_time = mytime;
+ if (store)
+ sam_set_account_init_flag(sampass, FLAG_SAM_CANCHANGETIME);
return NT_STATUS_OK;
}
@@ -409,6 +418,9 @@ NTSTATUS sam_set_account_pass_must_change_time(SAM_ACCOUNT_HANDLE *sampass, NTTI
sampass->private.pass_must_change_time = mytime;
+ if (store)
+ sam_set_account_init_flag(sampass, FLAG_SAM_MUSTCHANGETIME);
+
return NT_STATUS_OK;
}
@@ -573,6 +585,7 @@ NTSTATUS sam_set_account_logon_script(SAM_ACCOUNT_HANDLE *sampass, const char *l
sampass->private.logon_script = talloc_strdup(sampass->mem_ctx, logon_script);
+ sam_set_account_init_flag(sampass, FLAG_SAM_LOGONSCRIPT);
return NT_STATUS_OK;
}
@@ -589,6 +602,11 @@ NTSTATUS sam_set_account_profile_path(SAM_ACCOUNT_HANDLE *sampass, const char *p
sampass->private.profile_path = talloc_strdup(sampass->mem_ctx, profile_path);
+ if (store) {
+ DEBUG(10, ("sam_set_profile_path: setting profile path sam flag!\n"));
+ sam_set_account_init_flag(sampass, FLAG_SAM_PROFILE);
+ }
+
return NT_STATUS_OK;
}
@@ -605,6 +623,11 @@ NTSTATUS sam_set_account_dir_drive(SAM_ACCOUNT_HANDLE *sampass, const char *dir_
sampass->private.dir_drive = talloc_strdup(sampass->mem_ctx, dir_drive);
+ if (store) {
+ DEBUG(10, ("sam_set_dir_drive: setting dir drive sam flag!\n"));
+ sam_set_account_init_flag(sampass, FLAG_SAM_DRIVE);
+ }
+
return NT_STATUS_OK;
}
@@ -621,6 +644,11 @@ NTSTATUS sam_set_account_homedir(SAM_ACCOUNT_HANDLE *sampass, const char *home_d
sampass->private.home_dir = talloc_strdup(sampass->mem_ctx, home_dir);
+ if (store) {
+ DEBUG(10, ("sam_set_homedir: setting home dir sam flag!\n"));
+ sam_set_account_init_flag(sampass, FLAG_SAM_SMBHOME);
+ }
+
return NT_STATUS_OK;
}
@@ -691,7 +719,6 @@ NTSTATUS sam_set_account_munged_dial(SAM_ACCOUNT_HANDLE *sampass, const char *mu
SAM_ASSERT(sampass);
sampass->private.munged_dial = talloc_strdup(sampass->mem_ctx, munged_dial);
-
return NT_STATUS_OK;
}