(_kadm5_c_init_context): use `krb5_get_krb_admin_hst'. check return
value from strdup git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@7101 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -67,6 +67,8 @@ _kadm5_c_init_context(kadm5_client_context **ctx,
|
|||||||
kadm5_config_params *params,
|
kadm5_config_params *params,
|
||||||
krb5_context context)
|
krb5_context context)
|
||||||
{
|
{
|
||||||
|
krb5_error_code ret;
|
||||||
|
|
||||||
*ctx = malloc(sizeof(**ctx));
|
*ctx = malloc(sizeof(**ctx));
|
||||||
if(*ctx == NULL)
|
if(*ctx == NULL)
|
||||||
return ENOMEM;
|
return ENOMEM;
|
||||||
@@ -85,17 +87,17 @@ _kadm5_c_init_context(kadm5_client_context **ctx,
|
|||||||
"tcp", 749);
|
"tcp", 749);
|
||||||
if(params->mask & KADM5_CONFIG_ADMIN_SERVER)
|
if(params->mask & KADM5_CONFIG_ADMIN_SERVER)
|
||||||
(*ctx)->admin_server = strdup(params->admin_server);
|
(*ctx)->admin_server = strdup(params->admin_server);
|
||||||
else{
|
else {
|
||||||
const char *h = krb5_config_get_string(context,
|
char **hostlist;
|
||||||
NULL,
|
|
||||||
"realms",
|
ret = krb5_get_krb_admin_hst (context, &(*ctx)->realm, &hostlist);
|
||||||
(*ctx)->realm,
|
if (ret)
|
||||||
"admin_server",
|
return ret;
|
||||||
NULL);
|
(*ctx)->admin_server = strdup(*hostlist);
|
||||||
if(h == NULL)
|
krb5_free_krbhst (context, hostlist);
|
||||||
return KADM5_NO_SRV; /* XXX */
|
|
||||||
(*ctx)->admin_server = strdup(h);
|
|
||||||
}
|
}
|
||||||
|
if ((*ctx)->admin_server == NULL)
|
||||||
|
return ENOMEM;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -166,7 +168,7 @@ get_new_cache(krb5_context context,
|
|||||||
switch(ret){
|
switch(ret){
|
||||||
case 0:
|
case 0:
|
||||||
break;
|
break;
|
||||||
case KRB5KDC_ERR_NONE: /* XXX hack in krb5_get_init_creds_password */
|
case KRB5_LIBOS_PWDINTR: /* don't print anything if it was just C-c:ed */
|
||||||
case KRB5KRB_AP_ERR_BAD_INTEGRITY:
|
case KRB5KRB_AP_ERR_BAD_INTEGRITY:
|
||||||
case KRB5KRB_AP_ERR_MODIFIED:
|
case KRB5KRB_AP_ERR_MODIFIED:
|
||||||
return KADM5_BAD_PASSWORD;
|
return KADM5_BAD_PASSWORD;
|
||||||
|
Reference in New Issue
Block a user