summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: a10a89a)
raw | patch | inline | side by side (parent: a10a89a)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Wed, 7 May 2008 05:47:53 +0000 (05:47 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Wed, 7 May 2008 05:47:53 +0000 (05:47 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@10794 594d385d-05f5-0310-b6e9-bd551577e9d8
gosa-plugins/heimdal/admin/systems/services/kerberos/class_password-methods-MIT.inc | patch | blob | history |
diff --git a/gosa-plugins/heimdal/admin/systems/services/kerberos/class_password-methods-MIT.inc b/gosa-plugins/heimdal/admin/systems/services/kerberos/class_password-methods-MIT.inc
index c52d84095bb2abec0da8aac0ed5d2e12d5a4e618..281bba7c610bd0969eb3080c7260d5416a5626c5 100644 (file)
return;
}
- /* Keep cache until we try to configure a principal
+ /* Keep the cached valued and skip loading principals
+ from si until this method gets configured.
*/
+ $skip_si_access = TRUE;
if($dn != "new" && $dn != ""){
session::un_set("MIT_CACHE");
session::un_set("MIT_PRINCIPAL_CACHE");
session::un_set("MIT_POLICY_CACHE");
+ $skip_si_access = FALSE;
}
/* Get a list of all kerberos servers, defined in ldap
if(!isset($attrs['macAddress'][0])) continue;
if(!isset($attrs['description'][0])) $attrs['description'][0] ="";
- $principals = $this->load_principals_for_server($attrs['macAddress'][0]);
+ if($skip_si_access){
+ $principals = array();
+ }else{
+ $principals = $this->load_principals_for_server($attrs['macAddress'][0]);
+ }
/* Create Realm/Server/Principal mapping.
*/
"cn" => $attrs['cn'][0]);
}
- /* Load object data from ldap && initialize this class
+ /* If this methods is initialized with a valid object dn then
+ load the object data from ldap and the SI daemon && initialize this class.
*/
$this->is_new = TRUE;
- if($dn != "new" && $dn != ""){
+ if(!$skip_si_access){
$ldap = $this->config->get_ldap_link();
$ldap->cd($dn);
$ldap->cat($dn);
}
- /*! \brief Load this plugin with the values of the given principal
+ /*! \brief Load a specific principal from the si daemon
+ and initialize this plugin with it.
@param String The macAddress of the kerberos server.
@param String The name of the principal to load.
*/
/* Load flags
*/
- if(isset($tmp['ATTRIBUTES'])){
- $this->used_flags = $tmp['ATTRIBUTES'];
- }
+ if(isset($tmp['ATTRIBUTES'])){
+ $this->used_flags = $tmp['ATTRIBUTES'];
+ }
/* Load readonly attributes
*/
}
- /*! \brief get list of all configured principals
- for a given server.
- The results will cached.
+ /*! \brief Get the list of all configured principals for a given server.
+ @param String The servers mac address.
+ @return Array A list with all principals
+ The results will cached.
*/
public function load_principals_for_server($server)
{
}
+ /*! \brief Create the password hash. In this case: {kerberos/sasl}name@RELAM
+ @param String The password -in this case unusued.
+ @return String The generated hash
+ */
function generate_hash($pwd)
{
$mode= "kerberos";
}
+ /*! \brief Removes this principal.
+ */
function remove_from_parent()
{
if(!empty($this->principal) && $this->goKrbRealm){
}
+ /*! \brief Set a new password for this principal
+ @param String The new password.
+ */
function set_password($password)
{
if(!empty($this->principal) && $this->goKrbRealm){
}
+ /*! \brief Return the hash name of this mehtod, e.g. to identify methods.
+ @return String The hash used by this method.
+ */
function get_hash_name()
{
$mode= "kerberos";
}
+ /*! \brief Returns TRUE if this method is configurable else FALSE
+ @retrun Boolena TRUE if configurable, else FALSE.
+ */
function is_configurable()
{
return TRUE;
}
+ /*! \brief Additional info displayed in the users password method drop down.
+ @retunr String Additional password method info.
+ */
function get_description()
{
return(_("Daemon based"));
}
+ /*! \brief Display a HTML based configuration dialog for this plugin
+ @return String HTML.
+ */
function configure()
{
$this->save_object();
$date_values = array("PRINC_EXPIRE_TIME","PW_EXPIRATION");
foreach($date_values as $date_val){
-
-
-
$clear = $date_val."_clear";
$smarty->assign($date_val."_clear",$this->$clear);
$smarty->assign($date_val."_y",date("Y",$this->$date_val));
$smarty->assign($date_val."_i",date("i",$this->$date_val));
}
-
return($smarty->fetch(get_template_path("pwd_kerberos_mit.tpl")));
}
+ /*! \brief Saves all relevant HTML posts for this plugin
+ */
function save_object()
{
/* If the communication with the si server failed,
}
+ /*! \brief Checks the values specified in the configuration dialog.
+ @return Array Containing all error messages.
+ */
function check()
{
$message = array();
}
- function chk_times($str)
- {
- if(preg_match("/^([0-9]){12,12}[a-z]$/i",$str)){
- return(true);
- }
- return(false);
- }
-
-
+ /*! \brief Saves changes back to the SI daemon.
+ */
function save($dn)
{
$ldap = $this->config->get_ldap_link();