[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