diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2009-04-05 23:17:43 +0200 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2009-04-06 00:25:03 +0200 |
commit | b1db78c595ca7b171eeb141428e963431163cddb (patch) | |
tree | afba1d99422d232848f62b77b340ae1f189e48d3 /source4/scripting | |
parent | 15f6d5e805490b35ed390f731944bc4ac4e3327b (diff) | |
download | samba-b1db78c595ca7b171eeb141428e963431163cddb.tar.gz samba-b1db78c595ca7b171eeb141428e963431163cddb.tar.bz2 samba-b1db78c595ca7b171eeb141428e963431163cddb.zip |
Make valid_netbios_name() check a bit stricter.
Diffstat (limited to 'source4/scripting')
-rw-r--r-- | source4/scripting/python/samba/__init__.py | 6 | ||||
-rw-r--r-- | source4/scripting/python/samba/tests/__init__.py | 12 |
2 files changed, 16 insertions, 2 deletions
diff --git a/source4/scripting/python/samba/__init__.py b/source4/scripting/python/samba/__init__.py index c5827b96e0..3ecb758595 100644 --- a/source4/scripting/python/samba/__init__.py +++ b/source4/scripting/python/samba/__init__.py @@ -233,10 +233,12 @@ def check_all_substituted(text): def valid_netbios_name(name): """Check whether a name is valid as a NetBIOS name. """ - # FIXME: There are probably more constraints here. - # crh has a paragraph on this in his book (1.4.1.1) + # See crh's book (1.4.1.1) if len(name) > 15: return False + for x in name: + if not x.isalnum() and not x in " !#$%&'()-.@^_{}~": + return False return True version = glue.version diff --git a/source4/scripting/python/samba/tests/__init__.py b/source4/scripting/python/samba/tests/__init__.py index b342b93c49..524c3a3b91 100644 --- a/source4/scripting/python/samba/tests/__init__.py +++ b/source4/scripting/python/samba/tests/__init__.py @@ -96,3 +96,15 @@ class RpcInterfaceTestCase(unittest.TestCase): def get_credentials(self): return cmdline_credentials + + +class ValidNetbiosNameTests(unittest.TestCase): + + def test_valid(self): + self.assertTrue(valid_netbios_name("FOO")) + + def test_too_long(self): + self.assertFalse(valid_netbios_name("FOO"*10)) + + def test_invalid_characters(self): + self.assertFalse(valid_netbios_name("()BLA")) |