diff options
author | Günther Deschner <gd@samba.org> | 2008-02-12 14:26:56 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2008-02-12 14:52:25 +0100 |
commit | e4501b0913088e0d6414d3440643f823dda9f0a2 (patch) | |
tree | 8c47ecc3ac4127699d22d21d0839a159a6cad2a9 /source3/passdb | |
parent | 4867e1ff93cae13b6d03bf0a0526c5655100a098 (diff) | |
download | samba-e4501b0913088e0d6414d3440643f823dda9f0a2.tar.gz samba-e4501b0913088e0d6414d3440643f823dda9f0a2.tar.bz2 samba-e4501b0913088e0d6414d3440643f823dda9f0a2.zip |
Add get_logon_hours_from_pdb() (inspired by samba4).
Guenther
(This used to be commit e1bcb7d82f22810e342a18aacbcfe49c3902bcb4)
Diffstat (limited to 'source3/passdb')
-rw-r--r-- | source3/passdb/passdb.c | 23 |
1 files changed, 23 insertions, 0 deletions
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; +} + |