[Dovecot] assertion failed: (mailbox_list_is_valid_existing_name(_list, name))
Do you need a gdb backtrace for this one? I'm not sure why all of a sudden this started happening, its probably due to me adding a folder somewhere? not sure. It happened when I went to open my folder subscriptions in thunderbird. It was taking longer than usual (call this phase 1) and I noticed this in the logs: (cant remember if this was phase 1 or 2 but the error is probably the same) Nov 11 00:38:38 boomhauer dovecot: imap-login: Login: user=, method=PLAIN, rip=208.53.102.126, lip=35.9.37.190, TLS Nov 11 00:38:39 boomhauer dovecot: IMAP(mcdouga9): fchown(/egr/mail/shared/decs/temp.boomhauer.3050.af3db3ac545170a7) failed: Operation not permitted Nov 11 00:38:44 boomhauer dovecot: IMAP(mcdouga9): file mailbox-list-maildir.c: line 186 (maildir_list_get_path): assertion failed: (mailbox_list_is_valid_existing_name(_list, name)) Nov 11 00:38:44 boomhauer dovecot: child 3050 (imap) killed with signal 6 Nov 11 00:38:45 boomhauer dovecot: imap-login: Login: user=, method=PLAIN, rip=208.53.102.126, lip=35.9.37.190, TLS Nov 11 00:38:45 boomhauer dovecot: IMAP(mcdouga9): fchown(/egr/mail/shared/decs/temp.boomhauer.3052.5538be060c2f9c7d) failed: Operation not permitted Nov 11 00:38:46 boomhauer dovecot: IMAP(mcdouga9): file mailbox-list-maildir.c: line 186 (maildir_list_get_path): assertion failed: (mailbox_list_is_valid_existing_name(_list, name)) Nov 11 00:38:46 boomhauer dovecot: child 3052 (imap) killed with signal 6 When I cancelled the subscription window, "phase 2" is the same thing but happening more rapidly. I traced what tbird is doing and can reproduce it with: ? OK Logged in. a list "" "#shared/decs/%/%" Connection closed by foreign host. Doing a list on #shared/decs/% works though.
Re: [Dovecot] Various uidlist and index errors with 1.1 on NFS
On Sat, 2007-11-10 at 23:32 -0500, Adam McDougall wrote: > No, maildir always uses dotlocks. > > This is getting difficult though. After many hours I've finally gotten > it to work properly without indexes. But even that required a pretty > evil hack. It looks like the only way I can get FreeBSD to flush its > filename cache (or whatever it's called that maps filenames to inodes) > is to call rmdir() to the directory and hope that it fails with > ENOTEMPTY. So this can't be safely done if the directory may be empty, > as is easily possible with Maildir/cur and Maildir/new directories.. > > Wow, scary, but at least finding one awful way to make it work is starting > on the road to finding a less awful way :) If I had more time, I'd start > looking around the kernel source myself, but I have to get the rest of this > project off the ground. I figured out that rmdir() flushing by looking at FreeBSD sources. :) I also tried a few other ways that looked promising, but nothing else seemed to work. > With indexes enabled it then starts giving errors immediately about > transaction logs. I think I'll leave figuring that out for later. I'm > guessing the read cache flushing code doesn't work properly either. > > No problem, thanks for looking into it. I think I will be satisfied for > now with per-server index directories. Do you think it should be safe to > have them on NFS as long as only one host accesses that index directory? Yes. > Also, should I start using dotlock_use_excl anyway as long as it > appears to work? Yes. I might even make it the default, since it's broken only with some really old NFS setups. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Various uidlist and index errors with 1.1 on NFS
On Sun, Nov 11, 2007 at 06:19:21AM +0200, Timo Sirainen wrote: On Sat, 2007-11-10 at 19:51 -0500, Adam McDougall wrote: > On Sun, Nov 11, 2007 at 02:34:33AM +0200, Timo Sirainen wrote: > > I'm beginning to understand the problem. Or at least one of them. :) > > Dovecot is currently flushing attribute cache for files it wants to > stat/open. But that's not enough. It also has to flush attribute cache > for the directory, or it might stat/open a file that has already been > unlinked (but which still has links somewhere in the filesystem so that > it doesn't fail with ESTALE). > > dotlock_use_excl=yes seems to help somewhat with this problem for now. > It also gives better performance. > > I'm assuming that only helps if I use dotlock locking, right? No, maildir always uses dotlocks. This is getting difficult though. After many hours I've finally gotten it to work properly without indexes. But even that required a pretty evil hack. It looks like the only way I can get FreeBSD to flush its filename cache (or whatever it's called that maps filenames to inodes) is to call rmdir() to the directory and hope that it fails with ENOTEMPTY. So this can't be safely done if the directory may be empty, as is easily possible with Maildir/cur and Maildir/new directories.. Wow, scary, but at least finding one awful way to make it work is starting on the road to finding a less awful way :) If I had more time, I'd start looking around the kernel source myself, but I have to get the rest of this project off the ground. With indexes enabled it then starts giving errors immediately about transaction logs. I think I'll leave figuring that out for later. I'm guessing the read cache flushing code doesn't work properly either. No problem, thanks for looking into it. I think I will be satisfied for now with per-server index directories. Do you think it should be safe to have them on NFS as long as only one host accesses that index directory? (with possible, and likely multiple dovecot processes for one user on that host) Also, should I start using dotlock_use_excl anyway as long as it appears to work? I hope Linux supports cache flushes better..
Re: [Dovecot] Various uidlist and index errors with 1.1 on NFS
On Sat, 2007-11-10 at 19:51 -0500, Adam McDougall wrote: > On Sun, Nov 11, 2007 at 02:34:33AM +0200, Timo Sirainen wrote: > > I'm beginning to understand the problem. Or at least one of them. :) > > Dovecot is currently flushing attribute cache for files it wants to > stat/open. But that's not enough. It also has to flush attribute cache > for the directory, or it might stat/open a file that has already been > unlinked (but which still has links somewhere in the filesystem so that > it doesn't fail with ESTALE). > > dotlock_use_excl=yes seems to help somewhat with this problem for now. > It also gives better performance. > > I'm assuming that only helps if I use dotlock locking, right? No, maildir always uses dotlocks. This is getting difficult though. After many hours I've finally gotten it to work properly without indexes. But even that required a pretty evil hack. It looks like the only way I can get FreeBSD to flush its filename cache (or whatever it's called that maps filenames to inodes) is to call rmdir() to the directory and hope that it fails with ENOTEMPTY. So this can't be safely done if the directory may be empty, as is easily possible with Maildir/cur and Maildir/new directories.. With indexes enabled it then starts giving errors immediately about transaction logs. I think I'll leave figuring that out for later. I'm guessing the read cache flushing code doesn't work properly either. I hope Linux supports cache flushes better.. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] dovecot.index mtime
On Sat, 10 Nov 2007, Matt wrote: Is there anyway I can get Dovecot to update mtime on dovecot.index everytime a user successfully checks there email? Or perhaps there is a better way to do what I want here. I am working on a script that I want to check when the last time a user checked there email account. If a user has not checked it in say 6 months I want to automatically suspend the account through the MTA. If they start checking it again I also want to automatically reinstate it. What I thought was a good way was to look at the mtime on dovecot.index but a user can be checking there email daily but if they do not receive a new message in say 6 months the mtime will date back to 6 months still. Ran into this with an email address used by a fax machine. So is there a better way with dovecot to determine this? I am using dovecot-1.0.rc29 right now. [From an email I wrote in October] You can do this (and many other things) through Post-Login Scripting: http://wiki.dovecot.org/PostLoginScripting See in particular “Last-login tracking”: http://wiki.dovecot.org/PostLoginScripting#line-20 [...and for your situation:] I think I'd avoid actually disabling the account through the MTA, especially if it's for security considerations and your accounts have shell access. But it wouldn't be that hard: In dovecot.conf, set your IMAP login script as follows: protocol imap { # ... mail_executable = /full/path/to/loginscript.sh Then, use the attached loginscript.sh. (and chmod +x it) Tested with 1.0.5 under Gentoo. The 'stat' and 'date' commands might need alteration depending on your particular flavor of O/S. (I also realized after writing it that you probably meant to disable mail delivery, not IMAP access. But, it was a fun exercise.) In that case, all you need in loginscript.sh is: #!/bin/sh touch $HOME/.dovecot-lastlogin exec /usr/libexec/dovecot/imap Then run a cron job to disable delivery through your MTA of choice. Best, Ben dovecot-login.sh Description: Bourne shell script
Re: [Dovecot] Various uidlist and index errors with 1.1 on NFS
On Sun, Nov 11, 2007 at 02:34:33AM +0200, Timo Sirainen wrote: I'm beginning to understand the problem. Or at least one of them. :) Dovecot is currently flushing attribute cache for files it wants to stat/open. But that's not enough. It also has to flush attribute cache for the directory, or it might stat/open a file that has already been unlinked (but which still has links somewhere in the filesystem so that it doesn't fail with ESTALE). dotlock_use_excl=yes seems to help somewhat with this problem for now. It also gives better performance. I'm assuming that only helps if I use dotlock locking, right? I've left it at the default locking method so far except for a brief period a few nights ago, when I tried dotlock but it seemed no better (although I neglected to try dotlock_use_excl).
Re: [Dovecot] Various uidlist and index errors with 1.1 on NFS
I'm beginning to understand the problem. Or at least one of them. :) Dovecot is currently flushing attribute cache for files it wants to stat/open. But that's not enough. It also has to flush attribute cache for the directory, or it might stat/open a file that has already been unlinked (but which still has links somewhere in the filesystem so that it doesn't fail with ESTALE). dotlock_use_excl=yes seems to help somewhat with this problem for now. It also gives better performance. signature.asc Description: This is a digitally signed message part
[Dovecot] Secure authentication?
I have enabled SSL support for my dovecot installation but if I enable secure authentication in my MUA, I get an error from dovecot telling me that this is not supported.. Is this because dovecot does not support this or am I missing some config? Regards, BTJ -- --- Bjørn T Johansen [EMAIL PROTECTED] --- Someone wrote: "I understand that if you play a Windows CD backwards you hear strange Satanic messages" To which someone replied: "It's even worse than that; play it forwards and it installs Windows" ---
[Dovecot] dovecot.index mtime
Is there anyway I can get Dovecot to update mtime on dovecot.index everytime a user successfully checks there email? Or perhaps there is a better way to do what I want here. I am working on a script that I want to check when the last time a user checked there email account. If a user has not checked it in say 6 months I want to automatically suspend the account through the MTA. If they start checking it again I also want to automatically reinstate it. What I thought was a good way was to look at the mtime on dovecot.index but a user can be checking there email daily but if they do not receive a new message in say 6 months the mtime will date back to 6 months still. Ran into this with an email address used by a fax machine. So is there a better way with dovecot to determine this? I am using dovecot-1.0.rc29 right now. Matt
Re: [Dovecot] Various uidlist and index errors with 1.1 on NFS
On Sat, Nov 10, 2007 at 07:54:15PM +0200, Timo Sirainen wrote: On Tue, 2007-11-06 at 15:57 -0500, Adam McDougall wrote: > Two nights ago I took a leap and extended my testing of dovecot 1.1 by > replacing 1.0 for the approx 15 users I had on 1.0. At that time I also > for the first time tried dovecot 1.1 in a load balanced 2 server configuration > with indexes on NFS. I hadn't actually tested this myself. Would be nice if someone gave me access to a NFS test system, would be much easier to test and fix these problems. :) I'd be more than happy to give you access to some of my servers. I'll email you privately about that. If you think the corruption is resolvable, I'd be happy if it could be worked out to provide a better service to my users. What OS are you using on NFS clients? FreeBSD 6.2 > Nov 4 23:32:23 boomhauer dovecot: IMAP(mcdouga9): Trying to close > mailbox support.2005.01-Jan with open transactions Probably some error handling path forgot to free the transaction. Would be nice to know how to reproduce it. I agree it would be nice. If I see it again and find a way to isolate it, I will. Perhaps it is caused when a client gets disconnected for some reason. Could just be a symptom of index problems that could get resolved some other way. > Nov 5 01:11:43 boomhauer dovecot: IMAP(mcdouga9): Corrupted > transaction log > file /home/mcdouga9/Maildir/dovecot/private/indexes/.INBOX/dovecot.index.log: Unexpected garbage at EOF Either writing really left some partially written data there, or attribute cache flushing doesn't work. > Nov 6 09:12:26 boomhauer dovecot: > IMAP(walbyjon): /home/walbyjon/Maildir/dovecot/public/control/decs/.support/dovecot-uidlist: Duplicate file entry: 1189447198.M910150P10430.hill:2,RS Sources explain this as: /* This can happen if expunged file is moved back and the file was appended to uidlist. */ So that would mean that readdir() skipped some files and later found them again. But this shouldn't happen as long as Dovecot is the only one accessing the maildir, because it locks its syncs.. > Nov 5 15:26:53 hill dovecot: IMAP(mcdouga9): file > mail-index-sync-update.c: line 599: unreached I replaced this crash with a nice error message. :)
Re: [Dovecot] Outlook can't see namespace folders
On Sat, Nov 10, 2007 at 08:55:48PM +0200, Timo Sirainen wrote: On 10.11.2007, at 20.39, Adam McDougall wrote: >> x subscribe #shared/decs >> x NO [TRYCREATE] Mailbox doesn't exist: #shared/decs Maybe this then: http://hg.dovecot.org/dovecot/rev/ba74249c79f0 Yep, fantastic, thanks!
Re: [Dovecot] Outlook can't see namespace folders
On 10.11.2007, at 20.39, Adam McDougall wrote: x subscribe #shared/decs x NO [TRYCREATE] Mailbox doesn't exist: #shared/decs Maybe this then: http://hg.dovecot.org/dovecot/rev/ba74249c79f0 PGP.sig Description: This is a digitally signed message part
Re: [Dovecot] Request for variable unique to each server?
On Sat, Nov 10, 2007 at 05:30:08PM +0200, Timo Sirainen wrote: On Sat, 2007-11-10 at 09:12 -0500, Adam McDougall wrote: > Is there a variable that holds the server hostname or something else unique per server, > or could one be added, or could someone point me at the code? Thanks. Well, the code would in two places: src/auth/auth-request.c auth_request_get_var_expand_table() src/master/mail-process.c get_var_expand_table() You could add a new variable that uses my_hostname variable from hostpid.h. I'm not sure if I should add this to standard variables. These one letter variables are beginning to run out. Maybe v2.0 should have longer $variable names.. Thanks! Got that working as a local patch, which I am satisfied with if you don't add an official one. I just quickly picked a letter that looked unused (%q) so thats what it is when you see it in configs I post ;)
Re: [Dovecot] Outlook can't see namespace folders
On Sat, Nov 10, 2007 at 07:21:21PM +0200, Timo Sirainen wrote: On Sat, 2007-11-10 at 11:46 -0500, Adam McDougall wrote: > On Sat, Nov 10, 2007 at 06:10:49PM +0200, Timo Sirainen wrote: > > On Fri, 2007-11-09 at 14:25 -0500, Adam McDougall wrote: > > sr6v SUBSCRIBE "#shared" > > sr6v NO [TRYCREATE] Mailbox doesn't exist: #shared > > > > same for #shared/decs. All of my public folders are under #shared/[namespace]/. > > Well, I didn't think anyone would want that. :) > http://hg.dovecot.org/dovecot/rev/f7aea3542cce > > Thanks, now I can subscribe to #shared, but it still won't let me > for #shared/decs. I verified this was new behavior by removing the patch. Oh? Works with me. What kind of configuration does that namespace have? x namespace * NAMESPACE (("" "/")("#shared/decs/" "/")) NIL NIL x OK Namespace completed. x subscribe #shared x OK Subscribe completed. x subscribe #shared/decs x OK Subscribe completed. My NAMESPACE reply looks a little different (NILs in different places) amd I tried unloading the acl plugin just to rule it out. ? OK Logged in. x namespace * NAMESPACE (("" "/")) NIL (("#shared/decs/" "/")) x OK Namespace completed. x subscribe #shared x OK Subscribe completed. x subscribe #shared/decs x NO [TRYCREATE] Mailbox doesn't exist: #shared/decs x subscribe #shared/decs/unixadmin x OK Subscribe completed. Does this have anything to do with it?: x LIST "" "#shared/" x OK List completed. x LIST "" "#shared/decs/" * LIST (\Noselect \HasChildren) "/" "#shared/decs/" x OK List completed. I tried making a brand new namespace called #shared/empty/ drwxrwx---2 postlocal postlocal 4096 Nov 10 13:36 empty but it behaved the same. # 1.1.beta7: /usr/local/etc/dovecot.conf ssl_cert_file: /usr/local/etc/apache2/ssl/mail.pem ssl_key_file: /usr/local/etc/apache2/ssl/mail.pem disable_plaintext_auth: no login_dir: /var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login verbose_proctitle: yes first_valid_uid: 1000 first_valid_gid: 1000 mail_extra_groups: postlocal mail_location: maildir:%h/Maildir:CONTROL=%h/Maildir/dovecot/private/control:INDEX=%h/Maildir/dovecot/%q/private/indexes mmap_disable: yes mail_nfs_storage: yes mail_nfs_index: yes mail_plugins: acl mail_log_max_lines_per_sec: 0 imap_client_workarounds: delay-newmail netscape-eoh tb-extra-mailbox-sep namespace: type: private separator: / inbox: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: mail/ hidden: yes subscriptions: yes namespace: type: private separator: / prefix: Mail/ hidden: yes subscriptions: yes namespace: type: public separator: / prefix: #shared/decs/ location: maildir:/egr/mail/shared/decs:CONTROL=%h/Maildir/dovecot/public/control/decs:INDEX=%h/Maildir/dovecot/%q/public/indexes/decs list: yes subscriptions: yes namespace: type: public separator: / prefix: #shared/empty/ location: maildir:/egr/mail/shared/decs:CONTROL=%h/Maildir/dovecot/public/control/empty:INDEX=%h/Maildir/dovecot/%q/public/indexes/empty list: yes subscriptions: yes auth default: passdb: driver: pam userdb: driver: passwd args: system_user= socket: type: listen client: path: /var/spool/postfix/private/auth mode: 384 user: postfix group: postfix plugin: acl: vfile:/usr/local/etc/dovecot-acls:cache_secs=10
Re: [Dovecot] Small typo
On Tue, 2007-11-06 at 17:25 +0530, Abhijit Hoskeri wrote: > This is what I have come up with: (attached) proxy-host.diff > Also there at : http://deeproot.in/~abhijit/proxy-host.diff > > It works for me, after a little testing. Hope I have done it at the > right place. > + i_fatal("resolve_maybe: Can't resolve address > %s: %s", > + host, net_gethosterror(ret)); i_fatal() exits the process. You probably want to use i_error() instead. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Various uidlist and index errors with 1.1 on NFS
On Tue, 2007-11-06 at 15:57 -0500, Adam McDougall wrote: > Two nights ago I took a leap and extended my testing of dovecot 1.1 by > replacing 1.0 for the approx 15 users I had on 1.0. At that time I also > for the first time tried dovecot 1.1 in a load balanced 2 server configuration > with indexes on NFS. I hadn't actually tested this myself. Would be nice if someone gave me access to a NFS test system, would be much easier to test and fix these problems. :) What OS are you using on NFS clients? > Nov 4 23:32:23 boomhauer dovecot: IMAP(mcdouga9): Trying to close > mailbox support.2005.01-Jan with open transactions Probably some error handling path forgot to free the transaction. Would be nice to know how to reproduce it. > Nov 5 01:11:43 boomhauer dovecot: IMAP(mcdouga9): Corrupted > transaction log > file /home/mcdouga9/Maildir/dovecot/private/indexes/.INBOX/dovecot.index.log: > Unexpected garbage at EOF Either writing really left some partially written data there, or attribute cache flushing doesn't work. > Nov 6 09:12:26 boomhauer dovecot: > IMAP(walbyjon): > /home/walbyjon/Maildir/dovecot/public/control/decs/.support/dovecot-uidlist: > Duplicate file entry: 1189447198.M910150P10430.hill:2,RS Sources explain this as: /* This can happen if expunged file is moved back and the file was appended to uidlist. */ So that would mean that readdir() skipped some files and later found them again. But this shouldn't happen as long as Dovecot is the only one accessing the maildir, because it locks its syncs.. > Nov 5 15:26:53 hill dovecot: IMAP(mcdouga9): file > mail-index-sync-update.c: line 599: unreached I replaced this crash with a nice error message. :) signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Outlook can't see namespace folders
On Sat, 2007-11-10 at 11:46 -0500, Adam McDougall wrote: > On Sat, Nov 10, 2007 at 06:10:49PM +0200, Timo Sirainen wrote: > > On Fri, 2007-11-09 at 14:25 -0500, Adam McDougall wrote: > > sr6v SUBSCRIBE "#shared" > > sr6v NO [TRYCREATE] Mailbox doesn't exist: #shared > > > > same for #shared/decs. All of my public folders are under > #shared/[namespace]/. > > Well, I didn't think anyone would want that. :) > http://hg.dovecot.org/dovecot/rev/f7aea3542cce > > Thanks, now I can subscribe to #shared, but it still won't let me > for #shared/decs. I verified this was new behavior by removing the patch. Oh? Works with me. What kind of configuration does that namespace have? x namespace * NAMESPACE (("" "/")("#shared/decs/" "/")) NIL NIL x OK Namespace completed. x subscribe #shared x OK Subscribe completed. x subscribe #shared/decs x OK Subscribe completed. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Outlook can't see namespace folders
On Sat, Nov 10, 2007 at 06:10:49PM +0200, Timo Sirainen wrote: On Fri, 2007-11-09 at 14:25 -0500, Adam McDougall wrote: > sr6v SUBSCRIBE "#shared" > sr6v NO [TRYCREATE] Mailbox doesn't exist: #shared > > same for #shared/decs. All of my public folders are under #shared/[namespace]/. Well, I didn't think anyone would want that. :) http://hg.dovecot.org/dovecot/rev/f7aea3542cce Thanks, now I can subscribe to #shared, but it still won't let me for #shared/decs. I verified this was new behavior by removing the patch.
Re: [Dovecot] UTF-8 in dovecot-sieve ?
On Tue, 2007-11-06 at 17:54 +0100, Arthur Pétry wrote: > Reading http://tools.ietf.org/html/rfc3028#section-2.7.2 I thought > that out-of-the-box dovecot can filter messages by matching header in > UTF-8. > > But when I tested it, it failed : > (I'm using 1.0.5 with sieve plugin) Doesn't work, and too much trouble to implement it. However v1.1 should support it. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Outlook can't see namespace folders
On Fri, 2007-11-09 at 14:25 -0500, Adam McDougall wrote: > sr6v SUBSCRIBE "#shared" > sr6v NO [TRYCREATE] Mailbox doesn't exist: #shared > > same for #shared/decs. All of my public folders are under > #shared/[namespace]/. Well, I didn't think anyone would want that. :) http://hg.dovecot.org/dovecot/rev/f7aea3542cce signature.asc Description: This is a digitally signed message part
Re: [Dovecot] 1.0beta7 still has SEARCH TEXT not search the FROM
On Sat, 2007-11-10 at 16:13 +0900, Asheesh Laroia wrote: > I just tried out 1.0beta7 and erased all my indexes and with fts and > fts_squat enabled, and when I SEARCH TEXT in Dovecot, it does *not* find > messages where the thing I SEARCH for appear only in the From: header. Does SEARCH TEXT find it if you don't have Squat enabled? What are you searching from the From: header? The email address? The name? Does it matter? Are you searching for a word that's MIME-encoded in the From: header? > Timo, can you confirm or deny that you still see this behavior? I did > clear my indexes before doing it. Still can't see that: rm -f ~/Maildir/dovecot* MAIL=~/Maildir ./imap x search from iwontbe * SEARCH 2 x OK Search completed. x search text iwontbe not from iwontbe * SEARCH x OK Search completed. MAIL=~/Maildir MAIL_PLUGINS=fts,fts_squat FTS=squat ./imap x search from iwontbe * SEARCH 2 x OK Search completed. x search text iwontbe * SEARCH 2 x OK Search completed. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Request for variable unique to each server?
On Sat, 2007-11-10 at 09:12 -0500, Adam McDougall wrote: > Is there a variable that holds the server hostname or something else unique > per server, > or could one be added, or could someone point me at the code? Thanks. Well, the code would in two places: src/auth/auth-request.c auth_request_get_var_expand_table() src/master/mail-process.c get_var_expand_table() You could add a new variable that uses my_hostname variable from hostpid.h. I'm not sure if I should add this to standard variables. These one letter variables are beginning to run out. Maybe v2.0 should have longer $variable names.. signature.asc Description: This is a digitally signed message part
[Dovecot] Request for variable unique to each server?
I've been looking for a variable I can use in my dovecot.conf within the INDEX= setting so I can have one index dir per imap server on NFS. I've been looking at http://wiki.dovecot.org/Variables but no variable seems to contain something like server hostname, and I've been hunting for the variable expansion code in dovecot but haven't been able to find it. %l (local IP) won't help me because when using our load balancer, %l is the same IP on all of my servers. %r is close to useful but having a local webmail server on each server means I'd end up with 127.0.0.1 being shared (also I would end up with one directory per unique user/clientIP combo). Is there a variable that holds the server hostname or something else unique per server, or could one be added, or could someone point me at the code? Thanks.