Subject: Problem in RFC 5260 - Appendix A

From: Stephan Bosch <[email-masked]>
Date: Tue, 18 Aug 2009 00:59:04 +0200

Hello,

I've recently implemented the Sieve date extension specified in RFC 
5260. One of the date parts available for matching is the 'julian' part. 
According to the text at page 3 it represents the following:

      "julian"    => the Modified Julian Day, that is, the date
                     expressed as an integer number of days since
                     00:00 UTC on November 17, 1858 (using the Gregorian
                     calendar).  This corresponds to the regular
                     Julian Day minus 2400000.5.  Sample routines to
                     convert to and from modified Julian dates are
                     given in Appendix A.

In a lazy mood, I copied the jday function from Appendix A into my 
implementation to generate the required Modified Julian Day (MJD). To my 
surprise this function does not yield the MJD, but rather just the 
regular Julian Day (rounded up to the nearest integer). So, for the date 
17-08-2009 it yields 2455061 in stead of 55060 (at time 00:00:00). The 
text in Appendix A clearly states that the jday function returns the 
modified julian day, but apparently it does not. Other than that, the 
variable 'j' is declared but never used anywhere in the function.

Is an erratum due for RFC 5260, or am I just blabbering nonsense? My 
expertise on date-time conversions is a bit bleak, but from what I could 
find on the net, the jday function is not a correct example for date to 
MJD conversion.

Regards,

Stephan.

---

From: Ned Freed <[email-masked]>
Date: Wed, 19 Aug 2009 14:19:03 -0700 (PDT)

> find on the net, the jday function is not a correct example for date to

You're right - the code in the appendix doesn't have the necessary adjustment
in it. (Of course it's a trivial thing to add.)

As to  whether this should be dealt with by an erratum, that's one way, but
perhaps the better alternative is to republish so I can also add the phrase
"code component" to the appendix. That addresses the licensing issues for
reusing code in an RFC.

In any case, thanks for reporting this.

				Ned