I think I've found a bug in Dovecot 1.0 rc1 where if you have namespaces
without the "location = " setting defined, it fails to use
default_mail_env as it should.
This seems to have been broken by :-
2006-06-16 18:13 Timo Sirainen
* src/master/: auth-process.c, login-process.c, mail-process.c,
main.c, master-settings.c: Settings parser nowadays returns ""
instead of NULL when it reads an empty value from config file
(due to some good reason I unfortunately didn't write to commit
message and can't remember anymore). Fixed a lot of existing
checks which checked for empty strings with NULL instead of ""
checks.
Looks like Timo missed (at least) one!
I'm surprised nobody else has seen this. Do you all have "location" defined?
Patch attached.
Best Wishes,
Chris
--
--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-
Christopher Wakelin, c.d.wakelin@reading.ac.uk
IT Services Centre, The University of Reading, Tel: +44 (0)118 378 8439
Whiteknights, Reading, RG6 2AF, UK Fax: +44 (0)118 975 3094
--- dovecot-1.0.rc1.orig/src/master/mail-process.c Tue Jun 27 22:00:46 2006
+++ dovecot-1.0.rc1/src/master/mail-process.c Fri Jun 30 16:08:40 2006
@@ -161,7 +161,7 @@
for (i = 1; ns != NULL; i++, ns = ns->next) {
t_push();
- location = ns->location != NULL ? ns->location :
+ location = *ns->location != '\0' ? ns->location :
default_location;
location = expand_mail_env(location, table);
env_put(t_strdup_printf("NAMESPACE_%u=%s", i, location));