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