(create_random_entry): print error message on failure
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@13410 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -47,6 +47,13 @@ create_random_entry(krb5_principal princ,
|
|||||||
int mask = 0;
|
int mask = 0;
|
||||||
krb5_keyblock *keys;
|
krb5_keyblock *keys;
|
||||||
int n_keys, i;
|
int n_keys, i;
|
||||||
|
char *name;
|
||||||
|
|
||||||
|
ret = krb5_unparse_name(context, princ, &name);
|
||||||
|
if (ret) {
|
||||||
|
krb5_warn(context, ret, "failed to unparse principal name");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
memset(&ent, 0, sizeof(ent));
|
memset(&ent, 0, sizeof(ent));
|
||||||
ent.principal = princ;
|
ent.principal = princ;
|
||||||
@@ -63,26 +70,40 @@ create_random_entry(krb5_principal princ,
|
|||||||
mask |= KADM5_ATTRIBUTES;
|
mask |= KADM5_ATTRIBUTES;
|
||||||
|
|
||||||
ret = kadm5_create_principal(kadm_handle, &ent, mask, "hemlig");
|
ret = kadm5_create_principal(kadm_handle, &ent, mask, "hemlig");
|
||||||
if(ret)
|
if(ret) {
|
||||||
return ret;
|
krb5_warn(context, ret, "create_random_entry(%s): randkey failed",
|
||||||
|
name);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
ret = kadm5_randkey_principal(kadm_handle, princ, &keys, &n_keys);
|
ret = kadm5_randkey_principal(kadm_handle, princ, &keys, &n_keys);
|
||||||
if(ret)
|
if(ret) {
|
||||||
return ret;
|
krb5_warn(context, ret, "create_random_entry*%s): randkey failed",
|
||||||
|
name);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
for(i = 0; i < n_keys; i++)
|
for(i = 0; i < n_keys; i++)
|
||||||
krb5_free_keyblock_contents(context, &keys[i]);
|
krb5_free_keyblock_contents(context, &keys[i]);
|
||||||
free(keys);
|
free(keys);
|
||||||
ret = kadm5_get_principal(kadm_handle, princ, &ent,
|
ret = kadm5_get_principal(kadm_handle, princ, &ent,
|
||||||
KADM5_PRINCIPAL | KADM5_ATTRIBUTES);
|
KADM5_PRINCIPAL | KADM5_ATTRIBUTES);
|
||||||
if(ret)
|
if(ret) {
|
||||||
return ret;
|
krb5_warn(context, ret, "create_random_entry(%s): "
|
||||||
|
"unable to get principal", name);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
ent.attributes &= (~KRB5_KDB_DISALLOW_ALL_TIX);
|
ent.attributes &= (~KRB5_KDB_DISALLOW_ALL_TIX);
|
||||||
ent.kvno = 1;
|
ent.kvno = 1;
|
||||||
ret = kadm5_modify_principal(kadm_handle, &ent,
|
ret = kadm5_modify_principal(kadm_handle, &ent,
|
||||||
KADM5_ATTRIBUTES|KADM5_KVNO);
|
KADM5_ATTRIBUTES|KADM5_KVNO);
|
||||||
kadm5_free_principal_ent (kadm_handle, &ent);
|
kadm5_free_principal_ent (kadm_handle, &ent);
|
||||||
if(ret)
|
if(ret) {
|
||||||
|
krb5_warn(context, ret, "create_random_entry(%s): "
|
||||||
|
"unable to modify principal", name);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
out:
|
||||||
|
free(name);
|
||||||
return ret;
|
return ret;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct getargs args[] = {
|
static struct getargs args[] = {
|
||||||
|
Reference in New Issue
Block a user