[horde] Horde + Radius + IMP autologin/preauthenticate hook

Rick Romero rick at havokmon.com
Thu Jul 13 00:54:20 UTC 2017


Ok, I'm stuck. 

This is what I have - 
1. User authenticates to RADIUS. This is done in Horde - this works  
(and works with PrivacyIdea OTP).
2. IMP backends.local.php hordeauth is set to 'full' (usernames are  
email addresses).
3. imp/config/hooks.php:   has transparent type set and hardcodes a  
masterpassword (to account for OTP expirations)
    public function preauthenticate($userId, $credentials)
          {
              switch ($credentials['authMethod']) {
                 case 'transparent':
                          $credentials['server'] = 'server_' .  
substr($userId, 0, 1);
                           return array(
                                'credentials' => array(
                                        'password' => 'masterpassword',
                                        'transparent' => true
                                ),
                                'userId' => $userId
                           );

                          return true;
          }
This works.  It works great.  I'm happy.

But here's the rub - this only works on the local subnet.  If I  
connect from the internet, it fails.  Logs show:

Jul 12 19:05:48 beta HORDE5: [horde] Login success for  
rick at havokmon.com to horde (107.136.144.230) [pid 2626 on line 163 of  
"/usr/share/horde/login.php"]
Jul 12 19:05:50 beta HORDE5: [imp] [login] Mail server denied  
authentication. [pid 2662 on line 730 of  
"/usr/share/horde/imp/lib/Imap.php"]
Jul 12 19:05:50 beta HORDE5: Guest user is not authorized for Mail  
(Host: 107-136-144-230.lightspeed.milwwi.sbcglobal.net). [pid 2662 on  
line 324 of "/usr/share/php/Horde/Registry.php"]

But IMAP is NOT failing - logs show success. It's something internal to Horde.

I can force this to begin to work if I start creating Permissions for  
each app, and provide 'Guest' with full permissions.  This is what I'm  
finding as other's solutions as well. I'm concerned with doing this,  
all I want to do is set a master password for IMPs IMAP authentication  
because the stored OTP password is going to expire after use.   
Creating a whole set of permissions for 'Guest' (when Horde auth  
worked, I don't really think the user is a 'Guest') seems like  
overkill.  Especially because a local subnet login has no problems.  I  
don't have horde/conf.php blocks= or safe_ips= set to anything.

I must have missed something else - what did I miss?

Thanks,
Rick


More information about the horde mailing list