(kt_get): more error checking
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9426 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
20
admin/get.c
20
admin/get.c
@@ -131,13 +131,26 @@ kt_get(int argc, char **argv)
|
|||||||
if(ret == 0)
|
if(ret == 0)
|
||||||
created++;
|
created++;
|
||||||
else if(ret != KADM5_DUP) {
|
else if(ret != KADM5_DUP) {
|
||||||
|
krb5_warn(context, ret, "kadm5_create_principal(%s)", argv[i]);
|
||||||
krb5_free_principal(context, princ_ent);
|
krb5_free_principal(context, princ_ent);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ret = kadm5_randkey_principal(kadm_handle, princ_ent, &keys, &n_keys);
|
ret = kadm5_randkey_principal(kadm_handle, princ_ent, &keys, &n_keys);
|
||||||
|
if (ret) {
|
||||||
|
krb5_warn(context, ret, "kadm5_randkey_principal(%s)", argv[i]);
|
||||||
|
krb5_free_principal(context, princ_ent);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
ret = kadm5_get_principal(kadm_handle, princ_ent, &princ,
|
ret = kadm5_get_principal(kadm_handle, princ_ent, &princ,
|
||||||
KADM5_PRINCIPAL | KADM5_KVNO | KADM5_ATTRIBUTES);
|
KADM5_PRINCIPAL | KADM5_KVNO | KADM5_ATTRIBUTES);
|
||||||
|
if (ret) {
|
||||||
|
krb5_warn(context, ret, "kadm5_get_principal(%s)", argv[i]);
|
||||||
|
for (j = 0; j < n_keys; j++)
|
||||||
|
krb5_free_keyblock_contents(context, &keys[j]);
|
||||||
|
krb5_free_principal(context, princ_ent);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
princ.attributes &= (~KRB5_KDB_DISALLOW_ALL_TIX);
|
princ.attributes &= (~KRB5_KDB_DISALLOW_ALL_TIX);
|
||||||
mask = KADM5_ATTRIBUTES;
|
mask = KADM5_ATTRIBUTES;
|
||||||
if(created) {
|
if(created) {
|
||||||
@@ -145,6 +158,13 @@ kt_get(int argc, char **argv)
|
|||||||
mask |= KADM5_KVNO;
|
mask |= KADM5_KVNO;
|
||||||
}
|
}
|
||||||
ret = kadm5_modify_principal(kadm_handle, &princ, mask);
|
ret = kadm5_modify_principal(kadm_handle, &princ, mask);
|
||||||
|
if (ret) {
|
||||||
|
krb5_warn(context, ret, "kadm5_modify_principal(%s)", argv[i]);
|
||||||
|
for (j = 0; j < n_keys; j++)
|
||||||
|
krb5_free_keyblock_contents(context, &keys[j]);
|
||||||
|
krb5_free_principal(context, princ_ent);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
for(j = 0; j < n_keys; j++) {
|
for(j = 0; j < n_keys; j++) {
|
||||||
entry.principal = princ_ent;
|
entry.principal = princ_ent;
|
||||||
entry.vno = princ.kvno;
|
entry.vno = princ.kvno;
|
||||||
|
Reference in New Issue
Block a user