Timo Sirainen schreef:
On 26.3.2007, at 22.59, Stephan Bosch wrote:
I coined this in my previous e-mail: if the master process could provide some means of dynamically registering new process types (protocols), e.g. through plugins, it should not be difficult to incorporate this managesieve implementation in dovecot-sieve entirely. Also, this plugin solution could be implemented/complemented by your single-login-process idea.
Yea. Although I think this will have to wait for Dovecot v2.0 which has my rewritten master/config code. There the master process really doesn't know anything about different protocols, they're all configured in a config file. Nice. Is v2.0 available already trough CVS somewhere? Btw, if this is going to wait until v2.0, do you have any other ideas on how to merge managesieve and dovecot-sieve? Or do you want to wait with that until v2.0 as well?
The settings are also distributed in the code where they're used, instead of everything being in one place. However currently there still exists a generated all-settings.c so that the config file parser knows what settings are valid. I haven't really figured out yet how this could be made to work with external programs.. I don't really like the idea of having a "settings configuration file" :) With plugins it could dynamically load them and get the settings structures directly, but I'm not sure about binaries. Perhaps each binary could have a "--dump-settings" option. You could also provide some common settings access library. This library is then used to access the configuration by all possible binaries. This can be considered ugly in many ways, however. For instance, the config file is read many times or per-protocol config files are used. I'm not very familiar to common solutions to this problem, but I do know that it is a very interesting one. :)
BTW. I'm also planning on adding a new protocol to Dovecot some day in an external package: http://icecap.irssi2.org/ Ok, nice protocol, but how does this relate to mail processing? :) Admittedly, it is in essence quite similar to IMAP and dovecot would provide an ideal framework to implement it. Still seems strange to me however :)
Regards,
-- Stephan Bosch stephan@rename-it.nl IRC: Freenode, #dovecot, S[r]us