-
Notifications
You must be signed in to change notification settings - Fork 243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Half-life #942
Half-life #942
Conversation
3d4a3a3
to
1b4652b
Compare
v2 changes:
|
1b4652b
to
e5d83e6
Compare
v2b changes:
|
e5d83e6
to
1b05470
Compare
v2c changes:
|
Hi @alejandro-colomar, I'm helping @jubalh out with testing for this. I pulled this patch in and am still seeing the date discrepancy (see screenshot) |
Hi @kenion ,
Thanks for testing! Does it at least fix the second issue (the wrap at 12:00 UTC, 14:00 CET)? Maybe we're seeing two different bugs. Have a lovely day! |
I expect that this shouldn't be reproducible anymore:
|
Thanks @alejandro-colomar, you're right. I can no longer replicate the timezone wrap. |
Days officially roll over at 00:00 UTC, not at 12:00 UTC. I see no reason to add that half day. Also, remove the comment. It's likely to get stale. So, get_date() gets the number of seconds since the Epoch. I wonder how that thing works, but I'll assume it's something similar to getdate(3) + mktime(3). After that, we need to convert seconds since Epoch to days since Epoch. That should be a simple division, AFAICS, since Epoch is "1970‐01‐01 00:00:00 +0000 (UTC)". See mktime(3). Fixes: 45c6603 ("[svn-upgrade] Integrating new upstream version, shadow (19990709)") Link: <shadow-maint#939> Reported-by: Michael Vetter <jubalh@iodoru.org> Tested-by: Gus Kenion <https://github.com/kenion> Signed-off-by: Alejandro Colomar <alx@kernel.org>
1b05470
to
ee1e9ae
Compare
v2d changes:
|
Days officially roll over at 00:00 UTC, not at 12:00 UTC. I see no reason to add that half day. Also, remove the comment. It's likely to get stale. So, get_date() gets the number of seconds since the Epoch. I wonder how that thing works, but I'll assume it's something similar to getdate(3) + mktime(3). After that, we need to convert seconds since Epoch to days since Epoch. That should be a simple division, AFAICS, since Epoch is "1970‐01‐01 00:00:00 +0000 (UTC)". See mktime(3). Fixes: 45c6603 ("[svn-upgrade] Integrating new upstream version, shadow (19990709)") Link: <#939> Reported-by: Michael Vetter <jubalh@iodoru.org> Tested-by: Gus Kenion <https://github.com/kenion> Signed-off-by: Alejandro Colomar <alx@kernel.org> Cherry-picked-from: 1175932 ("lib/strtoday.c: strtoday(): Fix calculation") Cc: "Serge E. Hallyn" <serge@hallyn.com> Link: <#942> Signed-off-by: Alejandro Colomar <alx@kernel.org>
Instead of adding 1, we should add the value the we stored previously in the variable. Fixes: 45c6603 ("[svn-upgrade] Integrating new upstream version, shadow (19990709)") Closes: <shadow-maint#939> Link: <shadow-maint#942> Reported-by: Michael Vetter <jubalh@iodoru.org> Reported-by: Gus Kenion <https://github.com/kenion> Cc: Iker Pedrosa <ipedrosa@redhat.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
Instead of adding 1, we should add the value the we stored previously in the variable. Fixes: 45c6603 ("[svn-upgrade] Integrating new upstream version, shadow (19990709)") Closes: <shadow-maint#939> Link: <shadow-maint#942> Reported-by: Michael Vetter <jubalh@iodoru.org> Reported-by: Gus Kenion <https://github.com/kenion> Cc: Iker Pedrosa <ipedrosa@redhat.com> Cc: Serge Hallyn <serge@hallyn.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
Instead of adding 1, we should add the value the we stored previously in the variable. Fixes: 45c6603 ("[svn-upgrade] Integrating new upstream version, shadow (19990709)") Closes: <#939> Link: <#942> Reported-by: Michael Vetter <jubalh@iodoru.org> Reported-by: Gus Kenion <https://github.com/kenion> Cc: Iker Pedrosa <ipedrosa@redhat.com> Cc: Serge Hallyn <serge@hallyn.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
Instead of adding 1, we should add the value the we stored previously in the variable. Fixes: 45c6603 ("[svn-upgrade] Integrating new upstream version, shadow (19990709)") Closes: <#939> Link: <#942> Reported-by: Michael Vetter <jubalh@iodoru.org> Reported-by: Gus Kenion <https://github.com/kenion> Cc: Iker Pedrosa <ipedrosa@redhat.com> Cc: Serge Hallyn <serge@hallyn.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> Cherry-picked-from: 4d139ca ("lib/getdate.y: get_date(): Fix calculation") Link: <#952> Signed-off-by: Alejandro Colomar <alx@kernel.org>
This reverts commit 3f5b4b5. The dates are stored as UTC, and are stored as a number of days since Epoch. We don't have enough precision to translate it into local time. Using local time has caused endless issues in users. This patch is not enough for fixing this issue completely, since printing a date without time-zone information means that the date is a local date, but what we're printing is a UTC date. A future patch should add time-zone information to the date. For now, let's revert this change that has caused so many issues. Fixes: 3f5b4b5 (2024-08-01; "lib/, src/: Use local time for human-readable dates") Link: <https://github.com/ansible/ansible/blob/devel/test/integration/targets/user/tasks/test_expires.yml#L2-L20> Link: <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1095430> Link: <https://lists.iana.org/hyperkitty/list/tz@iana.org/message/ENE5IFV3GAH6WK22UJ6YU57D6TQINSP5/> Link: <shadow-maint#1202> Link: <shadow-maint#1057> Link: <shadow-maint#939> Link: <shadow-maint#1058> Link: <shadow-maint#1059 (comment)> Link: <shadow-maint#952> Link: <shadow-maint#942> Reported-by: Chris Hofstaedtler <zeha@debian.org> Reported-by: Gus Kenion <https://github.com/kenion> Reported-by: Alejandro Colomar <alx@kernel.org> Reported-by: Michael Vetter <jubalh@iodoru.org> Reported-by: Lee Garrett <lgarrett@rocketjump.eu> Cc: Paul Eggert <eggert@cs.ucla.edu> Cc: Tim Parenti <tim@timtimeonline.com> Cc: Iker Pedrosa <ipedrosa@redhat.com> Cc: "Serge E. Hallyn" <serge@hallyn.com> Cc: Brian Inglis <Brian.Inglis@SystematicSW.ab.ca> Signed-off-by: Alejandro Colomar <alx@kernel.org>
This reverts commit 3f5b4b5. The dates are stored as UTC, and are stored as a number of days since Epoch. We don't have enough precision to translate it into local time. Using local time has caused endless issues in users. This patch is not enough for fixing this issue completely, since printing a date without time-zone information means that the date is a local date, but what we're printing is a UTC date. A future patch should add time-zone information to the date. For now, let's revert this change that has caused so many issues. Fixes: 3f5b4b5 (2024-08-01; "lib/, src/: Use local time for human-readable dates") Link: <https://github.com/ansible/ansible/blob/devel/test/integration/targets/user/tasks/test_expires.yml#L2-L20> Link: <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1095430> Link: <https://lists.iana.org/hyperkitty/list/tz@iana.org/message/ENE5IFV3GAH6WK22UJ6YU57D6TQINSP5/> Link: <shadow-maint#1202> Link: <shadow-maint#1057> Link: <shadow-maint#939> Link: <shadow-maint#1058> Link: <shadow-maint#1059 (comment)> Link: <shadow-maint#952> Link: <shadow-maint#942> Reported-by: Chris Hofstaedtler <zeha@debian.org> Reported-by: Gus Kenion <https://github.com/kenion> Reported-by: Alejandro Colomar <alx@kernel.org> Reported-by: Michael Vetter <jubalh@iodoru.org> Reported-by: Lee Garrett <lgarrett@rocketjump.eu> Cc: Paul Eggert <eggert@cs.ucla.edu> Cc: Tim Parenti <tim@timtimeonline.com> Cc: Iker Pedrosa <ipedrosa@redhat.com> Cc: "Serge E. Hallyn" <serge@hallyn.com> Cc: Brian Inglis <Brian.Inglis@SystematicSW.ab.ca> Signed-off-by: Alejandro Colomar <alx@kernel.org>
This reverts commit 3f5b4b5. The dates are stored as UTC, and are stored as a number of days since Epoch. We don't have enough precision to translate it into local time. Using local time has caused endless issues in users. This patch is not enough for fixing this issue completely, since printing a date without time-zone information means that the date is a local date, but what we're printing is a UTC date. A future patch should add time-zone information to the date. For now, let's revert this change that has caused so many issues. Fixes: 3f5b4b5 (2024-08-01; "lib/, src/: Use local time for human-readable dates") Link: <https://github.com/ansible/ansible/blob/devel/test/integration/targets/user/tasks/test_expires.yml#L2-L20> Link: <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1095430> Link: <https://lists.iana.org/hyperkitty/list/tz@iana.org/message/ENE5IFV3GAH6WK22UJ6YU57D6TQINSP5/> Link: <shadow-maint#1202> Link: <shadow-maint#1057> Link: <shadow-maint#939> Link: <shadow-maint#1058> Link: <shadow-maint#1059 (comment)> Link: <shadow-maint#952> Link: <shadow-maint#942> Reported-by: Chris Hofstaedtler <zeha@debian.org> Reported-by: Gus Kenion <https://github.com/kenion> Reported-by: Alejandro Colomar <alx@kernel.org> Reported-by: Michael Vetter <jubalh@iodoru.org> Reported-by: Lee Garrett <lgarrett@rocketjump.eu> Cc: Paul Eggert <eggert@cs.ucla.edu> Cc: Tim Parenti <tim@timtimeonline.com> Cc: "Serge E. Hallyn" <serge@hallyn.com> Cc: Brian Inglis <Brian.Inglis@SystematicSW.ab.ca> Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
This reverts commit 3f5b4b5. The dates are stored as UTC, and are stored as a number of days since Epoch. We don't have enough precision to translate it into local time. Using local time has caused endless issues in users. This patch is not enough for fixing this issue completely, since printing a date without time-zone information means that the date is a local date, but what we're printing is a UTC date. A future patch should add time-zone information to the date. For now, let's revert this change that has caused so many issues. Fixes: 3f5b4b5 (2024-08-01; "lib/, src/: Use local time for human-readable dates") Link: <https://github.com/ansible/ansible/blob/devel/test/integration/targets/user/tasks/test_expires.yml#L2-L20> Link: <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1095430> Link: <https://lists.iana.org/hyperkitty/list/tz@iana.org/message/ENE5IFV3GAH6WK22UJ6YU57D6TQINSP5/> Link: <#1202> Link: <#1057> Link: <#939> Link: <#1058> Link: <#1059 (comment)> Link: <#952> Link: <#942> Reported-by: Chris Hofstaedtler <zeha@debian.org> Reported-by: Gus Kenion <https://github.com/kenion> Reported-by: Alejandro Colomar <alx@kernel.org> Reported-by: Michael Vetter <jubalh@iodoru.org> Reported-by: Lee Garrett <lgarrett@rocketjump.eu> Cc: Paul Eggert <eggert@cs.ucla.edu> Cc: Tim Parenti <tim@timtimeonline.com> Cc: "Serge E. Hallyn" <serge@hallyn.com> Cc: Brian Inglis <Brian.Inglis@SystematicSW.ab.ca> Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
@jubalh Would you please test this (I didn't test it at all yet)? Thanks!