diff options
Diffstat (limited to 'src/lib/kadm5')
-rw-r--r-- | src/lib/kadm5/alt_prof.c | 6 | ||||
-rw-r--r-- | src/lib/kadm5/clnt/client_init.c | 4 | ||||
-rw-r--r-- | src/lib/kadm5/kadm_err.et | 1 |
3 files changed, 7 insertions, 4 deletions
diff --git a/src/lib/kadm5/alt_prof.c b/src/lib/kadm5/alt_prof.c index e3e6d49..c8dc307 100644 --- a/src/lib/kadm5/alt_prof.c +++ b/src/lib/kadm5/alt_prof.c @@ -875,7 +875,11 @@ kadm5_get_admin_service_name(krb5_context ctx, hp = gethostbyname(params_out.admin_server); if (hp == NULL) { - ret = errno; + ret = KADM5_CANT_RESOLVE; + krb5_set_error_message(ctx, ret, + "Cannot resolve address of admin server \"%s\" " + "for realm \"%s\"", params_out.admin_server, + realm_in); goto err_params; } if (strlen(hp->h_name) + sizeof("kadmin/") > maxlen) { diff --git a/src/lib/kadm5/clnt/client_init.c b/src/lib/kadm5/clnt/client_init.c index 03e0a9c..85d982c 100644 --- a/src/lib/kadm5/clnt/client_init.c +++ b/src/lib/kadm5/clnt/client_init.c @@ -452,10 +452,8 @@ kadm5_get_init_creds(kadm5_server_handle_t handle, code = kadm5_get_admin_service_name(handle->context, handle->params.realm, svcname, sizeof(svcname)); - if (code) { - code = KADM5_MISSING_KRB5_CONF_PARAMS; + if (code) goto error; - } } else { strncpy(svcname, svcname_in, sizeof(svcname)); svcname[sizeof(svcname)-1] = '\0'; diff --git a/src/lib/kadm5/kadm_err.et b/src/lib/kadm5/kadm_err.et index da18a74..a6086b1 100644 --- a/src/lib/kadm5/kadm_err.et +++ b/src/lib/kadm5/kadm_err.et @@ -60,4 +60,5 @@ error_code KADM5_SETV4KEY_INVAL_ENCTYPE, "Invalid enctype for setv4key" error_code KADM5_SETKEY3_ETYPE_MISMATCH, "Mismatched enctypes for setkey3" error_code KADM5_MISSING_KRB5_CONF_PARAMS, "Missing parameters in krb5.conf required for kadmin client" error_code KADM5_XDR_FAILURE, "XDR encoding error" +error_code KADM5_CANT_RESOLVE, "Cannot resolve network address for admin server in requested realm" end |