View Issue Details

IDProjectCategoryView StatusLast Update
0004914SOGoBackend Calendarpublic2023-09-11 18:58
Reporterschmirl Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status confirmedResolutionopen 
Product Version4.2.0 
Summary0004914: Calendar support for dates <1970 and >2038 (Y2k28 problem)
Description

Times are stored as UNIX time in a 32-bit signed INT in MySQL. So it is not possible to get beyond 2038-01-18. While dates before 1970 are stored as negative numbers in MySQL, they won't show up in the Webcalendar.

Steps To Reproduce

Enter an appointment starting before 1970 which repeats daily. In the web calender you will see the first instance on 1970-01-02 and the last instance on 2038-01-18 (daily view).

Additional Information

As negative values don't show up there's probably also some problem in the Objective-C parts. In earlier SOGo versions negative dates appeared in year 2106 backwards, so negative values had been processed as unsigned. I could no longer reproduce this in SOGo 4.2.0.

TagsNo tags attached.

Activities

sebastien

sebastien

2023-06-21 13:53

administrator   ~0017073

Negative timestamp shall now be supported in next nightly build and appointments before 1970-01-01 are now displayed.
However you can't still go over 2038, so I keep this ticket open

Commit : https://github.com/Alinto/sogo/commit/8a8dcae0298b81a486ad454bd58b90821eec6894

Sebastien

sebastien

sebastien

2023-06-21 13:54

administrator   ~0017074

schmirl

schmirl

2023-06-22 07:17

reporter   ~0017080

Great! Merci beaucoup!

Issue History

Date Modified Username Field Change
2019-12-23 20:22 schmirl New Issue
2023-06-21 13:50 sebastien Assigned To => sebastien
2023-06-21 13:50 sebastien Status new => assigned
2023-06-21 13:53 sebastien Note Added: 0017073
2023-06-21 13:54 sebastien Note Added: 0017074
2023-06-21 13:54 sebastien File Added: Capture d’écran 2023-06-21 à 15.54.13.png
2023-06-22 07:17 schmirl Note Added: 0017080
2023-09-11 14:26 qhivert Assigned To sebastien =>
2023-09-11 18:58 sebastien Status assigned => confirmed