summaryrefslogtreecommitdiff
path: root/source4/scripting/python
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2012-02-26 20:38:50 +0100
committerJelmer Vernooij <jelmer@samba.org>2012-02-26 20:52:05 +0100
commit16a4fa97046e0db460882c70a5c3c241daf55223 (patch)
treed39677476dd149dd3cc559527ca5f8ce873c00ac /source4/scripting/python
parentd09764e180f0fef076b014fb446a4247f7cf0d29 (diff)
downloadsamba-16a4fa97046e0db460882c70a5c3c241daf55223.tar.gz
samba-16a4fa97046e0db460882c70a5c3c241daf55223.tar.bz2
samba-16a4fa97046e0db460882c70a5c3c241daf55223.zip
provision: Factor out determination of new netbios name.
Diffstat (limited to 'source4/scripting/python')
-rw-r--r--source4/scripting/python/samba/provision/__init__.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/source4/scripting/python/samba/provision/__init__.py b/source4/scripting/python/samba/provision/__init__.py
index 42da903302..f28fe5b4f9 100644
--- a/source4/scripting/python/samba/provision/__init__.py
+++ b/source4/scripting/python/samba/provision/__init__.py
@@ -480,6 +480,18 @@ def provision_paths_from_lp(lp, dnsdomain):
return paths
+def determine_netbios_name(hostname):
+ """Determine a netbios name from a hostname."""
+ netbiosname = hostname
+ # remove forbidden chars
+ 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
+ return newnbname[0:15].upper()
+
+
def guess_names(lp=None, hostname=None, domain=None, dnsdomain=None,
serverrole=None, rootdn=None, domaindn=None, configdn=None,
schemadn=None, serverdn=None, sitename=None):
@@ -490,14 +502,7 @@ def guess_names(lp=None, hostname=None, domain=None, dnsdomain=None,
netbiosname = lp.get("netbios name")
if netbiosname is None:
- netbiosname = hostname
- # remove forbidden chars
- 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 = newnbname[0:15]
+ netbiosname = determine_netbios_name(hostname)
assert netbiosname is not None
netbiosname = netbiosname.upper()
if not valid_netbios_name(netbiosname):