config= $config; } function is_available() { #TODO # Check if heimdal information is available # in configuration and return true/false # # In particular, we need the "heimdal_keygen" to feed kadmin in order to return "true". # return false; } function generate_hash($pwd) { $mode= "kerberos"; if (isset($this->config->current['KRBSASL']) && preg_match('/^true$/i', $this->config->current['KRBSASL'])){ $mode= "sasl"; } return "{".$mode."}".$this->attrs['uid'][0]."@".$cfg= $this->config->data['SERVERS']['KERBEROS']['REALM']; } function remove_from_parent() { #TODO # Find and remove kerberos entry below $this->dn # See https://oss.gonicus.de/labs/gosa/ticket/223 } function set_password() { #TODO # Add or modify kerberos entry below $this->dn # See https://oss.gonicus.de/labs/gosa/ticket/223 # Order: create entries, then call the heimdal_keygen hook with the realm (returned by generate_hash) # to let it add the missing kerberos keys. } function get_hash_name() { $mode= "kerberos"; if (isset($this->config->current['KRBSASL']) && preg_match('/^true$/i', $this->config->current['KRBSASL'])){ $mode= "sasl"; } return "$mode"; } function is_configurable() { return TRUE; } function configure() { #TODO # * Handle POST's from and for this dialog # * Return filled template for the config sub-dialog. # See https://oss.gonicus.de/labs/gosa/ticket/223 } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?>