Hi everyone, happy new year :)

While Dovecot support a lot of different password schemes, making both Postfixadmin and Roundcube playing nice by using something else than the old MD5 scheme need a little work.

In this post I'll explain how to configure them to use a Blowfish scheme (BLF-CRYPT in the Dovecot terminology), but you can easily adapt the steps to use something else. You should already have Dovecot, Postfixadmin, and Roundcube (with the password plugin) up and running.


Ahoy !
I realized that forgot about half of the Rspamd & Dovecot in my last article, so here is an attempt to correct this misstep.

In this article we'll configure Dovecot's Sieve to understand how Rspamd assign spam score and headers to emails. Then, we'll implement policies to reject or filter spam from Sieve. If needed, we'll use the spamtest and spamtestplus Sieve extensions.

i3wm Logo

Since the update to 15.04 "Vivid Vervet" I've experienced some new input issues: I could not input some characters, most notably those requiring a combination of key to press. With a swiss-french layout I could not input stuff like ` ^ ~ and use my configured compose key. The culprit was unknown to me until then: IBus.

To solve this issue, you can either launch im-config(8) as user and select the "none" Input Method or simply do:

% echo "run_im none" > ~/.xinputrc
Now restart X and enjoy your keyboard back.
FreeBSD Logo

I had an issue while trying to run a php-fpm FastCGI process from a FreeBSD jail using nginx from the host. Like many others I experienced the infamous White Screen Of Death™ but no errors were logged at all (even with the full debug config all set from both php-fpm.conf and php.ini).


# ...
upstream princesse-bulldozer-php-fpm {
    server [2a01:4f8:120:5388:0:b:249:1]:9000;
} server {
    listen   *:80;
    listen   [::]:80;
    # ...
    root /usr/jails/;
    index index.php;
    # Pass all .php files onto a php-fpm/php-fcgi server.
    location ~ [^/]\.php(/|$) {
        fastcgi_index index.php;

        fastcgi_pass princesse-bulldozer-php-fpm;
        # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_FILENAME /home/$fastcgi_script_name;
        include fastcgi_params;
  1. As nginx is run from the host, using the "full" path as root is correct.
  2. Since php-fpm is jailed, the SCRIPT_FILENAME path should not use $document_root
  3. … but use the "jailed" path instead.

Hope it can avoid a couple of painful debugging out there :)

ownCloud logo

After updating ownCloud to 8, the max file upload suddenly ignored my customizations efforts that were working flawlessly with ownCloud 7. Instead of the configured 4G, ownCloud would cap the max file upload size to 513M (a very odd looking number for the geeky eye). A quick phpinfo() revealed that both upload_max_filesize and post_max_size were locally set to 513M. To the best of my knowledge, the only way to locally override theses options was by using a .htaccess file but since my setup does not use Apache + mod_php but nginx + php-fpm instead (and thus should ignore .htaccess), I was rather confused.

Caution this is Spart^WC

Happy new year :)

2014 has been very busy for me so I did not have much time to write. 2015 seems promising, I'll have more free time for various side projects and — hopefully — posting a little more often.

Also this is a very short follow up post to link a cool paper about Undefined Behaviour in C (I also mirror it here).

As an exercice, feel free to look for UB in the PHP codebase on GitHub (that's pretty easy, you can start by searching "overflow")