dm-list-email-dovecot at scs.stanford.edu
2012-Mar-31 15:38 UTC
[Dovecot] dovecot 2.1 breaks FTS + pre-auth?
Hi. I use dovecot in the simplest possible way, as an IMAP server in pre-auth mode over ssh or just locally over a unix-domain socket (e.g., with offlineimap, which runs much faster using dovecot for the local message store). Ideally I would like to avoid running any extra daemons or setting up anything as root. Until recently, this has worked fine by just setting the CONFIG_FILE environment variable to something in my home directory. Here is my configuration: $ export CONFIG_FILE=$HOME/etc/dovecot.conf $ dovecot -n # 2.1.3: /home/dm/etc/dovecot.conf # OS: Linux 3.2.13-1-ARCH x86_64 mail_location = maildir:~/Mail/inbox mail_plugins = " fts fts_squat" plugin { fts = squat fts_squat = partial=4 full=10 } doveconf: Error: ssl enabled, but ssl_cert not set doveconf: Fatal: Error in configuration file /home/dm/etc/dovecot.conf: ssl enabled, but ssl_cert not set Full text search used to work just fine with this configuration, and still does on a machine I have running dovecot 2.0.13. However, on the machine with 2.1, I get errors about /var/run/dovecot/index not existing. $ printf "a select INBOX\nb search text xyzzy\nc logout\n" \ | /usr/lib/dovecot/imap * PREAUTH [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE] Logged in as dm imap(dm): Error: net_connect_unix(/var/run/dovecot/indexer) failed: No such file or directory ... Needless to say, no dovecot.index.search or dovecot.index.search.uids file is created after this error. While I can't write /var/run/dovecot, this is not a permission issue. For example, adding base_dir=/home/dm (my home directory) to the configuration file yields the same error for /home/dm/indexer. I'm guessing something has changed where imap requires an indexer daemon and doesn't launch it in pre-auth mode any more, but I can't find anything about this in the documentation. In short, if anyone can tell me how to use FTS in conjunction with pre-auth mode or point me to a working example, I would appreciate it.
On 31.3.2012, at 18.38, dm-list-email-dovecot at scs.stanford.edu wrote:> Hi. I use dovecot in the simplest possible way, as an IMAP server in > pre-auth mode over ssh or just locally over a unix-domain socket > (e.g., with offlineimap, which runs much faster using dovecot for the > local message store). Ideally I would like to avoid running any extra > daemons or setting up anything as root. Until recently, this has > worked fine by just setting the CONFIG_FILE environment variable to > something in my home directory.You can run Dovecot without root: http://wiki2.dovecot.org/HowTo/Rootless> Full text search used to work just fine with this configuration, and > still does on a machine I have running dovecot 2.0.13. However, on > the machine with 2.1, I get errors about /var/run/dovecot/index not > existing. > > $ printf "a select INBOX\nb search text xyzzy\nc logout\n" \ > | /usr/lib/dovecot/imap > * PREAUTH [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE] Logged in as dm > imap(dm): Error: net_connect_unix(/var/run/dovecot/indexer) failed: No such file or directoryI looked at the code and looks like there is no easy way to make it work the old way. The new way is the only way to make fts-lucene work reliably, and it's also better for fts-solr. And fts-squat is really on its way out to die.
Reasonably Related Threads
- Does fts_lucene need fts_squat?
- panic in dovecot when using fts with solr
- ACL plugin, public namespace, erroneous \HasNoChildren
- Localhost imap server fails after upgrade from 2.2.33.2-1 to 1:2.3.2.1
- Localhost imap server fails after upgrade from 2.2.33.2-1 to 1:2.3.2.1