[Kolab-devel] freebusy CVS observation + questions
Gunnar Wrobel
wrobel at pardus.de
Wed Feb 27 10:53:33 CET 2008
Mike Gabriel <m.gabriel at das-netzwerkteam.de> writes:
> hi gunnar,
>
> On Donnerstag 21 Februar 2008, Mike Gabriel wrote:
>> hi martin,
>>
>> On Donnerstag 21 Februar 2008, Martin Konold wrote:
>> > Am Donnerstag, 21. Februar 2008 schrieb Mike Gabriel:
>> >
>> > Hi,
>> >
>> > > it does not seem possible to ACL-share cyrus folders if two people
>> > > belong to two different virtual kolab domains. example:
>> > >
>> > > m.gabriel at sunweavers.net
>> > >
>> > > cannot access shares of
>> > >
>> > > m.gabriel at moonweavers.net
>> > >
>> > > at least not in horde, the ACLs are simply dropped when i set them. i
>> > > haven't checked other kolab clients, but if this is intended, we are
>> > > pretty fine with the above issue!!!
>> >
>> > Currently cyrus imapd does not allow for cross domain ACLs.
>>
>> this is great news (well, for some it probably is not..., but for this case
>> it is).
>>
>> @gunnar: if you do not mind, i will write a patch for triggerFreeBusyUpdate
>> that takes advantage of this fact?
>>
>> the plan is:
>>
>> o get the authenticated user, find out his/her mail domain
>> o append this mail domain to "someone" for any folder that looks like
>> user/someone/somefolder
>> o then perform a http request to
>>
>> https:/my.mailserver.here/freebusy/trigger/someone at domain/somefolder.xpfb
>>
>> mike
>
>
> here is my private solution to the issue (patched against horde-3.2rc1 as in
> horde-webmail-1.1rc1):
>
> <snip>
> ---
> a/lib/Horde/Kolab.php 2007-11-29 12:32:52.000000000 +0000
> +++ b/lib/Horde/Kolab.php 2008-02-21 22:09:11.000000000 +0000
> @@ -758,9 +758,13 @@
> function triggerFreeBusyUpdate($share_uid)
> {
> global $conf;
>
> $folder_path = rawurldecode($share_uid);
>
> + // cyrus does not support cross domain ACLs
> + // any user folder we have access to will be in our own domain/realm
> + $thisuser_auth = Auth::getAuth();
> + $thisuser_realm = substr($thisuser_auth, strpos($thisuser_auth, '@')
> +1, strlen($thisuser_auth));
> +
> // IMAP path is either /INBOX/<path>@domain or
> // /user/someone/<path>@domain strip domain
> $end = strrpos($folder_path, '@');
> @@ -781,7 +785,10 @@
> if (strncmp($folder_path, '/INBOX/', 7) == 0) {
> $folder = Auth::getAuth() . '/' .
> rawurlencode(substr($folder_path, $second_slash + 1));
> } else {
> - $folder = rawurlencode(substr($folder, $second_slash + 1));
> + $folder_path_arr = explode("/", $folder_path);
> + $otheruser_auth = $folder_path_arr[2].'@'.$thisuser_realm;
> + $third_slash = strpos($folder_path, $folder_path_arr[3]);
> + $folder = $otheruser_auth.'/'.substr($folder_path, $third_slash);
> }
> $url = 'https://' . Kolab::getServer("imap") .
> '/freebusy/trigger/' . $folder . '.xpfb';
>
> </snip>
>
> also attached...
>
> mike
Thanks for the patch! Looks good and I'm planning on submitting
something similar in Horde cvs. My current version is here:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_CVS/file/631b399d48f1/framework/HK-GW-FreeBusy_trigger.patch
I did hit some other issues here which I need to fix first in order to
check the whole thing and finally submit it to Horde.
Cheers,
Gunnar
>
>
>
> --
>
> +++ das-netzwerkteam.de +++
>
> mike gabriel, hamburger chaussee 240, 24113 kiel
> fon: +49 431 64-74-196
> fax: +49 431 64-74-276
> voip/voicemail: +49 431 643 643 6
> mail: m.gabriel at das-netzwerkteam.de
> www: http://das-netzwerkteam.de
>
> _______________________________________________
> Kolab-devel mailing list
> Kolab-devel at kolab.org
> https://kolab.org/mailman/listinfo/kolab-devel
--
______ http://kdab.com _______________ http://kolab-konsortium.com _
p at rdus Kolab work is funded in part by KDAB and the Kolab Konsortium
____ http://www.pardus.de _________________ http://gunnarwrobel.de _
E-mail : p at rdus.de Dr. Gunnar Wrobel
Tel. : +49 700 6245 0000 Bundesstrasse 29
Fax : +49 721 1513 52322 D-20146 Hamburg
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> Mail at ease - Rent a kolab groupware server at p at rdus <<
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
More information about the devel
mailing list