Re: [Dovecot] v1.1.8 released

2009-01-08 Thread Gerhard Wiesinger

Hello Timo!

Looks like the performance problems on opening/delivering mbox mailboxes 
and index updates/usage have been solved with dovecot 1.1.8 (your inbox 
subject was dovecot 1.1rc7 and cache with deliver). 
http://www.mail-archive.com/dovecot@dovecot.org/msg08274.html


Is this quite logically with the changes you made in 1.1.8?

Ciao,
Gerhard

--
http://www.wiesinger.com/


On Wed, 7 Jan 2009, Timo Sirainen wrote:


http://dovecot.org/releases/1.1/dovecot-1.1.8.tar.gz
http://dovecot.org/releases/1.1/dovecot-1.1.8.tar.gz.sig

Most importantly mbox bugfixes. v1.1 should finally be as stable with
mboxes as it was with v1.0. Hopefully we'll also soon have the first
v1.2 beta release and the final v1.2.0 somewhat soon after that.

- mbox: Several bugfixes. Fixes next message unexpectedly lost
 errors and perhaps some other problems as well.
- deliver: It wasn't possible to override boolean settings in
  lda section by setting them to no.
- Maildir++ quota didn't correctly check if maildirs had changed
  during recalculation.
- kqueue notify: Fixed assert-crash in some situations
- dbox: Several fixes to handling Maildir migrations
- Logging/error message improvements




Re: [Dovecot] v1.1.8 released

2009-01-08 Thread Timo Sirainen
On Thu, 2009-01-08 at 13:09 +0100, Gerhard Wiesinger wrote:
 Looks like the performance problems on opening/delivering mbox mailboxes 
 and index updates/usage have been solved with dovecot 1.1.8 (your inbox 
 subject was dovecot 1.1rc7 and cache with deliver). 
 http://www.mail-archive.com/dovecot@dovecot.org/msg08274.html

That's good.

 Is this quite logically with the changes you made in 1.1.8?

I'm not sure :) There were several different correctness problems I
fixed that I think could have caused all kinds of problems.



signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] v1.1.8 released

2009-01-08 Thread Dean Brooks
On Wed, Jan 07, 2009 at 03:45:28PM -0500, Timo Sirainen wrote:
 http://dovecot.org/releases/1.1/dovecot-1.1.8.tar.gz
 http://dovecot.org/releases/1.1/dovecot-1.1.8.tar.gz.sig
 
 Most importantly mbox bugfixes. v1.1 should finally be as stable with
 mboxes as it was with v1.0. Hopefully we'll also soon have the first
 v1.2 beta release and the final v1.2.0 somewhat soon after that.

Compiling Dovecot 1.1.8 under Solaris 8 using gcc 3.4.6 gives a final
link error on dovecot-auth.  Apparantely, unsetenv() isn't a
universally available function?

libtool: link: gcc -std=gnu99 -O0 -Wall -W -Wmissing-prototypes 
-Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 
-Wbad-function-cast -o dovecot-auth auth.o auth-cache.o 
auth-client-connection.o auth-master-connection.o auth-master-listener.o 
auth-request.o auth-request-handler.o auth-stream.o auth-worker-client.o 
auth-worker-server.o db-sql.o db-passwd-file.o main.o mech.o mech-anonymous.o 
mech-plain.o mech-login.o mech-cram-md5.o mech-digest-md5.o mech-ntlm.o 
mech-otp.o mech-skey.o mech-rpa.o mech-apop.o mech-winbind.o otp-skey-common.o 
plain-common.o passdb.o passdb-blocking.o passdb-bsdauth.o passdb-cache.o 
passdb-checkpassword.o passdb-passwd.o passdb-passwd-file.o passdb-pam.o 
passdb-shadow.o passdb-sia.o passdb-vpopmail.o passdb-sql.o userdb.o 
userdb-blocking.o userdb-nss.o userdb-passwd.o userdb-passwd-file.o 
userdb-prefetch.o userdb-static.o userdb-vpopmail.o userdb-sql.o mech-gssapi.o 
db-ldap.o passdb-ldap.o userdb-ldap.o  libpassword.a 
../lib-settings/libsettings.a ../lib-ntlm/libntlm.a ../lib-otp/libotp.a 
../lib-sql/libsql.a ../lib/liblib.a -lpam /usr/local/lib/libsqlite3.so -lz -ldl 
-lrt -lnsl -lsocket -R/usr/local/lib -R/usr/local/lib
Undefined   first referenced
 symbol in file
unsetenv../lib/liblib.a(env-util.o)
ld: fatal: Symbol referencing errors. No output written to dovecot-auth
collect2: ld returned 1 exit status

--
Dean Brooks
d...@iglou.com





Re: [Dovecot] v1.1.8 released

2009-01-08 Thread Timo Sirainen
On Thu, 2009-01-08 at 11:00 -0500, Dean Brooks wrote:
 On Wed, Jan 07, 2009 at 03:45:28PM -0500, Timo Sirainen wrote:
  http://dovecot.org/releases/1.1/dovecot-1.1.8.tar.gz
  http://dovecot.org/releases/1.1/dovecot-1.1.8.tar.gz.sig
  
  Most importantly mbox bugfixes. v1.1 should finally be as stable with
  mboxes as it was with v1.0. Hopefully we'll also soon have the first
  v1.2 beta release and the final v1.2.0 somewhat soon after that.
 
 Compiling Dovecot 1.1.8 under Solaris 8 using gcc 3.4.6 gives a final
 link error on dovecot-auth.  Apparantely, unsetenv() isn't a
 universally available function?

Well, that's annoying. I was worried about that when I added it, but I
couldn't find an OS where it wasn't supported so I thought it was safe.
It is in Solaris 10 anyway. You could just comment out the call, it was
added just to fix this bug:

- deliver: It wasn't possible to override boolean settings in
  lda section by setting them to no.

I'm not really sure how this could be handled best. I guess it would be
possible to implement our own environ variable handling but that would
be pretty ugly.. Or perhaps I could modify the deliver config parsing
code once again so that it wouldn't need to unset the environment.. With
the upcoming v1.3 none of this would be necessary..


signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] v1.1.8 released

2009-01-08 Thread Dean Brooks
On Thu, Jan 08, 2009 at 11:15:55AM -0500, Timo Sirainen wrote:
 On Thu, 2009-01-08 at 11:00 -0500, Dean Brooks wrote:
  On Wed, Jan 07, 2009 at 03:45:28PM -0500, Timo Sirainen wrote:
   http://dovecot.org/releases/1.1/dovecot-1.1.8.tar.gz
   http://dovecot.org/releases/1.1/dovecot-1.1.8.tar.gz.sig
   
   Most importantly mbox bugfixes. v1.1 should finally be as stable with
   mboxes as it was with v1.0. Hopefully we'll also soon have the first
   v1.2 beta release and the final v1.2.0 somewhat soon after that.
  
  Compiling Dovecot 1.1.8 under Solaris 8 using gcc 3.4.6 gives a final
  link error on dovecot-auth.  Apparantely, unsetenv() isn't a
  universally available function?
 
 I'm not really sure how this could be handled best. I guess it would be
 possible to implement our own environ variable handling but that would
 be pretty ugly.. Or perhaps I could modify the deliver config parsing
 code once again so that it wouldn't need to unset the environment.. With
 the upcoming v1.3 none of this would be necessary..

I found similar code implementing unsetenv() in a perl module that
seems to do the same thing.  Completely untested, but example follows.

void env_remove(const char *name)
{
int name_len;
extern char **environ;
char **envp;

name_len = strlen(name);
for (envp = environ; *envp != NULL; envp++) {
if (strncmp(name, *envp, name_len) == 0 
(*envp)[name_len] == '=') {
free(*envp);
do {
envp[0] = envp[1];
 } while (*envp++);
break;
 }
 }
}

--
Dean Brooks
d...@iglou.com


Re: [Dovecot] v1.1.8 released

2009-01-08 Thread Timo Sirainen
On Thu, 2009-01-08 at 11:38 -0500, Dean Brooks wrote:
 I found similar code implementing unsetenv() in a perl module that
 seems to do the same thing.  Completely untested, but example follows.

Hmm. Maybe I could add that to compat.c..

 void env_remove(const char *name)
 {
 int name_len;
 extern char **environ;
 char **envp;
 
 name_len = strlen(name);
 for (envp = environ; *envp != NULL; envp++) {
 if (strncmp(name, *envp, name_len) == 0 
 (*envp)[name_len] == '=') {
 free(*envp);

I think the free() here shouldn't be done, because Dovecot allocates the
memory from memory pools.



signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] v1.1.8 released

2009-01-08 Thread Timo Sirainen
On Thu, 2009-01-08 at 11:45 -0500, Timo Sirainen wrote:
 On Thu, 2009-01-08 at 11:38 -0500, Dean Brooks wrote:
  I found similar code implementing unsetenv() in a perl module that
  seems to do the same thing.  Completely untested, but example follows.
 
 Hmm. Maybe I could add that to compat.c..

http://hg.dovecot.org/dovecot-1.1/rev/fec8412dc1c5



signature.asc
Description: This is a digitally signed message part


Re: [Dovecot] v1.1.8 released

2009-01-08 Thread Brian Hayden

On Jan 8 2009, Dean Brooks wrote:


I found similar code implementing unsetenv() in a perl module that
seems to do the same thing.  Completely untested, but example follows.

void env_remove(const char *name)
{
   int name_len;
   extern char **environ;
   char **envp;

   name_len = strlen(name);
   for (envp = environ; *envp != NULL; envp++) {
   if (strncmp(name, *envp, name_len) == 0 
   (*envp)[name_len] == '=') {
   free(*envp);
   do {
   envp[0] = envp[1];
} while (*envp++);
   break;
}
}
}


At the UofMN we tried some things like this that didn't seem to quite do 
the trick, so in the end we just built on a Solaris 10 machine with proper 
unsetenv and ran that binary on 9. Might work for 8 too. Not recommended, 
but :)


--
Brian Hayden
Minnesota Supercomputing Institute
University of Minnesota



Re: [Dovecot] v1.1.8 released (managesieve updated)

2009-01-08 Thread Stephan Bosch

Timo Sirainen wrote:

http://dovecot.org/releases/1.1/dovecot-1.1.8.tar.gz
http://dovecot.org/releases/1.1/dovecot-1.1.8.tar.gz.sig


I refreshed the ManageSieve patch:

http://www.rename-it.nl/dovecot/1.1/dovecot-1.1.8-managesieve-0.10.4.diff.gz
http://www.rename-it.nl/dovecot/1.1/dovecot-1.1.8-managesieve-0.10.4.diff.gz.sig

Regards,

Stephan.