Re: [Dovecot] v1.1.8 released (managesieve updated)
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.
Re: [Dovecot] v1.1.8 released
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
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
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
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
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
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
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
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