summaryrefslogtreecommitdiff
path: root/source3/rpc_server/srv_samr_nt.c
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2010-05-18 18:54:56 +0200
committerGünther Deschner <gd@samba.org>2010-05-18 21:43:05 +0200
commitf6f3bb1813b5f030616e422ed420b938244be84e (patch)
treeac189ce46b5e73b83c71c2790b7d6823e34a0dd1 /source3/rpc_server/srv_samr_nt.c
parent8478770c357f712f1fc3b8a0a9a5f9e730388abb (diff)
downloadsamba-f6f3bb1813b5f030616e422ed420b938244be84e.tar.gz
samba-f6f3bb1813b5f030616e422ed420b938244be84e.tar.bz2
samba-f6f3bb1813b5f030616e422ed420b938244be84e.zip
s3-passdb: move get_logon_hours_from_pdb() into samr server.
Guenther
Diffstat (limited to 'source3/rpc_server/srv_samr_nt.c')
-rw-r--r--source3/rpc_server/srv_samr_nt.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c
index 1dd0088f9c..b5200af819 100644
--- a/source3/rpc_server/srv_samr_nt.c
+++ b/source3/rpc_server/srv_samr_nt.c
@@ -2400,6 +2400,32 @@ static NTSTATUS init_samr_parameters_string(TALLOC_CTX *mem_ctx,
}
/*************************************************************************
+ *************************************************************************/
+
+static struct samr_LogonHours get_logon_hours_from_pdb(TALLOC_CTX *mem_ctx,
+ struct samu *pw)
+{
+ struct samr_LogonHours hours;
+ const int units_per_week = 168;
+
+ ZERO_STRUCT(hours);
+ hours.bits = talloc_array(mem_ctx, uint8_t, units_per_week);
+ if (!hours.bits) {
+ return hours;
+ }
+
+ hours.units_per_week = units_per_week;
+ memset(hours.bits, 0xFF, units_per_week);
+
+ if (pdb_get_hours(pw)) {
+ memcpy(hours.bits, pdb_get_hours(pw),
+ MIN(pdb_get_hours_len(pw), units_per_week));
+ }
+
+ return hours;
+}
+
+/*************************************************************************
get_user_info_1.
*************************************************************************/