diff options
-rw-r--r-- | ipa-client/ipa-join.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/ipa-client/ipa-join.c b/ipa-client/ipa-join.c index 4c371131..64b4c0ac 100644 --- a/ipa-client/ipa-join.c +++ b/ipa-client/ipa-join.c @@ -735,6 +735,13 @@ unenroll_host(const char *server, const char *hostname, const char *ktname, int char * url = NULL; char * user_agent = NULL; + /* Start up our XML-RPC client library. */ + xmlrpc_client_init(XMLRPC_CLIENT_NO_FLAGS, NAME, VERSION); + + xmlrpc_env_init(&env); + + xmlrpc_client_setup_global_const(&env); + if (server) { ipaserver = strdup(server); } else { @@ -755,6 +762,11 @@ unenroll_host(const char *server, const char *hostname, const char *ktname, int host = strdup(hostname); } + if (NULL == host) { + rval = 3; + goto cleanup; + } + if (NULL == strstr(host, ".")) { if (!quiet) fprintf(stderr, _("The hostname must be fully-qualified: %s\n"), @@ -846,13 +858,6 @@ unenroll_host(const char *server, const char *hostname, const char *ktname, int ccache = NULL; putenv("KRB5CCNAME=MEMORY:ipa-join"); - /* Start up our XML-RPC client library. */ - xmlrpc_client_init(XMLRPC_CLIENT_NO_FLAGS, NAME, VERSION); - - xmlrpc_env_init(&env); - - xmlrpc_client_setup_global_const(&env); - #if 1 ret = asprintf(&url, "https://%s:443/ipa/xml", ipaserver); #else |