Beispiel #1
0
    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
Beispiel #2
0
    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
Beispiel #3
0
    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
Beispiel #4
0
    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
Beispiel #5
0
 def test_invalid_characters(self):
     self.assertFalse(samba.valid_netbios_name("*BLA"))
Beispiel #6
0
 def test_too_long(self):
     self.assertFalse(samba.valid_netbios_name("FOO" * 10))
Beispiel #7
0
 def test_valid(self):
     self.assertTrue(samba.valid_netbios_name("FOO"))
Beispiel #8
0
 def test_invalid_characters(self):
     self.assertFalse(samba.valid_netbios_name("*BLA"))
Beispiel #9
0
 def test_too_long(self):
     self.assertFalse(samba.valid_netbios_name("FOO"*10))
Beispiel #10
0
 def test_valid(self):
     self.assertTrue(samba.valid_netbios_name("FOO"))