summaryrefslogtreecommitdiffstats
path: root/src/admin/edit
diff options
context:
space:
mode:
authorJohn Kohl <jtkohl@mit.edu>1990-05-09 17:15:40 +0000
committerJohn Kohl <jtkohl@mit.edu>1990-05-09 17:15:40 +0000
commitb4688e641450d5c456cf90eead7f3e1cee693013 (patch)
tree7be582ea2f4e2d3ba5296b11030e17f860c71cb9 /src/admin/edit
parenteb688881b4a88702ac8413ae6cf4e2d788d1bb3e (diff)
fix error messages
add delete_entry git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@819 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/admin/edit')
-rw-r--r--src/admin/edit/kdb5_edit.c57
1 files changed, 53 insertions, 4 deletions
diff --git a/src/admin/edit/kdb5_edit.c b/src/admin/edit/kdb5_edit.c
index 5970ecbb8..2d9da4987 100644
--- a/src/admin/edit/kdb5_edit.c
+++ b/src/admin/edit/kdb5_edit.c
@@ -234,7 +234,7 @@ char *argv[];
if (argc < 2) {
com_err(argv[0], 0, "Too few arguments");
- com_err(argv[0], 0, "Usage: add_new_key principal");
+ com_err(argv[0], 0, "Usage: %s principal", argv[0]);
return;
}
if (retval = krb5_parse_name(argv[1], &newprinc)) {
@@ -284,7 +284,7 @@ char *argv[];
krb5_principal newprinc;
if (argc < 2) {
com_err(argv[0], 0, "Too few arguments");
- com_err(argv[0], 0, "Usage: add_rnd_key principal");
+ com_err(argv[0], 0, "Usage: %s principal", argv[0]);
return;
}
if (retval = krb5_parse_name(argv[1], &newprinc)) {
@@ -368,7 +368,7 @@ krb5_pointer infop;
if (argc < 3) {
com_err(argv[0], 0, "Too few arguments");
- com_err(argv[0], 0, "Usage: set_dbname dbpathname realmname");
+ com_err(argv[0], 0, "Usage: %s dbpathname realmname", argv[0]);
return;
}
if (dbactive) {
@@ -502,7 +502,7 @@ char *argv[];
if (argc < 3) {
com_err(argv[0], 0, "Too few arguments");
- com_err(argv[0], 0, "Usage: extract_srvtab instance name [name ...]");
+ com_err(argv[0], 0, "Usage: %s instance name [name ...]", argv[0]);
return;
}
@@ -612,3 +612,52 @@ char *argv[];
{
(void) krb5_db_iterate(list_iterator, argv[0]);
}
+
+void
+delete_entry(argc, argv)
+int argc;
+char *argv[];
+{
+ krb5_error_code retval;
+ krb5_keyblock *tempkey;
+ krb5_principal newprinc;
+ char yesno[80];
+ int one = 1;
+
+ if (argc < 2) {
+ com_err(argv[0], 0, "Too few arguments");
+ com_err(argv[0], 0, "Usage: %s principal", argv[0]);
+ return;
+ }
+ if (retval = krb5_parse_name(argv[1], &newprinc)) {
+ com_err(argv[0], retval, "while parsing '%s'", argv[1]);
+ return;
+ }
+ if (!princ_exists(argv[0], newprinc)) {
+ com_err(argv[0], 0, "principal '%s' is not in the database", argv[1]);
+ krb5_free_principal(newprinc);
+ return;
+ }
+ printf("Are you sure you want to delete '%s'?\nType 'yes' to confirm:",
+ argv[1]);
+ if ((fgets(yesno, sizeof(yesno), stdin) == NULL) ||
+ strcmp(yesno, "yes\n")) {
+ printf("NOT removing '%s'\n", argv[1]);
+ krb5_free_principal(newprinc);
+ return;
+ }
+ printf("OK, deleting '%s'\n", argv[1]);
+ if (retval = krb5_db_delete_principal(newprinc, &one)) {
+ com_err(argv[0], retval, "while deleting '%s'", argv[1]);
+ } else if (one != 1) {
+ com_err(argv[0], 0, "no principal deleted? unknown error");
+ }
+#ifdef __STDC__
+ printf("\a\a\aWARNING: Be sure to take '%s' off all access control lists\n\tbefore reallocating the name\n", argv[1]);
+#else
+ printf("\007\007\007WARNING: Be sure to take '%s' off all access control lists\n\tbefore reallocating the name\n", argv[1]);
+#endif
+
+ krb5_free_principal(newprinc);
+ return;
+}