diff options
| author | Greg Hudson <ghudson@mit.edu> | 2010-07-06 21:53:23 +0000 |
|---|---|---|
| committer | Greg Hudson <ghudson@mit.edu> | 2010-07-06 21:53:23 +0000 |
| commit | 8e78a7eeb7266329891971090d2666f5c6a13ad0 (patch) | |
| tree | b5d8a1827176cd1fdc9da5983181ee25c30b31b8 /src/tests/create | |
| parent | 4a1d6a694452122f71d876e39ee335ea7ee022b6 (diff) | |
| download | krb5-8e78a7eeb7266329891971090d2666f5c6a13ad0.tar.gz krb5-8e78a7eeb7266329891971090d2666f5c6a13ad0.tar.xz krb5-8e78a7eeb7266329891971090d2666f5c6a13ad0.zip | |
Remove count parameters from get_principal, put_principal,
free_principal, delete_principal, and get_policy. Make get_principal
allocate the DB entry container. Fold krb5_db_get_principal_ext into
krb5_db_get_principal.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24175 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/tests/create')
| -rw-r--r-- | src/tests/create/kdb5_mkdums.c | 79 |
1 files changed, 30 insertions, 49 deletions
diff --git a/src/tests/create/kdb5_mkdums.c b/src/tests/create/kdb5_mkdums.c index 0d860b909..f451307d7 100644 --- a/src/tests/create/kdb5_mkdums.c +++ b/src/tests/create/kdb5_mkdums.c @@ -70,7 +70,6 @@ usage(who, status) int master_princ_set = 0; krb5_keyblock master_keyblock; krb5_principal master_princ; -krb5_db_entry master_entry; krb5_pointer master_random; krb5_context test_context; @@ -202,9 +201,8 @@ main(argc, argv) com_err(progname, retval, "while closing database"); exit(1); } - if (master_princ_set) { + if (master_princ_set) krb5_free_principal(test_context, master_princ); - } krb5_free_context(test_context); exit(0); } @@ -216,10 +214,15 @@ add_princ(context, str_newprinc) { krb5_error_code retval; krb5_principal newprinc; - krb5_db_entry newentry; + krb5_db_entry *newentry; char princ_name[4096]; - memset(&newentry, 0, sizeof(newentry)); + newentry = krb5_db_alloc(context, NULL, sizeof(*newentry)); + if (newentry == NULL) { + com_err(progname, ENOMEM, "while allocating DB entry"); + return; + } + memset(newentry, 0, sizeof(*newentry)); snprintf(princ_name, sizeof(princ_name), "%s@%s", str_newprinc, cur_realm); if ((retval = krb5_parse_name(context, princ_name, &newprinc))) { com_err(progname, retval, "while parsing '%s'", princ_name); @@ -227,15 +230,15 @@ add_princ(context, str_newprinc) } /* Add basic data */ - newentry.len = KRB5_KDB_V1_BASE_LENGTH; - newentry.attributes = mblock.flags; - newentry.max_life = mblock.max_life; - newentry.max_renewable_life = mblock.max_rlife; - newentry.expiration = mblock.expiration; - newentry.pw_expiration = mblock.expiration; + newentry->len = KRB5_KDB_V1_BASE_LENGTH; + newentry->attributes = mblock.flags; + newentry->max_life = mblock.max_life; + newentry->max_renewable_life = mblock.max_rlife; + newentry->expiration = mblock.expiration; + newentry->pw_expiration = mblock.expiration; /* Add princ to db entry */ - if ((retval = krb5_copy_principal(context, newprinc, &newentry.princ))) { + if ((retval = krb5_copy_principal(context, newprinc, &newentry->princ))) { com_err(progname, retval, "while encoding princ to db entry for '%s'", princ_name); krb5_free_principal(context, newprinc); @@ -252,7 +255,7 @@ add_princ(context, str_newprinc) krb5_free_principal(context, newprinc); goto error; } - retval = krb5_dbe_update_mod_princ_data(context, &newentry, now, + retval = krb5_dbe_update_mod_princ_data(context, newentry, now, master_princ); if (retval) { com_err(progname, retval, "while encoding mod_princ data"); @@ -285,7 +288,7 @@ add_princ(context, str_newprinc) } krb5_free_data_contents(context, &salt); - if ((retval = krb5_dbe_create_key_data(context, &newentry))) { + if ((retval = krb5_dbe_create_key_data(context, newentry))) { com_err(progname, retval, "while creating key_data for '%s'", princ_name); free(key.contents); @@ -294,7 +297,7 @@ add_princ(context, str_newprinc) if ((retval = krb5_dbe_encrypt_key_data(context, &master_keyblock, &key, NULL, 1, - newentry.key_data))) { + newentry->key_data))) { com_err(progname, retval, "while encrypting key for '%s'", princ_name); free(key.contents); @@ -303,26 +306,15 @@ add_princ(context, str_newprinc) free(key.contents); } - { - int one = 1; - - if ((retval = krb5_db_put_principal(context, &newentry, &one))) { - com_err(progname, retval, "while storing principal date"); - goto error; - } - if (one != 1) { - com_err(progname,0,"entry not stored in database (unknown failure)"); - goto error; - } + if ((retval = krb5_db_put_principal(context, newentry))) { + com_err(progname, retval, "while storing principal date"); + goto error; } fprintf(stdout, "Added %s to database\n", princ_name); error: /* Do cleanup of newentry regardless of error */ -#if 0 - krb5_dbe_free_contents(context, &newentry); -#endif - krb5_db_free_principal(context, &newentry, 1); + krb5_db_free_principal(context, newentry); return; } @@ -332,11 +324,10 @@ set_dbname_help(pname, dbname) char *dbname; { krb5_error_code retval; - int nentries; - krb5_boolean more; krb5_data pwd, scratch; char *args[2]; krb5_keylist_node *mkeys; + krb5_db_entry *master_entry; /* assemble & parse the master key name */ @@ -401,30 +392,20 @@ set_dbname_help(pname, dbname) return(1); } krb5_db_free_mkey_list(test_context, mkeys); - nentries = 1; - if ((retval = krb5_db_get_principal(test_context, master_princ, - &master_entry, &nentries, &more))) { + if ((retval = krb5_db_get_principal(test_context, master_princ, 0, + &master_entry))) { com_err(pname, retval, "while retrieving master entry"); (void) krb5_db_fini(test_context); return(1); - } else if (more) { - com_err(pname, KRB5KDC_ERR_PRINCIPAL_NOT_UNIQUE, - "while retrieving master entry"); - (void) krb5_db_fini(test_context); - return(1); - } else if (!nentries) { - com_err(pname, KRB5_KDB_NOENTRY, "while retrieving master entry"); - (void) krb5_db_fini(test_context); - return(1); } - mblock.max_life = master_entry.max_life; - mblock.max_rlife = master_entry.max_renewable_life; - mblock.expiration = master_entry.expiration; + mblock.max_life = master_entry->max_life; + mblock.max_rlife = master_entry->max_renewable_life; + mblock.expiration = master_entry->expiration; /* don't set flags, master has some extra restrictions */ - mblock.mkvno = master_entry.key_data[0].key_data_kvno; + mblock.mkvno = master_entry->key_data[0].key_data_kvno; - krb5_db_free_principal(test_context, &master_entry, nentries); + krb5_db_free_principal(test_context, master_entry); return 0; } |
