Code

Added check to all system entries which checks for a valid host name.
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 25 Oct 2007 14:29:51 +0000 (14:29 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 25 Oct 2007 14:29:51 +0000 (14:29 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.5@7665 594d385d-05f5-0310-b6e9-bd551577e9d8

plugins/admin/systems/class_componentGeneric.inc
plugins/admin/systems/class_phoneGeneric.inc
plugins/admin/systems/class_printGeneric.inc
plugins/admin/systems/class_servGeneric.inc
plugins/admin/systems/class_terminalGeneric.inc
plugins/admin/systems/class_workstationGeneric.inc

index 2e65dccb06dd49077e326a59ea1ad929d0ae1ffd..09ca79507a9c22c524a0961d8fc16f3f59908b52 100644 (file)
@@ -148,6 +148,11 @@ class componentGeneric extends plugin
       $message[]= _("The required field 'Component name' is not set.");
     }
 
+    /* Check if given name is a valid host/dns name */
+    if(!is_dns_name($this->cn) && chkacl ($this->acl, "cn") == ""){
+      $message[] = _("Please specify a valid name for this object.");
+    }
+
     /* To check for valid ip*/
     if($this->netConfigDNS->ipHostNumber == ""){
        $message[]= _("The required field IP address is empty.");
index 33388787b8305f5c3b945b43bb3fbd10777cf728..0374211aec1af26666802a851a6ad6db25182412 100644 (file)
@@ -303,6 +303,11 @@ class phoneGeneric extends plugin
       $message[]= _("The 'Phone name' '0' is reserved and cannot be used.");
     }
 
+    /* Check if given name is a valid host/dns name */
+    if(!is_dns_name($this->cn) && chkacl ($this->acl, "cn") == ""){
+      $message[] = _("Please specify a valid name for this object.");
+    }
+
     $ui= get_userinfo();
     $acl= get_permissions ($this->dn, $ui->subtreeACL);
     $acl= get_module_permission($acl, "phone", $this->dn);
index 86d13fa9fb1ffe440221ab98bfefe12fab688a51..1345146e6cc60db8a5abbae64c5272fab669831e 100644 (file)
@@ -644,7 +644,7 @@ class printgeneric extends plugin
     }
 
     /* must: cn */
-    if(($this->BelongsTo == "Printer") && !preg_match("/^[a-z0-9\.\-_]*$/i",$this->cn)){
+    if(($this->BelongsTo == "Printer") && !is_dns_name($this->cn)){
       $message[]= _("Invalid character in printer name.");
     }
 
index d730adafecfc220ee460ed65de51ab61afac623f..ca9ed1740a3798b87696fbabfbccb3d90d14b6a0 100644 (file)
@@ -245,6 +245,11 @@ class servgeneric extends plugin
       $message[]= _("The required field 'Server name' is not set.");
     }
 
+    /* Check if given name is a valid host/dns name */
+    if(!is_dns_name($this->cn) && chkacl ($this->acl, "cn") == ""){
+      $message[] = _("Please specify a valid name for this object.");
+    }
+
     $ui= get_userinfo();
     $acl= get_permissions ($this->dn, $ui->subtreeACL);
     $acl= get_module_permission($acl, "servgeneric", $this->dn);
index dcfce668c29693af556020d05854451cbff0c0ba..aa593d854fde9d879826e411e02c15fec262416c 100644 (file)
@@ -422,6 +422,11 @@ class termgeneric extends plugin
       $message[]= _("The required field 'Terminal name' is not set.");
     }
 
+    /* Check if given name is a valid host/dns name */
+    if(!is_dns_name($this->cn) && chkacl ($this->acl, "cn") == ""){
+      $message[] = _("Please specify a valid name for this object.");
+    }
+
     if ($this->orig_dn == 'new'){
       $ldap= $this->config->get_ldap_link();
       $ldap->cd ($this->config->current['BASE']);
index 341dc15a86b0b2cfe285a0ca0cb18c0b4516020c..ca1333fbdd7e8625559f7a7a58c2bd2f178f0238 100644 (file)
@@ -386,6 +386,11 @@ class workgeneric extends plugin
       $message[]= _("The required field 'Workstation name' is not set.");
     }
 
+    /* Check if given name is a valid host/dns name */
+    if(!is_dns_name($this->cn) && chkacl ($this->acl, "cn") == ""){
+      $message[] = _("Please specify a valid name for this object.");
+    }
+
     if ($this->orig_dn != $this->dn){
       $ldap= $this->config->get_ldap_link();
       $ldap->cd ($this->base);