[horde] Wrong Birthday entry in Contacts ActiveSync & Andoird ICS 4.0.2

Michael J Rubinsky mrubinsk at horde.org
Thu Mar 1 17:27:32 UTC 2012

Quoting Stephan Kleber <stephan at admin.nabira.de>:

> Hi,
> I have a very similar problem to this. I just hadn't hat the time to  
> report it, with useful information provided. I might be able to  
> provide some logs from my ActiveSync, shifting birthday dates on  
> every sync with changes for the affected contact entry. In my  
> experience sync from Horde to Android provides the phone with the  
> correct date. When synced back (i. e. the contact was changed in  
> some way, being not nessessarily the birthday date itself) the date  
> shifted back one day. This took place everytime the contact was  
> synced back to Horde, so some dates gradually went back further in  
> time.

This sounds like maybe we are not properly converting the birthday  
while incoming, but propertly convert it outgoing - though I cannot  
reproduce this at all. Logs would be useful here to be sure the data  
being sent by the device is in accordance with the specs.

> I have experienced the additional problem that events in kronolith,  
> created or changed on the phone and synced back to Horde, were  
> created one hour earlier than on the phone (Horde-Frontend and date  
> value in database are both consistently wrong). The other way round  
> (Horde syncs to phone) works flawlessly. In the ActiveSync logs  
> written by Horde, I could see that the time is submitted to Horde  
> correctly (i. e. the time for an event is the correct one as created  
> on the phone, but in follow-up must be written to the database  
> erroneously one hour in the past).

This sounds like the device is not sending the required timezone data.  
In previous versions of our library we were actually just ignoring the  
incoming timezone data, but that has changed, IIRC maybe 2 or 3  
releases ago. Again, logs which would show the timezone string being  
sent to Horde would help, to make sure that our tz parsing code deals  
with your specific case correctly. This would also be impacted by any  
changes to tz data that is not yet included in your PHP's timezone  

> Both problems (turba and kronolith) appear with different client  
> devices (iPhone 4, iPod with iOS 3.x, Android LeeDroid Custom ROM,  
> Acer A501 Stock ROM, and others) different users (all users on my  
> Horde deployment) and always just from client to Horde. The other  
> way round always works correct.

I cannot reproduce any of these issues, with 3 different android  
devices with different android versions right on up to ICS, 2  
different iPhones (both 3G and 4Gs, 1 iPod Touch, or 1 iPad.

> The timezone on the server AND (as far as I have control of them) on  
> the phones is CET (UTC +1). Interestingly enough in the user  
> settings of Horde the time of the last sync of the phones is one  
> hour in the future compared with the actual sync time.

This is a bug, and probably due to me being lazy and not thinking to  
convert the synctime (which comes directly from the server at the time  
of each http request) to the proper timezone. It is not related to  
anything regarding the actual sync data and is only used internally to  
track what has changed between 2 different synctimes.

> kronolith is NOT using UTC in the database since the convert script  
> totally confused the times of the events to be converted "randomly"  
> by one or two hours. So I am involuntarily stuck with local time in  
> the database.

I am almost positive that not using UTC is going to screw up your time  
data during syncing, especially events that recur but I will have to  
investigate further to see if this is 100% correct. It's difficult to  
track down these issues when I cannot reproduce them.

> I can provide some logs of this behaviour and screenshots if you  
> like. But it could take until the weekend for me to find the time to  
> do so. Is there anything special you want to see besides the  
> ActiveSync logs?

The logs should be good enough, though you could throw in the server  
error log, or at least check it to be sure no errors got dumped in  
there (errors within Horde's application scope will NOT go to the AS  
log). It might also be helpful to know what the values of the various  
fields are in Horde's data storage as well.

> I had reported at least the kronolith issue on 2011-12-05 to this  
> list (Subject: "Timeshift on ActiveSync to Horde") and Mike asked me  
> on 2011-12-20 to wait for an upcoming update but this did not solve  
> the issue.

This, IIRC, should have been fixed by the incoming timezone parsing  
code we added that I mentioned above. I *do* remember writing a test,  
that failed in the way you described, which then passed after the  
changes were applied to the code.

> Maybe both issues (kronolith and turba) have the same reason so I  
> mentioned both.

May very well be the case...


The Horde Project (www.horde.org)
mrubinsk at horde.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-keys
Size: 2200 bytes
Desc: PGP Public Key
URL: <http://lists.horde.org/archives/horde/attachments/20120301/e66121b9/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6096 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.horde.org/archives/horde/attachments/20120301/e66121b9/attachment-0001.bin>

More information about the horde mailing list