Hi,
I've uploaded a cleaned up version. It's nearly a complete rewrite of the original contribution.
In addition to the previous version which (intentionally) just supported the constant MRA "NOW" the updated version also supports now[+/-]offset calculation and matching. The offset's syntax is
"NYears#Nmonths#Ndays#NHours#NMinutes#NSeconds"
where '#' separates the different time unit fields and N is the amount of time (offset) for a distinct time unit. N can be a negative or positive value (all none-digits and blanks are ignored, multiple signs are simply aggregated to a single (the first from the left) sign).
Thanks to previous normalization before the actual matching the "timedrift effect" (see followup #4 above) isn't present any more, too.
The two matching rule's (nowOrEarlier/nowOrLaterMatch) are compatible with any generalizedTime-syntax based attribute. Additionally the module introduces two specialized syntaxes exclusively dedicated to this modules matching rules (intentionally not supporting any kind of generalizedTime[Ordering]Match-ing extensible match).
Please have a look at the README, the sample schema definition, and/or the source for further details.
The current version can be found here: ftp://ftp.openldap.org/incoming/daniel-pluta-now-091110-1.tgz
Any kind of feedback is very welcome.
Thanks a lot!
Daniel