I found the following in the maillog

mail dovecot: config: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:21: protocols=imaps is no longer supported. to disable non-ssl imap, use service imap-login { inet_listener imap { port=0 } }

This is probably a difference between Dovecot 1.0 and 2.0, but everything seems to work fine.

I am wondering how I could correct this warning with Virtualmin 3.88 gpl?

Status: 
Closed (fixed)

Comments

Howdy -- Jamie may need to take a look at that, but what does line 21 of your /etc/dovecot/dovecot.conf file look like?

The fix is to edit /etc/dovecot/dovecot.conf and remove imaps and pop3s from the protocols line.

I will fix the next release of the Virtualmin installer to not add those protocols in the first place..

Yes, that is what I did (and I also added a new imaps entry in 10-master.conf). But Virtualmin can not add/change that new setting via the web interface.

You should be able to change the protocols in Virtualmin, at Servers -> Dovecot IMAP / POP3 Server -> Networking and Protocols.

Yes, this is what I did before rhel6. But after the upgrade it doesn't work anymore.

I manually enabled imaps by adding master.conf (basically just uncommenting the corresponding lines). But the list "Serve mail protocols" is still empty. It looks virtualmin doesn't read the new settings?

Did you upgrade your existing system to RHEL 6? If so, Webmin might be looking in the wrong place for your Dovecot config file. In the Dovecot module, click the Module Config link and change the "Full path to Dovecot configuration file" to /etc/dovecot/dovecot.conf

I did not upgrade. I did a new install and restored a virtualmin backup.

This is my value for the settings you mentioned

/etc/dovecot/dovecot.conf /etc/dovecot.conf

Vm did not remove the old setting. Is that a bug when vm restores a backup to rhel6?

But it looks like that this is only a cosmetic bug. Virtualmin still reads the file /etc/dovecot/dovecot.conf correctly, because after I removed the imaps entry from the protocols line in the conf file, virtualmin doesn't show them as selected.

It seems to me that virtualmin doesn't display the following settings:

service imap-login {
  inet_listener imap {
    #port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }

  # Number of connections to handle before starting a new process. Typically
  # the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
  # is faster. <doc/wiki/LoginProcess.txt>
  #service_count = 1

  # Number of processes to always keep waiting for more connections.
  #process_min_avail = 0

  # If you set service_count=0, you probably need to grow this.
  #vsz_limit = 64M
}

That config looks OK to me, as Virtualmin will check for both dovecot config files.

So if you use Virtualmin to change the protocols, does this correctly update the config file /etc/dovecot/dovecot.conf ?

Actually I haven't tried saving yet (wasn't sure whether it would mess up the conf files). Are you saying that I should just select imaps and save. And that this would create a similar entry in dovecot.conf? And 10-master.conf is always ignored?

It doesn't update 10-master.conf at all .. only the protocols line in dovecot.conf

Correct, but isn't the "imaps" in the "protocols line" deprecated in dovecot 2.0?

I am having a similar issue, CentOS 6.0 with the CR repository (CentOS 6 i386 openvz template)

I setup dovecot/ssl with the "copy to dovecot" button in the manage ssl certificate section for a site. I couldn't figure out why secure IMAP wasn't working, then I tried restarting dovecot manually and got this.

Starting Dovecot Imap: doveconf: Warning: NOTE: You can get a new clean config file with: doveconf -n > dovecot-new.conf
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:21: protocols=imaps is no longer necessary, remove it
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:766: add auth_ prefix to all settings inside auth {} and remove the auth {} section completely
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:803: passdb pam {} has been replaced by passdb { driver=pam }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:872: userdb passwd {} has been replaced by userdb { driver=passwd }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:929: auth_user has been replaced by service auth { user }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:1042: ssl_cert_file has been replaced by ssl_cert = <file
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:1043: ssl_key_file has been replaced by ssl_key = <file

I used the doveconf -n and got this

mail_location = maildir:~/Maildir
passdb {
  driver = pam
}
protocols = imap pop3
service auth {
  user = root
}
ssl = yes
ssl_cert = /etc/dovecot.cert.pem
ssl_cipher_list = HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
ssl_key = /etc/dovecot.key.pem
userdb {
  driver = passwd
}
protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
  postmaster_address = postmaster@example.com
}

But secure IMAP still isn't working.

If I make and changes in virtualmin/webmin to the dovecot related components, then it starts up with depreciated errors again.

It looks like the webmin/virtualmin plugin for dovecot needs to be updated for dovecot 2.x

Here is a snippet from the mail log about dovecot SSL pem. Oct 16 12:07:46 linux1 dovecot: imap-login: Fatal: Can't load ssl_cert: There is no valid PEM certificate. (You probably forgot '<' from ssl_cert='<'/etc/pki/dovecot/certs/d Oct 16 12:07:46 linux1 dovecot: master: Error: service(imap-login): command startup failed, throttling Oct 16 12:08:46 linux1 dovecot: imap-login: Fatal: Can't load ssl_cert: There is no valid PEM certificate. (You probably forgot '<' from ssl_cert='<'/etc/pki/dovecot/certs/d O

Its asking about '<'. I cleared the main dovecot error by doing the ssl_cert= instead of ssl_cert_file, but postfix/mail wants something else.

Note added '<' to get the comment to display here correctly

Looks like this is part of the same issue - SSL configuration in Dovecot 2.0 isn't being done properly by Virtualmin. I'm working on fixing this ..

IN my quick look, it looks like in the SSL.CONF, it already has the location of where the .pem files are copied to, but need the first line set to SSL=YES and not write the file locations to the dovecot.conf file.

Is there any update on this issue, I am having this problem with every install of Virtualmin I do. I have to add my own configuration file, then lock it or Virtualmin will go and screw it up again :)

Will this be fixed in 3.90?

Just ran into the same issue again with 3.89 (because I forgot about it :-)

Of course strictly speaking this more a webmin issue (1.5.70).

Yes, this will be fixed in the 3.90 release..

A fix for these issues has been implemented for inclusion in Virtualmin 3.90.

Automatically closed -- issue fixed for 2 weeks with no activity.