[Dovecot] v2.0 configuration parsing
Patrick Nagel
patrick.nagel at star-group.net
Tue Aug 11 06:24:55 EEST 2009
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I completely agree with Michael's opinion.
Patrick.
On 2009-08-11 02:22, Michael Orlitzky wrote:
> Timo Sirainen wrote:
>> I'm trying to figure out how exactly v2.0 should be parsing
>> configuration files. The most annoying part is if it should always just
>> "use whatever comes first in config" or try some kind of a "use most
>> specific rule". The "most specific" kind of makes more sense initially,
>> but then you start wondering how to handle e.g.:
[...]
>
> I think the easiest scheme to keep in my brain would be to evaluate the
> blocks, in order, as if they were branches in code. Fooling around with
> an arbitrary order of evaluation/specificity would be a recipe for
> disaster (see, for example, any CSS engine).
>
> So, something like,
>
> protocol imap {
> remote_ip 192.168.0.0/16 {
> foo = foo
> }
> }
>
> would translate to,
>
> if (protocol == imap) {
> if (remote_ip matches 192.168.0.0/16) {
> foo = foo
> }
> }
>
> and then later,
>
> remote_ip 192.168.0.0/24 {
> foo = bar
> }
>
> would set the value of 'foo' to 'bar', since it would evaluate in a
> similar fashion, and comes later in the config file.
>
> It's easy to explain, easy to implement, and easy to debug. Ultimately,
> the users are going to have to understand how it works in order to
> configure Dovecot properly. "Put the most general rules first, and then
> override them" is a practice with which most of us are already familiar.
- --
STAR Software (Shanghai) Co., Ltd. http://www.star-group.net/
Phone: +86 (21) 3462 7688 x 826 Fax: +86 (21) 3462 7779
PGP key: E883A005 https://stshacom1.star-china.net/keys/patrick_nagel.asc
Fingerprint: E09A D65E 855F B334 E5C3 5386 EF23 20FC E883 A005
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
iEYEARECAAYFAkqA5IEACgkQ7yMg/OiDoAWaiQCgk1S6lu6JQTcg5VXzwzJxrjCG
AXcAoLD2xvbfFoMUrSW+3JrC+PA7c8Fz
=jChR
-----END PGP SIGNATURE-----
More information about the dovecot
mailing list