diff -Nur -x '*.orig' -x '*.rej' e-smith-ldap-4.12.0/root/etc/e-smith/events/actions/ldap-update mezzanine_patched_e-smith-ldap-4.12.0/root/etc/e-smith/events/actions/ldap-update --- e-smith-ldap-4.12.0/root/etc/e-smith/events/actions/ldap-update 2006-03-15 14:17:43.000000000 -0700 +++ mezzanine_patched_e-smith-ldap-4.12.0/root/etc/e-smith/events/actions/ldap-update 2008-04-01 10:12:54.000000000 -0600 @@ -42,6 +42,10 @@ exit(0); } +my $hostname = $c->get('SystemName') + || die("Couldn't determine system name"); + $hostname = $hostname->value; + my $domain = $c->get('DomainName') || die("Couldn't determine domain name"); $domain = $domain->value; @@ -114,6 +118,9 @@ utf8::upgrade($city); my $street = $acct->prop('Street') || ''; utf8::upgrade($street); + my $freebusy = $acct->prop('FreeBusy') || + 'https://'.$hostname.'.'.$domain.'/horde/kronolith/fb.php?u='.$key.'@'.$domain; + utf8::upgrade($freebusy); push @attrs, (objectClass => 'person'); push @attrs, (uid => $key); @@ -126,6 +133,7 @@ push @attrs, (ou => $dept) unless $dept =~ /^\s*$/; push @attrs, (l => $city) unless $city =~ /^\s*$/; push @attrs, (street => $street) unless $street =~ /^\s*$/; + push @attrs, (calFBURL => $freebusy) unless $freebusy =~ /^\s*$/; } elsif ($type eq 'group') { diff -Nur -x '*.orig' -x '*.rej' e-smith-ldap-4.12.0/root/etc/e-smith/templates/etc/openldap/slapd.conf/10schema mezzanine_patched_e-smith-ldap-4.12.0/root/etc/e-smith/templates/etc/openldap/slapd.conf/10schema --- e-smith-ldap-4.12.0/root/etc/e-smith/templates/etc/openldap/slapd.conf/10schema 2005-06-13 12:18:52.000000000 -0600 +++ mezzanine_patched_e-smith-ldap-4.12.0/root/etc/e-smith/templates/etc/openldap/slapd.conf/10schema 2008-04-01 09:57:34.000000000 -0600 @@ -5,3 +5,4 @@ include /etc/openldap/schema/nis.schema include /etc/openldap/schema/redhat/rfc822-MailMember.schema include /etc/openldap/schema/redhat/autofs.schema +include /etc/openldap/schema/rfc2739.schema diff -Nur -x '*.orig' -x '*.rej' e-smith-ldap-4.12.0/root/etc/openldap/schema/rfc2739.schema mezzanine_patched_e-smith-ldap-4.12.0/root/etc/openldap/schema/rfc2739.schema --- e-smith-ldap-4.12.0/root/etc/openldap/schema/rfc2739.schema 1969-12-31 17:00:00.000000000 -0700 +++ mezzanine_patched_e-smith-ldap-4.12.0/root/etc/openldap/schema/rfc2739.schema 2006-09-14 21:13:05.000000000 -0600 @@ -0,0 +1,98 @@ +# +# http://www.faqs.org/rfcs/rfc2739.html +# +# From the RFC: +# The calCalURI contains the URI to a snapshot of the user's entire +# default calendar. The calFBURL contains the URI to the user's default +# busy time data. The calCAPURI represents contains a URI that can be +# used to communicate with the user's calendar. The calCalAdrURI +# contains a URI that points to the location to which event requests +# should be sent for that user. +# +# The calOtherCalURIs is a multi-valued property containing URIs to +# snapshots of other calendars that the user may have. The +# calOtherFBURLs is a multi-valued property containing URIs to other +# free/busy data that the user may have. The calOtherCAPURIs attribute +# is a multi-valued property containing URIs to other calendars that +# the user may have. The calOtherCalAdrURIs attribute is a multi-valued +# property containing URIs to other locations that a user may want +# event requests sent to. +# +# There is no predetermined order to the values in either multi-valued +# property. + +# EQUALITY caseIgnoreIA5Match + +attribute (1.2.840.113556.1.4.478 + NAME 'calCalURI' + DESC 'Snapshot of users entire default calendar' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 + ) + +attribute (1.2.840.113556.1.4.479 + NAME 'calFBURL' + DESC 'URI of the uses free and busy information' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 + ) + +attribute (1.2.840.113556.1.4.480 + NAME 'calCAPURI' + DESC 'URI used to communicate with the users calendar' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 + ) + +attribute (1.2.840.113556.1.4.481 + NAME 'calCalAdrURI' + DESC 'URI to which event requests should be sent for the user' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 + ) + +attribute (1.2.840.113556.1.4.482 + NAME 'calOtherCalURIs' + DESC 'URIs to non-default calendars belonging to the user' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 + ) + +attribute (1.2.840.113556.1.4.483 + NAME 'calOtherFBURLs' + DESC 'URIs to non-default free and busy information files' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 + ) + +attribute (1.2.840.113556.1.4.484 + NAME 'calOtherCAPURIs' + DESC 'URIs for communicating with non-default calendars' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 + ) + +attribute (1.2.840.113556.1.4.485 + NAME 'calOtherCalAdrURIs' + DESC 'Destinations for event requests to non-default calendars' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 + ) + +objectclass (1.2.840.113556.1.5.87 + NAME 'calEntry' + DESC 'Calendering and Free Busy information' + SUP top AUXILIARY + MAY (calCalURI $ calFBURL $ calCAPURI $ calCalAdrURI $ + calOtherCalURIs $ calOtherFBURLs $ calOtherCAPURIs $ + calOtherCalAdrURIs + ) + )