Dear Cyrus maintainers,

building Cyrus IMAP 2.5.6 on Solaris 11 using the Sun CC, I experienced
issues when acting as replication target with the sync server crashing
for mails containing US timezones.

After several hours of debugging, we traced it back to a missing include
statement in times.c (strings.h missing). This resulted in the Sun CC
falling back to some included function (thus compilation works), but
this one again is broken and returns 32 bit pointers instead of 64 bit
pointers in `strchr`.

In the end, two problems add up here:

- times.c trusting in strings.h already being included (which seemingly
is a false assumption considering the sync server)
- Sun CC probably being broken (we already issued a service request with
Oracle)

I attached a proposed patch adding an include statement in times.c,
maybe it should be put somewhere further up in the include chain instead.

Kind regards from Lake Constance, Germany,
Jens Erat


-- 
Jens Erat
Universität Konstanz
Kommunikations-, Infomations-, Medienzentrum (KIM)
Abteilung Basisdienste
D-78457 Konstanz
Mail: jens.e...@uni-konstanz.de
--- cyrus-imapd-2.5.6/lib/times.c	Fr. Sep 11 03:18:38 2015
+++ cyrus-imapd-2.5.6-patched/lib/times.c	Di. Sep 15 10:19:47 2015
@@ -41,6 +41,7 @@
  */
 
 #include <stdio.h>
+#include <string.h>
 #include <memory.h>
 #include <ctype.h>
 

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to