From e4501b0913088e0d6414d3440643f823dda9f0a2 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 12 Feb 2008 14:26:56 +0100 Subject: Add get_logon_hours_from_pdb() (inspired by samba4). Guenther (This used to be commit e1bcb7d82f22810e342a18aacbcfe49c3902bcb4) --- source3/passdb/passdb.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'source3/passdb/passdb.c') diff --git a/source3/passdb/passdb.c b/source3/passdb/passdb.c index b6a4126df1..70b9dcd3b5 100644 --- a/source3/passdb/passdb.c +++ b/source3/passdb/passdb.c @@ -1616,3 +1616,26 @@ bool get_trust_pw_hash(const char *domain, uint8 ret_pwd[16], return False; } +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; +} + -- cgit