[Dovecot] 1.0rc1 location variable bug

Chris Wakelin c.d.wakelin at reading.ac.uk
Fri Jun 30 18:16:28 EEST 2006


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 <tss at iki.fi>

* 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 at 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
-------------- next part --------------
--- 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));


More information about the dovecot mailing list