summaryrefslogtreecommitdiffstats
path: root/src/admin/create
diff options
context:
space:
mode:
authorJohn Kohl <jtkohl@mit.edu>1990-04-27 15:36:33 +0000
committerJohn Kohl <jtkohl@mit.edu>1990-04-27 15:36:33 +0000
commit0ea32b79dbd3eb4accf4eacfb5d057f58ecefc12 (patch)
treebadeb49c17d2bc294576793cea1067d1360e7090 /src/admin/create
parente1512a06dfb742337c05739690b3e52bf25b88b6 (diff)
downloadkrb5-0ea32b79dbd3eb4accf4eacfb5d057f58ecefc12.tar.gz
krb5-0ea32b79dbd3eb4accf4eacfb5d057f58ecefc12.tar.xz
krb5-0ea32b79dbd3eb4accf4eacfb5d057f58ecefc12.zip
-d option for dbname
clean up stuff, make it work git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@610 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/admin/create')
-rw-r--r--src/admin/create/kdb5_create.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/admin/create/kdb5_create.c b/src/admin/create/kdb5_create.c
index aaf79f873..aff1d3035 100644
--- a/src/admin/create/kdb5_create.c
+++ b/src/admin/create/kdb5_create.c
@@ -23,6 +23,7 @@ static char rcsid_kdb_create_c[] =
#include <krb5/kdb5_err.h>
#include <krb5/isode_err.h>
#include <stdio.h>
+#include <krb5/libos-proto.h>
#include <krb5/asn1.h>
#include <com_err.h>
@@ -73,7 +74,7 @@ usage(who, status)
char *who;
int status;
{
- fprintf(stderr, "usage: %s [-n dbname] [-r realmname] [-k keytype]\n\
+ fprintf(stderr, "usage: %s [-d dbpathname] [-r realmname] [-k keytype]\n\
\t[-e etype] [-M mkeyname]\n",
who);
exit(status);
@@ -117,17 +118,20 @@ char *argv[];
char *mkey_name = 0;
char *mkey_fullname;
char defrealm[BUFSIZ];
- int keytypedone = 0, etypedone = 0;
- krb5_enctype etype;
+ int keytypedone = 0;
+ krb5_enctype etype = -1;
register krb5_cryptosystem_entry *csentry;
initialize_krb5_error_table();
initialize_kdb5_error_table();
initialize_isod_error_table();
- while ((optchar = getopt(argc, argv, "n:r:k:M:e:")) != EOF) {
+ if (rindex(argv[0], '/'))
+ argv[0] = rindex(argv[0], '/')+1;
+
+ while ((optchar = getopt(argc, argv, "d:r:k:M:e:")) != EOF) {
switch(optchar) {
- case 'n': /* set db name */
+ case 'd': /* set db name */
dbname = optarg;
break;
case 'r':
@@ -142,7 +146,6 @@ char *argv[];
break;
case 'e':
etype = atoi(optarg);
- etypedone++;
break;
case '?':
default:
@@ -150,23 +153,21 @@ char *argv[];
/*NOTREACHED*/
}
}
- if (!mkey_name)
- mkey_name = KRB5_KDB_M_NAME;
if (!keytypedone)
master_keyblock.keytype = KEYTYPE_DES;
if (!valid_keytype(master_keyblock.keytype)) {
- com_err(argv[0], KRB5KDC_ERR_ETYPE_NOSUPP,
+ com_err(argv[0], KRB5_PROG_KEYTYPE_NOSUPP,
"while setting up keytype %d", master_keyblock.keytype);
exit(1);
}
- if (!etypedone)
- etype = keytype_to_etype(master_keyblock.keytype);
+ if (etype == -1)
+ etype = krb5_keytype_array[master_keyblock.keytype]->system->proto_enctype;
if (!valid_etype(etype)) {
- com_err(argv[0], KRB5KDC_ERR_ETYPE_NOSUPP,
+ com_err(argv[0], KRB5_PROG_ETYPE_NOSUPP,
"while setting up etype %d", etype);
exit(1);
}
@@ -196,7 +197,7 @@ char *argv[];
/* assemble & parse the master key name */
- if (retval = setup_mkey_name(mkey_name, realm, &mkey_fullname,
+ if (retval = krb5_db_setup_mkey_name(mkey_name, realm, &mkey_fullname,
&master_princ)) {
com_err(argv[0], retval, "while setting up master key name");
exit(1);