X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_gosaSupportDaemon.inc;h=6c1fd89606671a616dc39c4530530dd6dc79b116;hb=cd5f4de8cfe3b506e563f61dca7f9dae0cccd19f;hp=478eee9c7a9770f4f13fadc4209f8c8d122037b2;hpb=73a3a531dbd4640ac08ee2f78cbd192a19a8d188;p=gosa.git diff --git a/gosa-core/include/class_gosaSupportDaemon.inc b/gosa-core/include/class_gosaSupportDaemon.inc index 478eee9c7..6c1fd8960 100644 --- a/gosa-core/include/class_gosaSupportDaemon.inc +++ b/gosa-core/include/class_gosaSupportDaemon.inc @@ -827,6 +827,13 @@ class gosaSupportDaemon } if ($xml_elem['type'] == 'complete') { + $start_level = 1; + $test2 = &$params; + while($start_level < $xml_elem['level']) { + $test2 = &$test2[$level[$start_level]]; + $start_level++; + } + /* Save tag attributes too. e.g. */ @@ -836,12 +843,6 @@ class gosaSupportDaemon } } - $start_level = 1; - $test2 = &$params; - while($start_level < $xml_elem['level']) { - $test2 = &$test2[$level[$start_level]]; - $start_level++; - } if(!isset($test2[$xml_elem['tag']])){ if(isset($xml_elem['value'])){ $test2[$xml_elem['tag']] = $xml_elem['value']; @@ -1839,7 +1840,7 @@ class gosaSupportDaemon @param ... @return Array All queued entries. */ - public function DAK_get_queue_entries($server) + public function DAK_keyring_entries($server) { /* Ensure that we send the event to a valid mac address */ @@ -1898,6 +1899,11 @@ class gosaSupportDaemon $key = preg_replace("/^.*\n\n/sim","",$key); /* Remove footer */ $key = preg_replace("/-----.*$/sim","",$key); + }elseif (!preg_match('%^[a-zA-Z0-9/+]*={0,2}$%', $key)) { + + /* Encode key if it is raw. + */ + $key = base64_encode($key); } /* Create query @@ -1912,6 +1918,34 @@ class gosaSupportDaemon $res = $this->_send($xml_msg,TRUE); return($this->is_error()); } + + + /*! \brief Removes a key from the keyring on the given server. + @param String The servers mac address + @param String The gpg key uid. + @return Boolean TRUE on success else FALSE + */ + public function DAK_remove_key($server,$key) + { + /* Ensure that we send the event to a valid mac address + */ + if(!is_string($server) || !tests::is_mac($server)){ + trigger_error("No valid mac address given '".$server."'."); + return; + } + + /* Create query + */ + $xml_msg = " +
gosa_remove_dak_key
+ ".$server." + ".$key." + GOSA +
"; + + $res = $this->_send($xml_msg,TRUE); + return($this->is_error()); + } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: