From a101e8d669569bf9767eb3fa013c580b413f5018 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Sat, 21 Mar 1998 23:54:34 +0000 Subject: [PATCH] Check immutable bit. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4647 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/kadm5/delete_s.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/kadm5/delete_s.c b/lib/kadm5/delete_s.c index cf5d04f14..2f49ca00e 100644 --- a/lib/kadm5/delete_s.c +++ b/lib/kadm5/delete_s.c @@ -53,10 +53,20 @@ kadm5_s_delete_principal(void *server_handle, krb5_principal princ) krb5_warn(context->context, ret, "opening database"); return ret; } - kadm5_log_delete (context, - princ); - + ret = context->db->fetch(context->context, context->db, &ent); + if(ret == HDB_ERR_NOENTRY) + goto out2; + if(ent.flags.immutable) { + ret = KADM5_PROTECT_PRINCIPAL; + goto out; + } + + kadm5_log_delete (context, princ); + ret = context->db->delete(context->context, context->db, &ent); +out: + hdb_free_entry(context->context, &ent); +out2: context->db->close(context->context, context->db); return _kadm5_error_code(ret); }