[dev] CyrSQL and SQL driver

Jan Schneider jan at horde.org
Mon Aug 18 09:22:10 UTC 2008


Sorry for the delayed response, I just got to your message again.

Zitat von Vilius Šumskas <vilius at lnk.lt>:

>> >> > Zitat von Vilius Šumskas <vilius at lnk.lt>:
>> >>
>> >> > As I said, if it's more work to change the sql driver to be more
>> >> > flexible than to make the cyrussql stand-alone, then go for it. :)
>> >>
>> >> I was thinking about this back and forth and was still not sure what
>> >> is the best way to handle all possible backend implementations (see:
>> >> http://marc.info/?l=horde&m=121447306525089&w=2 for example). I have
>> >> also  studied Cyrus driver and came up with the following idea:
>> >>
>> >> 1. Write couple of backend authentication "sub-modules" which
>> >> represents not the backend technology (e.g. SQL) but actual backend
>> >> used (e.g. Web-cyradm v.0.5.4 SQL Schema). They will have all
>> necessary
>> >> methods for backend manipulation. These "sub-modules" will *not* be
>> >> listed under Authentication dropdown menu in Horde Configuration.
>> >>
>> >> 2. Rewrite/fix current Cyrus driver to allow the selection of
>> >> "sub-modules" as the backend in the Configuration.
>> >>
>> >> 3. Deprecate CyrusSQL driver.
>> >>
>> >> Is this good enough or I have overlooked something along the way?
>> >
>> > Can someone comment on this or should I proceed?
>>
>> I'm having a hard time to really follow your problems in that thread.
>> AFAIU the problem is with virtual domain support that has been added
>> with 2.2? Can you summarize which consequences this had when
>> authenticating Cyrus against SQL?
>
> OK, let me try to explain a little bit more.
>
> Currently Cyrus has a lot of authentication backend variations,  
> including but not limited to:
>
> 1. WebCyradm (SQL),
> 2. authceck (SQL),
> 3. Kolab (LDAP?),
> 4. Also it can live without one.
>
> In webcyradm backend case, data is not constant even between minor  
> versions. For example version 0.5.4 created users in accountuser  
> table like "user" but in never released and unsupported version  
> 0.5.5-cvs created them as "user at domain". I've always tried to bring  
> Horde's CyrSQL driver as close as possible to 0.5.4 schema. But  
> there are others who use different schemas, like Aleksey in  
> http://marc.info/?l=horde&m=121447306525089&w=2. The problem is not  
> with Cyrus itself, it is with authentication backend it is using.  
> There are too many of them. Hence my proposal, to split SQL (or  
> whatever) backend manipulation and IMAP parts in the driver.  
> Auth/cyrus.php is a good example of that, it just needs to be  
> extended to use *real* schemas not the other drivers.

Okay, so the cyrus driver is already what you need, i.e. a driver  
separating out the mailbox creation and backend management. Given that  
there are so many different schemas possible, and even more, because  
users can create their own ones, I don't think that backend drivers  
for each schema make sense.
I still don't understand, why you couldn't use the existing customsql  
or ldap drivers as a backend for Auth_cyrus? If customsql is still not  
flexible enough, that should be fixed.

Jan.

-- 
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/



More information about the dev mailing list