On 1 Nov 2017, at 13.51, Reuben Farrelly <reuben-dove...@reub.net> wrote:
> 
> 
> That's the thing.  Those extra ssl_dh lines aren't actually specified in my 
> conf files, they have been inherited from somewhere - so I can't change them 
> to be of any particular form because they aren't defined as being that way in 
> my configuration files.
> 
> There is only one place where ssl_dh is defined and that's in the global 
> 10-ssl.conf file.  See here:
> 
> lightning dovecot # grep ssl_dh *
> grep: conf.d: Is a directory
> lightning dovecot # grep ssl_dh */*
> conf.d/10-ssl.conf:# gives on startup when ssl_dh is unset.
> conf.d/10-ssl.conf:ssl_dh=</etc/dovecot/dh.pem
> lightning dovecot #
> 
> The rest of them must be being inherited from that statement above.
> 
> But back to the original question, if I *remove* the ssl-parameters.dat file 
> from /var/lib/dovecot/ then without any other configuration changes the error 
> goes away on reload and from doveconf  output.  Not only that, but if the 
> ssl-parameters.dat file is removed then those ssl_dh lines per-protocol in 
> doveconf -n also disappear too.
> 
> To me that indicates that the mere presence of the ssl-parameters.dat file is 
> doing something odd with the way the ssl_dh configuration statements are 
> being handled.  Something buggy with backwards compatibility perhaps?
> 
> [Also tested with latest 2.3 -git as of today - same result]

Looks like this is pretty easily reproducible:

a) ok: printf "ssl_dh = </usr/local/etc/dovecot/dh.pem\n" > foo; doveconf -n -c 
foo

b) not ok: printf "ssl_dh = </usr/local/etc/dovecot/dh.pem\nprotocol imap 
{\n}\n" > foo; doveconf -n -c foo
doveconf: Warning: please set ssl_dh=</usr/local/etc/dovecot/dh.pem

Reply via email to