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. How reproducible: Always. Steps to Reproduce: 1. Configure WinSync 2. Create a user and adjust their logon hours and account expiration on the Windows side. 3. Open the DS console and use the wizards to view the values. They will be incorrect. 4. Change the values in the DS console. 5. Open the users in the Windows side and view those values. They will be now be incorrect. Actual results: The times input using the console are not accurate. Expected results: The times should match. Additional info: 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] diffs
Created attachment 326573 [details] never expires
Created attachment 326574 [details] expires with date
Created attachment 326575 [details] ADUtil.java
Created attachment 327161 [details] fixed diffs
Created attachment 327182 [details] more fixed diffs
Created attachment 327183 [details] new ADUtil.java
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. http://rhn.redhat.com/errata/RHEA-2009-0455.html