I have confirmed the problem in Zimbra 4.0.5 and confirmed that the fixes below fix the issue.
From a Zimbra client with browser platform in NZDT. In Calendar I created an appointment. I set the timezone to US/Central, I created a meeting on the 10th March 2007 at 3pm - it showed in my NZDT calendar as 10am - Correct.
Next I created a meeting on the 11th March 2007 at 3pm (US/Central) it showed in my NZDT calendar as 10am - INCORRECT
After the US Central timezone was modified and the experiment repeated the second appointment was shown as 9am - CORRECT
WARNING! I'm not responsible for anyone screwing their Zimbra installation. If you don’t know what you're doing, don’t do it. Or make a call to Zimbra support ...
The following changes Zimbra DST rules for:
All of the United States except:
Arizona, Hawaii, Puerto Rico, the U.S. Virgin Islands, and American Samoa
Indiana is a weird case and those folk located there can make up their own minds what TZ to modify or observe ....
The Navajo Nation located in Arizona appears to observe daylight savings, I have no idea what TZ you would choose.
Canada except for most of Saskatchewan observes DST
Atlantic Timezone - It appears that the Nova Scotia in the Atlantic TZ observes daylight savings, but this was not implemented in Zimbra.
Western Australia - made the decision to support DST in November with cut over in December - thanks for the warning guys.
First find your LDAP admin DN and password:
Code:
[zimbra@cmp conf]$ zmlocalconfig -s | grep zimbra_ldap
zimbra_ldap_password = kiyC9CQS
zimbra_ldap_userdn = uid=zimbra,cn=admins,cn=zimbra
Grab the lines at the bottom of this post and save it as modentry.ldif in /tmp
Next modify your LDAP server (note the substituted DN and password):
Code:
ldapmodify -H ldap://ldaphost.example.com -x -D "uid=zimbra,cn=admins,cn=zimbra" -f /tmp/modentry.ldif -w kiyC9CQS
Restart Zimbra
Code:
#### Cut below here
version: 1
# Modify (GMT-09.00) Alaska
dn: cn=(GMT-09.00) Alaska,cn=timezones,cn=config,cn=zimbra
changetype: modify
replace: zimbraTimeZoneStandardRRule
zimbraTimeZoneStandardRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU
-
replace: zimbraTimeZoneDaylightRRule
zimbraTimeZoneDaylightRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU
# (GMT-08.00) Pacific Time (US & Canada) / Tijuana
# (supports Daylight Savings Time)
dn: cn=(GMT-08.00) Pacific Time (US & Canada) / Tijuana,cn=timezones,cn=config,cn=zimbra
changetype: modify
replace: zimbraTimeZoneStandardRRule
zimbraTimeZoneStandardRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU
-
replace: zimbraTimeZoneDaylightRRule
zimbraTimeZoneDaylightRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU
# (GMT-07.00) Mountain Time (US & Canada)
# (supports Daylight Savings Time)
dn: cn=(GMT-07.00) Mountain Time (US & Canada),cn=timezones,cn=config,cn=zimbra
changetype: modify
replace: zimbraTimeZoneStandardRRule
zimbraTimeZoneStandardRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU
-
replace: zimbraTimeZoneDaylightRRule
zimbraTimeZoneDaylightRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU
# (GMT-06.00) Central Time (US & Canada)
# (supports Daylight Savings Time)
dn: cn=(GMT-06.00) Central Time (US & Canada),cn=timezones,cn=config,cn=zimbra
changetype: modify
replace: zimbraTimeZoneStandardRRule
zimbraTimeZoneStandardRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU
-
replace: zimbraTimeZoneDaylightRRule
zimbraTimeZoneDaylightRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU
# (GMT-05.00) Eastern Time (US & Canada)
# (supports Daylight Savings Time)
dn: cn=(GMT-05.00) Eastern Time (US & Canada),cn=timezones,cn=config,cn=zimbra
changetype: modify
replace: zimbraTimeZoneStandardRRule
zimbraTimeZoneStandardRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU
-
replace: zimbraTimeZoneDaylightRRule
zimbraTimeZoneDaylightRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU
# (GMT-04.00) Atlantic Time (Canada)
dn: cn=(GMT-04.00) Atlantic Time (Canada),cn=timezones,cn=config,cn=zimbra
changetype: modify
replace: zimbraTimeZoneStandardDtStart
zimbraTimeZoneStandardDtStart: 16010101T020000
-
add: zimbraTimeZoneStandardRRule
zimbraTimeZoneStandardRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU
-
replace: zimbraTimeZoneDaylightDtStart
zimbraTimeZoneDaylightDtStart: 16010101T020000
-
replace: zimbraTimeZoneDaylightOffset
zimbraTimeZoneDaylightOffset: -0400
-
add: zimbraTimeZoneDaylightRRule
zimbraTimeZoneDaylightRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU
# (GMT+08.00) Perth
dn: cn=(GMT\+08.00) Perth,cn=timezones,cn=config,cn=zimbra
changetype: modify
replace: zimbraTimeZoneStandardDtStart
zimbraTimeZoneStandardDtStart: 16010101T030000
-
add: zimbraTimeZoneStandardRRule
zimbraTimeZoneStandardRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=-1SU
-
replace: zimbraTimeZoneDaylightDtStart
zimbraTimeZoneDaylightDtStart: 16010101T020000
-
replace: zimbraTimeZoneDaylightOffset
zimbraTimeZoneDaylightOffset: +0900
-
add: zimbraTimeZoneDaylightRRule
zimbraTimeZoneDaylightRRule: FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=10;BYDAY=-1SU
### End of file