Code

Fixed regex for opsi hosts
[gosa.git] / gosa-plugins / systems / admin / systems / class_servGeneric.inc
index 108d6dc7fdad3b2d0c77a0f06aca38c789d1147f..9bfa325eb9c2e2a516340e38e961dd0e7e6a0944 100644 (file)
@@ -78,8 +78,8 @@ class servgeneric extends plugin
     plugin::plugin ($config, $dn, $parent);
 
     /* Initialize kerberos host key plugin */
-    if(class_available("krb_host_keys")){
-      $this->kerberos_key_service = new krb_host_keys($this->config,$this);
+    if(class_available("krbHostKeys")){
+      $this->kerberos_key_service = new krbHostKeys($this->config,$this);
     }
 
     $this->ui = get_userinfo();
@@ -92,14 +92,14 @@ class servgeneric extends plugin
       $this->base= dn2base($ui->dn);
       $this->cn= "";
     } else {
-      $this->base= preg_replace ("/^[^,]+,".normalizePreg(get_ou("serverou"))."/", "", $this->dn);
+      $this->base= preg_replace ("/^[^,]+,".preg_quote(get_ou("serverRDN"), '/')."/", "", $this->dn);
     }
     $this->netConfigDNS = new termDNS($this->config,$this,$this->objectclasses);
     $this->netConfigDNS->set_acl_category("server");
     $this->netConfigDNS->set_acl_base($this->base);
 
     /* Check if this host is currently in installation process*/
-    if(class_available("gosaSupportDaemon") && class_available("DaemonEvent")){
+    if($this->dn != "new" && class_available("gosaSupportDaemon") && class_available("DaemonEvent")){
       $o = new gosaSupportDaemon();
       $e_types = DaemonEvent::get_event_types(USER_EVENT | SYSTEM_EVENT | HIDDEN_EVENT);
       $evts = $o->get_entries_by_mac(array($this->netConfigDNS->macAddress));
@@ -332,7 +332,7 @@ class servgeneric extends plugin
     /* Call common method to give check the hook */
     $message= plugin::check();
     $message= array_merge($message, $this->netConfigDNS->check());
-    $this->dn= "cn=".$this->cn.",".get_ou('serverou').$this->base;
+    $this->dn= "cn=".$this->cn.",".get_ou('serverRDN').$this->base;
 
     /* must: cn */
     if ($this->cn == ""){
@@ -351,7 +351,7 @@ class servgeneric extends plugin
       if ($ldap->count() != 0){
         while ($attrs= $ldap->fetch()){
           if ($attrs['dn'] != $this->orig_dn){
-            if(!preg_match("/cn=dhcp,/",$attrs['dn']) && !preg_match("/,".get_ou('incomingou')."/",$attrs['dn']) && preg_match("/,".get_ou('serverou')."/",$attrs['dn'])){
+            if(!preg_match("/cn=dhcp,/",$attrs['dn']) && !preg_match("/,".get_ou('systemIncomingRDN')."/",$attrs['dn']) && preg_match("/,".get_ou('serverRDN')."/",$attrs['dn'])){
               $message[]= msgPool::duplicated(_("Server name"));
               break;
             }
@@ -361,7 +361,7 @@ class servgeneric extends plugin
     }
 
     /* Warn the user, that this host is currently installing */
-    if($this->currently_installing && !$this->currently_installing_warned && !preg_match("/".normalizePreg(get_ou("incomingou"))."/",$this->orig_dn)){
+    if($this->currently_installing && !$this->currently_installing_warned && !preg_match("/".preg_quote(get_ou("systemIncomingRDN"), '/')."/",$this->orig_dn)){
 
       /* Force aborting without message dialog */
       $message[] = "";
@@ -509,11 +509,13 @@ class servgeneric extends plugin
           "plCategory"    => array("server" => array("description"  => _("Server"),
                                                      "objectClass"  => "goServer")),
           "plProvidedAcls"=> array(
-            "cn"           => _("Name"),
-            "description"  => _("Description"),
-            "gotoMode"     => _("Goto mode"),
-            "base"         => _("Base"),
-            "FAIstate"     => _("Action flag"))
+            "cn"            => _("Name"),
+            "description"   => _("Description"),
+            "base"          => _("Base"),
+
+            "gotoMode"      => _("Goto mode"),
+            "userPassword"=> _("Root password"),
+            "FAIstate"      => _("Action flag"))
           ));
   }
 }