Ich habe hier ein Setup mit slapd 2.4.23, bei dem ich meine Userdaten mittels Gosa füttere. Das ist jetzt insofern nur wichtig, weil ich ebenfalls den Vacationverkehr mittels Gnarwl abwickel und Gosa in seinen Schemas bereits relevante Attribute wie gosaVacationStart, gosaVacationEnd usw. mit an Bord hat.
Jetzt folgendes Problem:
Gnarwl selbst checkt nicht das Start- und Enddatum der Vacation Message, sondern nur, ob Vacation als aktiv gesetzt ist (für die Kompatibilität hab ichs auf gosaMailDeliveryMode=[*V*] geändert).
Möchte ich jetzt also, dass etwaige Abwesenheitsnachrichten außerhalb des festgelegten Zeitraums nicht gesendet werden (obowhl sie noch als aktiv markiert sind) brauche ich eine Möglichkeit, zu checken, ob die Timestamps in gosaVacationStart/gosaVacationStop entsprechend größer bzw. kleiner sind, als die Systemzeit ist.
Prinzipiell also ein Perlscript, welches time einliest mit einem Queryfilter der Marke
Code: Alles auswählen
filter => "(&(gosaMailDeliveryMode=[*V*])(gosaVacationStart<=$now)(gosaVacationStop>=$now))
Also hab ich mir die Gosa Schemas angesehen und für das Attribut gosaVacationStart siehts so aus:
Code: Alles auswählen
{40}( 1.3.6.1.4.1.10098.1.1.12.41 NAME 'gosaVacationStart' DESC 'Timestamp for enabling current vacation message' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
Code: Alles auswählen
{40}( 1.3.6.1.4.1.10098.1.1.12.41 NAME 'gosaVacationStart' DESC 'Timestamp for enabling current vacation message' ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
D.h. ich habe die zulässige Syntax von Directory String in Integer abgeändert, da timestamps eh nur unix-formatted gespeichert werden und eigentlich(tm) keine Probleme bereiten sollte
Leider kickt mich slapd mit folgender Meldung:
Code: Alles auswählen
conn=1209 op=20 RESULT tag=103 err=80 text=olcAttributeTypes: AttributeType inappropriate matching rule: "integerOrderingMatch"
Oder Alternativ:
Hat zufällig jemand selbiges Gesamtproblem bereits vor sich gehabt und erfolgreich gelöst?