def do_global_checks(self, lp, logger): valid = True netbios_name = lp.get("netbios name") if not samba.valid_netbios_name(netbios_name): logger.error("netbios name %s is not a valid netbios name", netbios_name) valid = False workgroup = lp.get("workgroup") if not samba.valid_netbios_name(workgroup): logger.error("workgroup name %s is not a valid netbios name", workgroup) valid = False lockdir = lp.get("lockdir") if not os.path.isdir(lockdir): logger.error("lock directory %s does not exist", lockdir) valid = False piddir = lp.get("pid directory") if not os.path.isdir(piddir): logger.error("pid directory %s does not exist", piddir) valid = False winbind_separator = lp.get("winbind separator") if len(winbind_separator) != 1: logger.error("the 'winbind separator' parameter must be a single " "character.") valid = False if winbind_separator == '+': logger.error( "'winbind separator = +' might cause problems with group " "membership.") valid = False role = lp.get("server role") if role in ["active directory domain controller", "domain controller", "dc"]: charset = lp.get("unix charset").upper() if charset not in ["UTF-8", "UTF8"]: logger.warning( "When acting as Active Directory domain controller, " "unix charset is expected to be UTF-8.") vfsobjects = lp.get("vfs objects") if vfsobjects: for entry in ['dfs_samba4', 'acl_xattr']: if entry not in vfsobjects: logger.warning( "When acting as Active Directory domain controller, " + entry + " should be in vfs objects.") return valid
def do_global_checks(self, lp, logger): valid = True netbios_name = lp.get("netbios name") if not samba.valid_netbios_name(netbios_name): logger.error("netbios name %s is not a valid netbios name", netbios_name) valid = False workgroup = lp.get("workgroup") if not samba.valid_netbios_name(workgroup): logger.error("workgroup name %s is not a valid netbios name", workgroup) valid = False lockdir = lp.get("lockdir") if not os.path.isdir(lockdir): logger.error("lock directory %s does not exist", lockdir) valid = False piddir = lp.get("pid directory") if not os.path.isdir(piddir): logger.error("pid directory %s does not exist", piddir) valid = False winbind_separator = lp.get("winbind separator") if len(winbind_separator) != 1: logger.error("the 'winbind separator' parameter must be a single " "character.") valid = False if winbind_separator == '+': logger.error( "'winbind separator = +' might cause problems with group " "membership.") valid = False role = lp.get("server role") charset = lp.get("unix charset").upper() if role in ["active directory domain controller", "domain controller", "dc"] and charset not in ["UTF-8", "UTF8"]: logger.warning( "When acting as Active Directory domain controller, " "unix charset is expected to be UTF-8.") return valid
def do_global_checks(self, lp, logger): valid = True netbios_name = lp.get("netbios name") if not samba.valid_netbios_name(netbios_name): logger.error("netbios name %s is not a valid netbios name", netbios_name) valid = False workgroup = lp.get("workgroup") if not samba.valid_netbios_name(workgroup): logger.error("workgroup name %s is not a valid netbios name", workgroup) valid = False lockdir = lp.get("lockdir") if not os.path.isdir(lockdir): logger.error("lock directory %s does not exist", lockdir) valid = False piddir = lp.get("pid directory") if not os.path.isdir(piddir): logger.error("pid directory %s does not exist", piddir) valid = False winbind_separator = lp.get("winbind separator") if len(winbind_separator) != 1: logger.error("the 'winbind separator' parameter must be a single " "character.") valid = False if winbind_separator == '+': logger.error( "'winbind separator = +' might cause problems with group " "membership.") valid = False return valid
def test_invalid_characters(self): self.assertFalse(samba.valid_netbios_name("*BLA"))
def test_too_long(self): self.assertFalse(samba.valid_netbios_name("FOO" * 10))
def test_valid(self): self.assertTrue(samba.valid_netbios_name("FOO"))
def test_too_long(self): self.assertFalse(samba.valid_netbios_name("FOO"*10))