provision: fix wrong tests
authorMatthieu Patou <mat@matws.net>
Sat, 30 Oct 2010 16:42:50 +0000 (20:42 +0400)
committerMatthieu Patou <mat@samba.org>
Sat, 30 Oct 2010 17:31:23 +0000 (17:31 +0000)
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Sat Oct 30 17:31:23 UTC 2010 on sn-devel-104

source4/scripting/python/samba/provision.py

index 49ad5d755d2d341ed64a207c4d3992223a020c1f..319b63debb37ecb2558746eb0df963f185369be4 100644 (file)
@@ -61,6 +61,7 @@ import samba.registry
 from samba.schema import Schema
 from samba.samdb import SamDB
 
+VALID_NETBIOS_CHARS = " !#$%&'()-.@^_{}~"
 __docformat__ = "restructuredText"
 DEFAULT_POLICY_GUID = "31B2F340-016D-11D2-945F-00C04FB984F9"
 DEFAULT_DC_POLICY_GUID = "6AC1786C-016F-11D2-945F-00C04fB984F9"
@@ -444,10 +445,12 @@ def guess_names(lp=None, hostname=None, domain=None, dnsdomain=None,
     if netbiosname is None:
         netbiosname = hostname
         # remove forbidden chars
-        for char in  " !#$%&'()-.@^_{}~":
-            netbiosname = "".join(netbiosname.split(char))
+        newnbname = ""
+        for x in netbiosname:
+            if x.isalnum() or x in VALID_NETBIOS_CHARS:
+                newnbname = "%s%c" % (newnbname, x)
         #force the length to be <16
-        netbiosname = netbiosname[0:15]
+        netbiosname = newnbname[0:15]
     assert netbiosname is not None
     netbiosname = netbiosname.upper()
     if not valid_netbios_name(netbiosname):
@@ -541,10 +544,12 @@ def make_smbconf(smbconf, setup_path, hostname, domain, realm, serverrole,
         hostname = socket.gethostname().split(".")[0]
         netbiosname = hostname.upper()
         # remove forbidden chars
-        for char in  " !#$%&'()-.@^_{}~":
-            netbiosname = "".join(netbiosname.split(char))
+        newnbname = ""
+        for x in netbiosname:
+            if x.isalnum() or x in VALID_NETBIOS_CHARS:
+                newnbname = "%s%c" % (newnbname, x)
         #force the length to be <16
-        netbiosname = netbiosname[0:15]
+        netbiosname = newnbname[0:15]
     else:
         netbiosname = hostname.upper()