diff options
author | Rob Crittenden <rcritten@redhat.com> | 2008-03-05 16:33:12 -0500 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2008-03-05 16:33:12 -0500 |
commit | 7fd656477a84b2677925ef5b379fa2e4793d4d48 (patch) | |
tree | 8f0fdfdfe86ef00052333cd277bd5e91c6110b67 /ipa-client | |
parent | d7e30fa7eed10c5576841b4868df0a9ec8c85328 (diff) | |
download | freeipa-7fd656477a84b2677925ef5b379fa2e4793d4d48.tar.gz freeipa-7fd656477a84b2677925ef5b379fa2e4793d4d48.tar.xz freeipa-7fd656477a84b2677925ef5b379fa2e4793d4d48.zip |
Prevent server and domain from being undefined or blank when we need them
Improve LDAP error reporting
Don't return the str() of discovery values because it can return "None"
436130
Diffstat (limited to 'ipa-client')
-rw-r--r-- | ipa-client/ipa-install/ipa-client-install | 12 | ||||
-rw-r--r-- | ipa-client/ipaclient/ipadiscovery.py | 18 |
2 files changed, 19 insertions, 11 deletions
diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install index 31eadd9c..8fe7965e 100644 --- a/ipa-client/ipa-install/ipa-client-install +++ b/ipa-client/ipa-install/ipa-client-install @@ -77,12 +77,11 @@ def main(): ds = ipaclient.ipadiscovery.IPADiscovery() ret = ds.search(domain=options.domain, server=options.server) - srv = "" if ret == -10: print "Can't get the fully qualified name of this host" print "Please check that the client is properly configured" return ret - if ret == -1: + if ret == -1 or not ds.getDomainName(): logging.debug("Domain not found") if options.domain: dom = options.domain @@ -94,7 +93,8 @@ def main(): while dom == "": dom = raw_input("Please provide your domain name (ex: example.com): ") ret = ds.search(domain=dom) - if ret == -2: + dom = ds.getDomainName() + if ret == -2 or not ds.getServerName(): dnsok = False logging.debug("IPA Server not found") if options.server: @@ -103,11 +103,15 @@ def main(): return ret else: print "Failed to find the IPA Server (DNS misconfigured?)" + srv = "" while srv == "": srv = raw_input("Please provide your server name (ex: ipa.example.com): ") ret = ds.search(domain=dom, server=srv) + srv = ds.getServerName() if ret != 0: - print "Failed to verify that "+srv+" is an IPA Server, aborting!" + print "Failed to verify that "+srv+" is an IPA Server." + print "This may mean that the remote server is not up or is not reachable" + print "due to network or firewall settings." return ret if dnsok: diff --git a/ipa-client/ipaclient/ipadiscovery.py b/ipa-client/ipaclient/ipadiscovery.py index 67f94760..b7b69136 100644 --- a/ipa-client/ipaclient/ipadiscovery.py +++ b/ipa-client/ipaclient/ipadiscovery.py @@ -32,16 +32,16 @@ class IPADiscovery: self.basedn = None def getServerName(self): - return str(self.server) + return self.server def getDomainName(self): - return str(self.domain) + return self.domain def getRealmName(self): - return str(self.realm) + return self.realm def getBaseDN(self): - return str(self.basedn) + return self.basedn def search(self, domain = "", server = ""): hostname = "" @@ -100,8 +100,8 @@ class IPADiscovery: logging.debug("[ipacheckldap]") # check ldap now - ldapret = self.ipacheckldap(self.server, self.realm); - + ldapret = self.ipacheckldap(self.server, self.realm) + if not ldapret: return -4 # not an IPA server (or broken config) @@ -178,7 +178,11 @@ class IPADiscovery: except LDAPError, err: #no good - logging.error("Ldap Error: "+str(err)) + if type(err.message) == dict: + for (k, v) in err.message.iteritems(): + logging.error("LDAP Error: %s" % v ) + else: + logging.error("LDAP Error: "+err.message) return [] |