Code

Updated comments in heimdal plugin
[gosa.git] / include / class_password-methods-heimdal.inc
1 <?php
2 /*
3    This code is part of GOsa (https://gosa.gonicus.de)
4    Copyright (C) 2004  Fabian Hickert 
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2 of the License, or
9    (at your option) any later version.
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, write to the Free Software
18    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
22 class passwordMethodheimdal extends passwordMethod
23 {
25         function passwordMethodheimdal(&$config)  
26         {
27     $this->config= $config;
28         }
31         function is_available()
32         {
33     #TODO
34     # Check if heimdal information is available
35     # in configuration and return true/false
36     #
37     # In particular, we need the "heimdal_keygen" to feed kadmin in order to return "true".
38     #
39     return false;
40         }
43         function generate_hash($pwd)
44         {
45     $mode= "kerberos";
46     if (isset($this->config->current['KRBSASL']) && preg_match('/^true$/i', $this->config->current['KRBSASL'])){
47       $mode= "sasl";
48     }
50     return "{".$mode."}".$this->attrs['uid'][0]."@".$cfg= $this->config->data['SERVERS']['KERBEROS']['REALM'];
51         }
54   function remove_from_parent()
55   {
56     #TODO
57     # Find and remove kerberos entry below $this->dn
58     # See https://oss.gonicus.de/labs/gosa/ticket/223
59   }
62   function set_password()
63   {
64     #TODO
65     # Add or modify kerberos entry below $this->dn
66     # See https://oss.gonicus.de/labs/gosa/ticket/223
67     # Order: create entries, then call the heimdal_keygen hook with the realm (returned by generate_hash)
68     #        to let it add the missing kerberos keys.
69   }
72   function get_hash_name()
73   {
74     $mode= "kerberos";
75     if (isset($this->config->current['KRBSASL']) && preg_match('/^true$/i', $this->config->current['KRBSASL'])){
76       $mode= "sasl";
77     }
78     return "$mode";
79   }
82   function is_configurable()
83   {
84     return TRUE;
85   }
88   function configure()
89   {
90     #TODO
91     # * Handle POST's from and for this dialog
92     # * Return filled template for the config sub-dialog.
93     # See https://oss.gonicus.de/labs/gosa/ticket/223
94   }
96 }
98 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
99 ?>