On Tue, 2003-07-01 at 23:16, Farkas Levente wrote:
so what I do not understand:
- what the "group" means? why not just a simple {} pair?
Well, it's just the syntax.. I think simple {} would be less readable.
- until no there wasn't any king of grouping eg. what can I write inside a login {} part? what is the server part ? etc... it seems to me a config file can become a big mass.
Currently there's:
login = imap login_executable = /usr/libexec/dovecot/imap-login login_user = dovecot login_process_size = 16 ..etc..
login = pop3 login_executable = /usr/libexec/dovecot/pop3-login .. you could override any other login_* settings here for pop3..
"login {}" would simply replace this with:
login imap { executable = /usr/libexec/dovecot/imap-login user = dovecot process_size = 16 }
login pop3 { executable = /usr/libexec/dovecot/pop3-login }
Although I'm still not really sure how this would work either. Currently the settings in login group you defined first (imap by default) are used as defaults for the second login group (pop3). That's kind of messy I think..
Maybe I should completely drop the login group and rather make protocol groups. Something like:
# settings here would be global for both imap and pop3, but nothing # would stop you from overriding them inside imap/pop3 group. login_user = dovecot
imap { login_executable = /usr/libexec/dovecot/imap-login login_process_size = 16 default_mail_env = maildir:~/Maildir }
pop3 { login_executable = /usr/libexec/dovecot/pop3-login login_process_size = 16 default_mail_env = maildir:~/Maildir:INDEX=MEMORY }
- in the 1. case server a is a union of all group where "server a" appear or???
Um. No. There was 4 different servers. Two IMAP servers, two POP3 servers. Each one listening in different address, each one having separate settings. The groups around them were used only to provide some common settings for the servers under it.
everybody else understand it and just I'm so stupid?
I don't know, it seems quite clear to me :) The basic idea should be this:
# default setting for everything that is defined below: default_mail_env = /var/mail/%u
server { # this server uses the default_mail_env above listen = a.server.org }
server { listen = b.server.org # here we override the default_mail_env. it's used only by this server default_mail_env = ~/Maildir }
group { # this is used for the two servers defined below default_mail_env = maildir:~/Maildir:INDEX=MEMORY server { listen = c.server.org } server { listen = d.server.org } }
server { # default_mail_env is again the /var/mail/%u which was defined in # root level listen = e.server.org }
So most of the settings wouldn't belong to any group. You can define them in the root level which means they're global. You can override globals inside groups. You can override group settings in subgroups. etc.
I'm not sure if I should allow naming the groups/servers/etc. They don't really matter, but they might be useful for statistics and error messages.