1 |
diff -Nur -x '*.orig' -x '*.rej' e-smith-base+ldap-4.19.1/root/etc/e-smith/events/actions/ldap-update mezzanine_patched_e-smith-base+ldap-4.19.1/root/etc/e-smith/events/actions/ldap-update |
2 |
--- e-smith-base+ldap-4.19.1/root/etc/e-smith/events/actions/ldap-update 2008-04-01 10:44:02.000000000 -0600 |
3 |
+++ mezzanine_patched_e-smith-base+ldap-4.19.1/root/etc/e-smith/events/actions/ldap-update 2008-04-01 10:42:02.000000000 -0600 |
4 |
@@ -42,6 +42,10 @@ |
5 |
exit(0); |
6 |
} |
7 |
|
8 |
+my $hostname = $c->get('SystemName') |
9 |
+ || die("Couldn't determine system name"); |
10 |
+ $hostname = $hostname->value; |
11 |
+ |
12 |
my $domain = $c->get('DomainName') |
13 |
|| die("Couldn't determine domain name"); |
14 |
$domain = $domain->value; |
15 |
@@ -114,6 +118,9 @@ |
16 |
utf8::upgrade($city); |
17 |
my $street = $acct->prop('Street') || ''; |
18 |
utf8::upgrade($street); |
19 |
+ my $freebusy = $acct->prop('FreeBusy') || |
20 |
+ 'https://'.$hostname.'.'.$domain.'/horde/kronolith/fb.php?u='.$key.'@'.$domain; |
21 |
+ utf8::upgrade($freebusy); |
22 |
push @attrs, (objectClass => ['person', |
23 |
'organizationalPerson', |
24 |
'inetOrgPerson']); |
25 |
@@ -128,6 +135,7 @@ |
26 |
push @attrs, (ou => $dept) unless $dept =~ /^\s*$/; |
27 |
push @attrs, (l => $city) unless $city =~ /^\s*$/; |
28 |
push @attrs, (street => $street) unless $street =~ /^\s*$/; |
29 |
+ push @attrs, (calFBURL => $freebusy) unless $freebusy =~ /^\s*$/; |
30 |
} |
31 |
elsif ($type eq 'group') |
32 |
{ |
33 |
diff -Nur -x '*.orig' -x '*.rej' e-smith-base+ldap-4.19.1/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/useraccounts mezzanine_patched_e-smith-base+ldap-4.19.1/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/useraccounts |
34 |
--- e-smith-base+ldap-4.19.1/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/useraccounts 2008-03-26 10:49:00.000000000 -0600 |
35 |
+++ mezzanine_patched_e-smith-base+ldap-4.19.1/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/useraccounts 2008-04-01 10:42:02.000000000 -0600 |
36 |
@@ -377,4 +377,19 @@ |
37 |
An error occurred while trying to delete the user. |
38 |
</trans> |
39 |
</entry> |
40 |
+ <entry> |
41 |
+ <base>FREEBUSY_URL</base> |
42 |
+ <trans>Calendar Free/Busy URL</trans> |
43 |
+ </entry> |
44 |
+ <entry> |
45 |
+ <base>FREEBUSY_DESCRIPTION</base> |
46 |
+ <trans> |
47 |
+ <![CDATA[ |
48 |
+ The Calendar Free/Busy URL needs to be in the following format:<br> |
49 |
+ https://www.<b>domain.com</b>/horde/kronolith/fb.php?u=<b>user%40domain.com. Note:</b> |
50 |
+ %40 translates to the @ character.<br> |
51 |
+ </p> |
52 |
+ ]]> |
53 |
+ </trans> |
54 |
+ </entry> |
55 |
</lexicon> |
56 |
diff -Nur -x '*.orig' -x '*.rej' e-smith-base+ldap-4.19.1/root/etc/e-smith/templates/etc/openldap/slapd.conf/10schema mezzanine_patched_e-smith-base+ldap-4.19.1/root/etc/e-smith/templates/etc/openldap/slapd.conf/10schema |
57 |
--- e-smith-base+ldap-4.19.1/root/etc/e-smith/templates/etc/openldap/slapd.conf/10schema 2008-04-01 10:44:03.000000000 -0600 |
58 |
+++ mezzanine_patched_e-smith-base+ldap-4.19.1/root/etc/e-smith/templates/etc/openldap/slapd.conf/10schema 2008-04-01 10:43:46.000000000 -0600 |
59 |
@@ -5,4 +5,5 @@ |
60 |
include /etc/openldap/schema/nis.schema |
61 |
include /etc/openldap/schema/redhat/rfc822-MailMember.schema |
62 |
include /etc/openldap/schema/redhat/autofs.schema |
63 |
+include /etc/openldap/schema/rfc2739.schema |
64 |
include /etc/openldap/schema/samba.schema |
65 |
diff -Nur -x '*.orig' -x '*.rej' e-smith-base+ldap-4.19.1/root/etc/e-smith/web/functions/useraccounts mezzanine_patched_e-smith-base+ldap-4.19.1/root/etc/e-smith/web/functions/useraccounts |
66 |
--- e-smith-base+ldap-4.19.1/root/etc/e-smith/web/functions/useraccounts 2007-01-19 14:33:22.000000000 -0700 |
67 |
+++ mezzanine_patched_e-smith-base+ldap-4.19.1/root/etc/e-smith/web/functions/useraccounts 2008-04-01 10:42:02.000000000 -0600 |
68 |
@@ -213,6 +213,11 @@ |
69 |
> |
70 |
<label>FORWARDING_ADDRESS</label> |
71 |
</field> |
72 |
+ <field type="text" id="FreeBusy" size="85" |
73 |
+ display="get_prop('horde', 'freebusy')"> |
74 |
+ <label>FREEBUSY_URL</label> |
75 |
+ <description>FREEBUSY_DESCRIPTION</description> |
76 |
+ </field> |
77 |
<field type="select" id="VPNClientAccess" options="'yes' => 'YES', |
78 |
'no' => 'NO'" validation="nonblank" value="get_pptp_value()"> |
79 |
<label>VPN_CLIENT_ACCESS</label> |
80 |
diff -Nur -x '*.orig' -x '*.rej' e-smith-base+ldap-4.19.1/root/etc/openldap/schema/rfc2739.schema mezzanine_patched_e-smith-base+ldap-4.19.1/root/etc/openldap/schema/rfc2739.schema |
81 |
--- e-smith-base+ldap-4.19.1/root/etc/openldap/schema/rfc2739.schema 1969-12-31 17:00:00.000000000 -0700 |
82 |
+++ mezzanine_patched_e-smith-base+ldap-4.19.1/root/etc/openldap/schema/rfc2739.schema 2008-04-01 10:42:02.000000000 -0600 |
83 |
@@ -0,0 +1,98 @@ |
84 |
+# |
85 |
+# http://www.faqs.org/rfcs/rfc2739.html |
86 |
+# |
87 |
+# From the RFC: |
88 |
+# The calCalURI contains the URI to a snapshot of the user's entire |
89 |
+# default calendar. The calFBURL contains the URI to the user's default |
90 |
+# busy time data. The calCAPURI represents contains a URI that can be |
91 |
+# used to communicate with the user's calendar. The calCalAdrURI |
92 |
+# contains a URI that points to the location to which event requests |
93 |
+# should be sent for that user. |
94 |
+# |
95 |
+# The calOtherCalURIs is a multi-valued property containing URIs to |
96 |
+# snapshots of other calendars that the user may have. The |
97 |
+# calOtherFBURLs is a multi-valued property containing URIs to other |
98 |
+# free/busy data that the user may have. The calOtherCAPURIs attribute |
99 |
+# is a multi-valued property containing URIs to other calendars that |
100 |
+# the user may have. The calOtherCalAdrURIs attribute is a multi-valued |
101 |
+# property containing URIs to other locations that a user may want |
102 |
+# event requests sent to. |
103 |
+# |
104 |
+# There is no predetermined order to the values in either multi-valued |
105 |
+# property. |
106 |
+ |
107 |
+# EQUALITY caseIgnoreIA5Match |
108 |
+ |
109 |
+attribute (1.2.840.113556.1.4.478 |
110 |
+ NAME 'calCalURI' |
111 |
+ DESC 'Snapshot of users entire default calendar' |
112 |
+ EQUALITY caseIgnoreIA5Match |
113 |
+ SUBSTR caseIgnoreIA5SubstringsMatch |
114 |
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 |
115 |
+ ) |
116 |
+ |
117 |
+attribute (1.2.840.113556.1.4.479 |
118 |
+ NAME 'calFBURL' |
119 |
+ DESC 'URI of the uses free and busy information' |
120 |
+ EQUALITY caseIgnoreIA5Match |
121 |
+ SUBSTR caseIgnoreIA5SubstringsMatch |
122 |
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 |
123 |
+ ) |
124 |
+ |
125 |
+attribute (1.2.840.113556.1.4.480 |
126 |
+ NAME 'calCAPURI' |
127 |
+ DESC 'URI used to communicate with the users calendar' |
128 |
+ EQUALITY caseIgnoreIA5Match |
129 |
+ SUBSTR caseIgnoreIA5SubstringsMatch |
130 |
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 |
131 |
+ ) |
132 |
+ |
133 |
+attribute (1.2.840.113556.1.4.481 |
134 |
+ NAME 'calCalAdrURI' |
135 |
+ DESC 'URI to which event requests should be sent for the user' |
136 |
+ EQUALITY caseIgnoreIA5Match |
137 |
+ SUBSTR caseIgnoreIA5SubstringsMatch |
138 |
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 |
139 |
+ ) |
140 |
+ |
141 |
+attribute (1.2.840.113556.1.4.482 |
142 |
+ NAME 'calOtherCalURIs' |
143 |
+ DESC 'URIs to non-default calendars belonging to the user' |
144 |
+ EQUALITY caseIgnoreIA5Match |
145 |
+ SUBSTR caseIgnoreIA5SubstringsMatch |
146 |
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 |
147 |
+ ) |
148 |
+ |
149 |
+attribute (1.2.840.113556.1.4.483 |
150 |
+ NAME 'calOtherFBURLs' |
151 |
+ DESC 'URIs to non-default free and busy information files' |
152 |
+ EQUALITY caseIgnoreIA5Match |
153 |
+ SUBSTR caseIgnoreIA5SubstringsMatch |
154 |
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 |
155 |
+ ) |
156 |
+ |
157 |
+attribute (1.2.840.113556.1.4.484 |
158 |
+ NAME 'calOtherCAPURIs' |
159 |
+ DESC 'URIs for communicating with non-default calendars' |
160 |
+ EQUALITY caseIgnoreIA5Match |
161 |
+ SUBSTR caseIgnoreIA5SubstringsMatch |
162 |
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 |
163 |
+ ) |
164 |
+ |
165 |
+attribute (1.2.840.113556.1.4.485 |
166 |
+ NAME 'calOtherCalAdrURIs' |
167 |
+ DESC 'Destinations for event requests to non-default calendars' |
168 |
+ EQUALITY caseIgnoreIA5Match |
169 |
+ SUBSTR caseIgnoreIA5SubstringsMatch |
170 |
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 |
171 |
+ ) |
172 |
+ |
173 |
+objectclass (1.2.840.113556.1.5.87 |
174 |
+ NAME 'calEntry' |
175 |
+ DESC 'Calendering and Free Busy information' |
176 |
+ SUP top AUXILIARY |
177 |
+ MAY (calCalURI $ calFBURL $ calCAPURI $ calCalAdrURI $ |
178 |
+ calOtherCalURIs $ calOtherFBURLs $ calOtherCAPURIs $ |
179 |
+ calOtherCalAdrURIs |
180 |
+ ) |
181 |
+ ) |
182 |
diff -Nur -x '*.orig' -x '*.rej' e-smith-base+ldap-4.19.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/useraccounts.pm mezzanine_patched_e-smith-base+ldap-4.19.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/useraccounts.pm |
183 |
--- e-smith-base+ldap-4.19.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/useraccounts.pm 2008-03-26 10:49:00.000000000 -0600 |
184 |
+++ mezzanine_patched_e-smith-base+ldap-4.19.1/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/useraccounts.pm 2008-04-01 10:42:02.000000000 -0600 |
185 |
@@ -54,6 +54,7 @@ |
186 |
print_save_or_add_button |
187 |
get_pptp_value |
188 |
print_ipsec_client_section |
189 |
+ get_prop |
190 |
|
191 |
system_password_compare |
192 |
system_valid_password |
193 |
@@ -283,6 +283,9 @@ |
194 |
my $fwd = $cgi->param('ForwardAddress') ? |
195 |
$cgi->param('ForwardAddress') : |
196 |
($rec ? ($rec->prop('ForwardAddress')) : ''); |
197 |
+ my $fb = $cgi->param('FreeBusy') ? |
198 |
+ $cgi->param('FreeBusy') : |
199 |
+ ($rec ? ($rec->prop('FreeBusy')) : ''); |
200 |
my $pptp = $cgi->param('VPNClientAccess') ? |
201 |
$cgi->param('VPNClientAccess') : |
202 |
($rec ? ($rec->prop('VPNClientAccess')) : 'no'); |
203 |
@@ -296,6 +299,7 @@ |
204 |
$cgi->param(-name=>'Phone', -value=>$phone); |
205 |
$cgi->param(-name=>'EmailForward', -value=>$emf); |
206 |
$cgi->param(-name=>'ForwardAddress', -value=>$fwd); |
207 |
+ $cgi->param(-name=>'FreeBusy', -value=>$fb); |
208 |
$cgi->param(-name=>'VPNClientAccess', -value=>$pptp); |
209 |
} else { |
210 |
print qq( |
211 |
@@ -752,6 +756,7 @@ |
212 |
'Street' => $self->{cgi}->param('Street'), |
213 |
'EmailForward' => $self->{cgi}->param('EmailForward'), |
214 |
'ForwardAddress' => $self->{cgi}->param('ForwardAddress'), |
215 |
+ 'FreeBusy' => $self->{cgi}->param('FreeBusy'), |
216 |
'VPNClientAccess'=> $self->{cgi}->param('VPNClientAccess'), |
217 |
); |
218 |
$acct->merge_props(%newProperties); |
219 |
@@ -807,7 +812,7 @@ |
220 |
|
221 |
my %userprops; |
222 |
foreach my $field ( qw( FirstName LastName Phone Company Dept |
223 |
- City Street EmailForward ForwardAddress VPNClientAccess) ) |
224 |
+ City Street EmailForward ForwardAddress FreeBusy VPNClientAccess) ) |
225 |
{ |
226 |
$userprops{$field} = $q->param($field); |
227 |
} |
228 |
@@ -1103,6 +1109,20 @@ |
229 |
} |
230 |
|
231 |
|
232 |
+=head2 get_prop ITEM PROP |
233 |
+ |
234 |
+A simple accessor for esmith::ConfigDB::Record::prop |
235 |
+ |
236 |
+=cut |
237 |
+ |
238 |
+sub get_prop |
239 |
+{ |
240 |
+ my ($fm, $item, $prop, $default) = @_; |
241 |
+ |
242 |
+ return $configdb->get_prop($item, $prop) || $default; |
243 |
+} |
244 |
+ |
245 |
+ |
246 |
=head1 System Password manipulation routines |
247 |
|
248 |
XXX FIXME - These should be merged with the useraccouts versions |