6.0.0-beta1
7/4/25

[#12363] Ingo and login with "email-adress" as username is broken
Summary Ingo and login with "email-adress" as username is broken
Queue Ingo
Queue Version 3.1.1
Type Bug
State No Feedback
Priority 2. Medium
Owners
Requester django (at) nausch (dot) org
Created 06/16/2013 (4401 days ago)
Due
Updated 09/05/2017 (2859 days ago)
Assigned 06/17/2013 (4400 days ago)
Resolved 08/27/2013 (4329 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
09/05/2017 02:41:08 AM jeff (at) lightspeed (dot) com (dot) sg Comment #4 Reply to this comment
I confirm this made ingo 3.2.12 work against a cyrus sieve for user@domain.
Unless LOGIN breaks other common cyrus servers, perhaps this should be 
the default or at least documented in backends.php together with the 
part which does explain hooks.php nicely.

[Show Quoted Text - 10 lines]
08/27/2013 10:28:46 AM Jan Schneider State ⇒ No Feedback
 
06/17/2013 09:36:41 AM Jan Schneider Comment #3
State ⇒ Feedback
Reply to this comment

[Show Quoted Text - 10 lines]
None at Ingo (authentication is done via Net_Sieve), but at your Sieve 
server, so you need to start looking there.
06/17/2013 07:06:48 AM django (at) nausch (dot) org Comment #2 Reply to this comment
                 // Login type of the server
                 'logintype' => 'PLAIN',
After changing 'logintype' => 'PLAIN', to  'logintype' => 'LOGIN, it 
works again!

So, the new questin is now. ;) What's the difference between PLAIN and 
LOGIN at ingo


06/16/2013 08:31:15 PM django (at) nausch (dot) org Comment #1
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ Ingo and login with "email-adress" as username is broken
Queue ⇒ Ingo
Milestone ⇒
Patch ⇒ No
State ⇒ Unconfirmed
Reply to this comment
Since last update to ingo 3.1.1 my users can't access and modify their 
sieve-rules.

While a user tries to change an existing script, he receives the 
following error-message: "Authentication failed."
My IMAP-server reports:

Jun 16 21:42:27 vml000170 dovecot: auth: 
passdb(n3rd@it-ignorant.org,10.0.0.90,master): Attempted master login 
with no master passdbs (trying to log in as user: n3rd)
Jun 16 21:42:29 vml000170 dovecot: managesieve-login: Disconnected 
(auth failed, 1 attempts): user=<n3rd@it-ignorant.org>, method=PLAIN, 
rip=10.0.0.90, lip=10.0.0.170, TLS

I didn't change my setup, whitch worked fine the last month.

On a second brand new installation I've the exactly the same problems.

My is setting is a multidomain-setup, so my clients uses their 
email-address for logins.

My backends.local.php:
/* IMAP Example */
$backends['imap'] = array(
     // ENABLED by default
     // Django : 2013-06-14
     // default: 'disabled' => false,
     'disabled' => true,
     'transport' => array(
         Ingo::RULE_ALL => array(
             'driver' => 'null',
             'params' => array(),
         ),
     ),
     'script' => array(
         Ingo::RULE_ALL => array(
             'driver' => 'imap',
             'params' => array(),
         ),
     ),
     'shares' => false
);

$backends['sieve'] = array(
     // Disabled by default
     // Django : 2013-06-14
     // default: 'disabled' => true,
     'disabled' => false,
     'transport' => array(
         Ingo::RULE_ALL => array(
             'driver' => 'timsieved',
             'params' => array(
                 // Hostname of the timsieved server
                 'hostspec' => 'vml000170',
                 // Login type of the server
                 'logintype' => 'PLAIN',
                 // Enable/disable TLS encryption
                 'usetls' => true,
                 // Port number of the timsieved server
                 'port' => 4190,
                 // Name of the sieve script
                 'scriptname' => 'ingo',
                 // Enable debugging. The sieve protocol communication 
is logged
                 // with the DEBUG level.
                // Django : 2013-06-14
                // default: 'debug' => false,
                 'debug' => true,
             ),
         ),
     ),
     'script' => array(
         Ingo::RULE_ALL => array(
             'driver' => 'sieve',
             'params' => array(
                 // If using Dovecot or any other Sieve implementation that
                 // requires folder names to be UTF-8 encoded, set this
                 // parameter to true.
                // Django : 2013-06-14
                 // default: 'utf8' => false,
                 'utf8' => true,
              ),
         ),
     ),
     'shares' => false
);

for using email-adress as login-name my hooks.php is:

     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;
     }


     /**
      * Set the default addresses used for the vacation module.
      *
      * @param string $user  The username.
      *
      * @return array  A list of vacation addresses.
      */
//    public function vacation_addresses($user = null)
//    {
//        // Example #1: User has 2 vacation addresses.
//        return array($user . '@example.com', $user . '@foobar.com');
//    }

}

Why is horde/ingo trying to login as master? I've no master configured.




Saved Queries