SASLAUTHD crashing randomly

Sometimes saslauthd crashes randomly without leaving a trace in the logs. The downside of this is that users can't send emails then and any other service using the daemon for authentication will not authenticate. This was on our CentOS 5 x64 box.

saslauthd uses 5 threads as a default option and gives you the ability to start it with a different number of threads. We changed that number some time ago and until now there haven't been any crashes. Here what the manpage says:

-n threads
Use threads processes for responding to authentication queries. (default: 5) A value of zero will indicate that saslauthd should fork an individual process for each connection. This can solve leaks that occur in some deployments.

Now, how do we change that number? Here on a CentOS box:

* open /etc/sysconfig/saslauthd with your editor (e.g. vim, nano etc)
* change the line FLAGS="" to FLAGS="-n 0" and save the file
* now restart the saslauthd service

That resolved our crashes.

Squirrelmail 1.4.22 on PHP 5.4 and Ensim

Hello all,

As you already read or heared php 5.3 has reached its end-of-life. So basically everyone should upgrade their php version to 5.4 or even 5.5. When I upgraded to 5.4 squirrelmail stopped working (I think it was still version 1.4.9a) and put a lots of error messages into the log. These messages were warnings concerning illegal string offsets.

Even squirrelmail 1.4.22 has problems with php 5.4!? Come on guys, if I'm right php 5.4 is out for about 2 years or so.

So i gave 1.4.23-snapshot a try and it indeed solved the php warnings issue, problem: it is no stable release yet! Although this version solved the biggest problems with php 5.4 it was not compatible with our Ensim box where sites are running in high security mode, btw 1.4.22 wasn't either. After some digging I found out that sqmail 1.4.9a (working on our ensim box) contained an other php_self() function in functions/strings.php than the latest releases.

What was the problem on the Ensim box?

As soon as you tried to log in you got a message like: "you must be logged in" and the link for going back to the login page has /var/www prepended.

Solution:

The solution is quite simple as soon as you find out: take the php_self() from functions/strings.php in sqmail 1.4.9a and replace the new function with the old one in 1.4.22 or 1.4.23

Ensim MySQL connection problems in high security mode

Hello, if you use a site with high security settings, the site's services are chrooted to the virtual file system. Usually the mysql socket file is hardlinked inside the virtual site but in my case this stopped working once and the socket is not linked correctly, resulting in the website not finding the database server.

Now there are several workarounds for that:

  1. Do NOT use localhost to connect but use localhost.localdomain or 127.0.0.1
  2. edit your /etc/init.d/mysqld script and add following line(s) just before the "return $ret" line in the start() section:

    for dir in `ls -d /home/virtual/site*`;
        do rm -f $dir/fst/var/lib/mysql/mysql.sock;
        ln $socketfile $dir/fst/var/lib/mysql/mysql.sock 2> /dev/null;
    done