Beispiel #1
0
class LDAP(TestObject):
    def __init__(self, handler=None):
        super(self.__class__, self).__init__(handler)
        self._name = "LDAP"
        self.freenas_ldap = FreeNAS_LDAP(flags=FLAGS_DBINIT)

    def Enabled(self):
        return ldap_enabled()

    def Test(self):
        try:
            self.freenas_ldap.open()

            if self.freenas_ldap._handle.whoami_s():
                return self._handler.Pass("LDAP")
            else:
                return self._handler.Fail("LDAP", "Unable to query the server.")
        except LDAPError as e:
            # LDAPError is dumb, it returns a list with one element for goodness knows what reason
            e = e[0]
            error = "" 
            if 'desc' in e:
                error = e['desc']
                if 'info' in e:
                    error = "{0}, {1}".format(error, e['info'])
            else:
                # LDAPError may have desc and info or just info so making a case that handles just info
                if 'info' in e:
                    error = e['info']
                else:
                    error = str(e)
            return self._handler.Fail("LDAP", error)
        except Exception as e:
            return self._handler.Fail("LDAP", str(e))
Beispiel #2
0
    def ldap_status(self):
        ret = False
        try:
            f = FreeNAS_LDAP(flags=FLAGS_DBINIT)
            f.open()
            if f.isOpen():
                ret = True
            f.close()
        except:
            pass

        return ret
Beispiel #3
0
    def ldap_status(self):
        ret = False
        try:
            f = FreeNAS_LDAP(flags=FLAGS_DBINIT)
            f.open()
            if f.isOpen():
                ret = True
            f.close()
        except:
            pass

        return ret
Beispiel #4
0
class LDAP(TestObject):
    def __init__(self, handler=None):
        super(self.__class__, self).__init__(handler)
        self._name = "LDAP"
        self.freenas_ldap = FreeNAS_LDAP(flags=FLAGS_DBINIT)

    def Enabled(self):
        return ldap_enabled()

    def Test(self):
        try:
            self.freenas_ldap.open()

            if self.freenas_ldap._handle.whoami_s():
                return self._handler.Pass("LDAP")
            else:
                return self._handler.Fail("LDAP", "Unable to query the server.")
        except Exception as e:
            return self._handler.Fail("LDAP", str(e))
Beispiel #5
0
class LDAP(TestObject):
    def __init__(self, handler=None):
        super(self.__class__, self).__init__(handler)
        self._name = "LDAP"
        self.freenas_ldap = FreeNAS_LDAP(flags=FLAGS_DBINIT)

    def Enabled(self):
        return ldap_enabled()

    def Test(self):
        try:
            self.freenas_ldap.open()

            if self.freenas_ldap._handle.whoami_s():
                return self._handler.Pass("LDAP")
            else:
                return self._handler.Fail("LDAP",
                                          "Unable to query the server.")
        except LDAPError as e:
            # LDAPError is dumb, it returns a list with one element for goodness knows what reason
            e = e[0]
            error = []
            desc = e.get('desc')
            info = e.get('info')
            if desc:
                error.append(desc)
            if info:
                error.append(info)

            if error:
                error = ', '.join(error)
            else:
                error = str(e)

            return self._handler.Fail("LDAP", error)
        except Exception as e:
            return self._handler.Fail("LDAP", str(e))
Beispiel #6
0
class LDAP(TestObject):
    def __init__(self, handler=None):
        super(self.__class__, self).__init__(handler)
        self._name = "LDAP"
        self.freenas_ldap = FreeNAS_LDAP(flags=FLAGS_DBINIT)

    def Enabled(self):
        return ldap_enabled()

    def Test(self):
        try:
            self.freenas_ldap.open()

            if self.freenas_ldap._handle.whoami_s():
                return self._handler.Pass("LDAP")
            else:
                return self._handler.Fail("LDAP", "Unable to query the server.")
        except LDAPError as e:
            # LDAPError is dumb, it returns a list with one element for goodness knows what reason
            e = e[0]
            error = []
            desc = e.get('desc')
            info = e.get('info')
            if desc:
                error.append(desc)
            if info:
                error.append(info)

            if error:
                error = ', '.join(error)
            else:
                error = str(e)

            return self._handler.Fail("LDAP", error)
        except Exception as e:
            return self._handler.Fail("LDAP", str(e))