W dniu 08.09.2011 15:18, Timo Sirainen pisze:
Forget all of that. I just tried a few ways and looks like you can add more namespaces by returning e.g. these fields (from SQL):
namespace=nsname namespace/nsname/prefix=prefix/ namespace/nsname/location=maildir:/elsewhere namespace/nsname/separator=/
Where nsname is some unique name for the namespace. If you want more than one namespace, I think you can do it by adding another name to "namespace" field, e.g.:
namespace=nsname nsname2 nsname3
select .... "test1 test2" AS namespace works, it gives me two namespaces. It's nice. Now i've another problem, how to configure them usinq sql. I can't do "recursive sql query" , sql can't create variable number of output columns depended on values in table. E.g: I imagine such table:
|user_id | namespace | prefix | location |
| 648 | test1 | test1. | mdbox:~/test1/.mdbox |
| 648 | test2 | test2. | maildir:~/test2/.maildir |
etc...
In query i have to know all namespaces names to mention them in query: select ... as "namespace/test1/prefix" but i don't know if there is "test1" namespace untill i fetch record from table.
Ok, maybe could it be possible to do it in other way:
|user_id | namespace_full_definition |
| 7684 | /name=test1/prefix=test1./location=mdbox:~/test1/.mdbox/ name=test2/prefix=test2/location=... |
but this isn't supported by dovecot as i know. Maybe something like "user_namespace" query could be usefull? Query could be very easy: select ... namespace_name, namespace_prefix, namespace_location where user='somuser' (and table schema like in first example). Maybe there i other, way to do it by i can't see it now.
Btw, i can see dovecot 2.1 can proxy imap connections. It's a great idea!
Thanks.