Nastavení ftp přístupu pro Ingo v Horde Webmail

Nedávno jsem dělal upgrade Horde Webmail z verze 3 na verzi 5. Upgrade proběhl po jistém boji správně, respektive tak vypadal. Po pár dnech se mi ozval zákazník, že nejde měnit filtry na příchozí poštu.

Výchozí situace

  • imap server courier
  • doručování pomocí maildropu
  • filtry v souboru .mailfilter v home adresáři webu
  • filtry se mění pomocí lokálního ftp serveru
  • mailserver pro více domén, přihlašovací login je včetně domény

Hledání problému

Zkontroloval jsem nastavení, vše vypadalo v pořádku, ingo (nástroj na ovládání mail filtrů) si správně bral informace od webmailu imp, přes který se logovali uživatelé. Problém jsem nakonec našel v logu ftp serveru. Při pokusu o změnu souboru .mailfilter se ftp server pokusil připojit:

Feb 27 11:38:39 mail/server pure-ftpd: (?@server) [INFO] New connection from server
Feb 27 11:38:44 mail/server pure-ftpd: (?@server) [WARNING] Authentication failed for user [admin]
Feb 27 11:38:44 mail/server pure-ftpd: (?@server) [INFO] Logout

V Horde 3 bylo možné v modulu ingo u nastavení ftp zapnout parametr hordeauth. Díky němu ftp předalo celé jméno ve tvartu admin@server. V Horde 5 už tento parametr není. Jako doporučená oprava, pokud to potřebujete je nabízeno upravit si autentifikační hook v instalaci ingo.

Řešení

Naštěstí je v standardní instalaci hook už téměř připraven, stačí pročistit jejich vzorový. Vytvořte soubor ./horde/ingo/config/hooks.php s následující třídou:

class Ingo_Hooks
{
    public function transport_auth($driver) 
    {
        $ob = $GLOBALS['registry']->call('mail/imapOb');
        return array(
            'password' => $ob->getParam('password'),
            'username' => $ob->getParam('username')
        );
    }
}

Uložte a ověřte si, jestli to funguje. Pokud ne, odhlašte se a přihlašte zpět, to by mělo stačit.

Feb 28 14:37:16 mail/server pure-ftpd: (?@server) [INFO] admin@server is now logged in
Feb 28 14:37:16 mail/server pure-ftpd: (admin@server@server) [NOTICE] /var/vmail/server/admin//.mailfilter uploaded  (823 bytes, 30.47KB/sec)
Feb 28 14:37:17 mail/server pure-ftpd: (admin@server@server) [INFO] Logout

Modifikace fltrů opět funguje.

2 Komentáře.

  1. presne toto som urobil aj ja…z 3 na 5…a teraz sa trapim s backends.php a filtrami kedze vacation bolo v 3 robene inak…:-(

    • A kde ses zasekl? U filtrů mě to připadlo stejné, v závislosti na typu filtru se objeví, nebo neobjeví možnosti filtrování. Jen problém byl u toho nahrávání.

      Vacation nastavím potom bez problémů, když vytvořím v horde pravidla, tak tam je a vypadá funkčně.

      S Horde je to boj, vždycky 😛 .