Description of problem:
The handling of the logonHours and accountExpires attributes by the console is
incorrect. David took a look, and assuming I relay this accurately, the console
is basing its time calculations off time_t while AD and the NT4 sync service
expect dates referenced off FILETIME.
Steps to Reproduce:
1. Configure WinSync
2. Create a user and adjust their logon hours and account expiration on the
3. Open the DS console and use the wizards to view the values. They will be
4. Change the values in the DS console.
5. Open the users in the Windows side and view those values. They will be now
The times input using the console are not accurate.
The times should match.
This is a problem in the way the console calculates the value and not a problem
in the DS's handling of the attributes.
FILETIME is in 100's of nanoseconds since 1/1/1601.
Created attachment 326572 [details]
Created attachment 326573 [details]
Created attachment 326574 [details]
expires with date
Created attachment 326575 [details]
Created attachment 327161 [details]
Created attachment 327182 [details]
more fixed diffs
Created attachment 327183 [details]
Created attachment 327184 [details]
cvs commit log
Reviewed by: nhosoi (Thanks!)
Files: new file ADUtil.java
Fix Description: Added code to convert from Windows FILETIME to Java
time. Added special handling for the "Never Expires" value, which can
be the very large value or 0. The console now displays "Never Expires"
or the actual human readable value for the time.
As far as Logon Hours, it's just really messed up. I will open another
bug for that.
https://bugzilla.redhat.com/attachment.cgi?id=326573 - never expires
https://bugzilla.redhat.com/attachment.cgi?id=326574 - expires with date
Platforms tested: RHEL5
Flag Day: no
Doc impact: yes
I'm not sure what was really fixed here. Can you be more specific? It still seems pretty screwed up. Thanks Jenny
(In reply to comment #15)
> I'm not sure what was really fixed here. Can you be more specific? It still
> seems pretty screwed up. Thanks Jenny
Account Expires handling should be correct now. Logon Hours is still messed up - there is another bug for that (for a later release, not for this one). So I guess for this bug, just verify that Account Expires is handled correctly.
Account Expires -
Fix Verified DS 8.1 RHEL5 - Windows Synchronization 1.1.0
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.