Skip to content

Commit

Permalink
Added hook for managesieve_connect to set up GSSAPI authentication
Browse files Browse the repository at this point in the history
  • Loading branch information
neilmunday committed Feb 26, 2018
1 parent 0b12721 commit 7abcc5a
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions plugins/krb_authentication/krb_authentication.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ function init()
$this->add_hook('authenticate', array($this, 'authenticate'));
$this->add_hook('login_after', array($this, 'login'));
$this->add_hook('storage_connect', array($this, 'storage_connect'));
$this->add_hook('managesieve_connect', array($this, 'managesieve_connect'));
}

/**
Expand Down Expand Up @@ -106,4 +107,20 @@ function login($args)

return $args;
}


/**
* managesieve_connect hook handler
*/
function managesieve_connect($args)
{
if ((!isset($args['auth_type']) || $args['auth_type'] == 'GSSAPI') && !empty($_SERVER['REMOTE_USER']) && !empty($_SERVER['KRB5CCNAME'])) {
$rcmail = rcmail::get_instance();
$context = $rcmail->config->get('krb_authentication_context');
$args['gssapi_context'] = $context ?: 'imap/kolab.example.org@EXAMPLE.ORG';
$args['gssapi_cn'] = $_SERVER['KRB5CCNAME'];
$args['auth_type'] = 'GSSAPI';
}
return $args;
}
}

0 comments on commit 7abcc5a

Please sign in to comment.