[dev] Ingo ManageSieve issue

Kinglok, Fong busywater at gmail.com
Sat Jan 5 04:13:10 UTC 2013


Dear all,

I have started testing ingo to manage user's sieve scripts running with Dovecot 2.1.12 (without implementing any master login)

In order to pass the correct user credential for managing the script, I have done appropriate setting in backends.local.php:
===================
/* Sieve Example */
$backends['sieve'] = array(
    // Disabled by default
    'disabled' => false,
    'transport' => 'timsieved',
    'params' => array(
        // Hostname of the timsieved server
        'hostspec' => '192.168.107.13',
        // Login type of the server
        'logintype' => 'PLAIN',
        // Enable/disable TLS encryption
        'usetls' => false,
        // Port number of the timsieved server
        'port' => 4190,
        // Name of the sieve script
        'scriptname' => 'ingo',
        // Enable debugging. With Net_Sieve 1.2.0 or later, the sieve protocol
        // communication is logged with the DEBUG level. Earlier versions
        // print the log to the screen.
        'debug' => true,
    ),
    'script' => 'sieve',
    'scriptparams' => array(
        // If using Dovecot or any other Sieve implementation that requires
        // folder names to be UTF-8 encoded, set this parameter to true.
        'utf8' => true,
     ),
    'shares' => false
);
===================


Also enabled the hook.php (only the relevant  part) as follows
===================
.....
    public function transport_auth($driver)
    {
        switch ($driver) {
        case 'timsieved':
            // Example #1: Use full Horde username for password.
            // return array(
            //    'username' => $GLOBALS['registry']->getAuth(null)
            //);

            // Example #2: Use IMP password/username.
            $ob = $GLOBALS['registry']->call('mail/imapOb');
            return array(
                'password' => $ob->getParam('password'),
                'username' => $ob->getParam('username')
            );
        }

        // DEFAULT: Use hordeauth (identical to not defining hook at all).
        return true;
    }
....
==================

However, when I trying to enable / disable vacation rules, it shows "Authentication Failed". It turns out ingo trying to use master login method as shown in the dovecot log:
===================
auth: Debug: auth client connected (pid=5294)
auth: Debug: client in: AUTH	1	PLAIN	service=sieve	secured	session=4Eg2pYLS4wDAqGsN	lip=192.168.107.13	rip=192.168.107.13	lport=4190	rport=60387	resp=<hidden>
auth: Debug: auth(postmaster at domain.org,192.168.107.13,master,<4Eg2pYLS4wDAqGsN>): Master user lookup for login: postmaster
auth: Info: passdb(postmaster at domain.org,192.168.107.13,master,<4Eg2pYLS4wDAqGsN>): Attempted master login with no master passdbs (trying to log in as user: postmaster)
auth: Debug: client passdb out: FAIL	1	user=postmaster at domain.org
===================
Also, I have succeeded authenticating my managesieve server without problem by using (http://wiki2.dovecot.org/Pigeonhole/ManageSieve/Troubleshooting)


Is it a bug?

Kinglok, Fong



More information about the dev mailing list