(init): new arguments realm-max-ticket-life and
realm-max-renewable-life git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6127 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		| @@ -84,13 +84,54 @@ create_random_entry(krb5_principal princ, time_t max_life, time_t max_rlife, | |||||||
|     return 0; |     return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | static struct getargs args[] = { | ||||||
|  |     { "realm-max-ticket-life",  0,	arg_string,	NULL, | ||||||
|  |       "realm max ticket lifetime" }, | ||||||
|  |     { "realm-max-renewable-life",  0,	arg_string,	NULL, | ||||||
|  |       "realm max renewable lifetime" }, | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | static int num_args = sizeof(args) / sizeof(args[0]); | ||||||
|  |  | ||||||
|  | static void | ||||||
|  | usage(void) | ||||||
|  | { | ||||||
|  |     arg_printusage (args, num_args, "ank", "principal"); | ||||||
|  | } | ||||||
|  |  | ||||||
| int | int | ||||||
| init(int argc, char **argv) | init(int argc, char **argv) | ||||||
| { | { | ||||||
|     kadm5_ret_t ret; |     kadm5_ret_t ret; | ||||||
|     int i; |     int i; | ||||||
|  |     char *realm_max_life; | ||||||
|  |     char *realm_max_rlife; | ||||||
|  |     HDB *db; | ||||||
|  |     int optind = 0; | ||||||
|  |     unsigned max_life, max_rlife; | ||||||
|  |  | ||||||
|     HDB *db = _kadm5_s_get_db(kadm_handle); |     args[0].value = &realm_max_life; | ||||||
|  |     args[1].value = &realm_max_rlife; | ||||||
|  |  | ||||||
|  |     if(getarg(args, num_args, argc, argv, &optind)) { | ||||||
|  | 	usage(); | ||||||
|  | 	return 0; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     if (realm_max_life) { | ||||||
|  | 	if (str2deltat (realm_max_life, &max_life) != 0) { | ||||||
|  | 	    krb5_warnx (context, "unable to parse `%s'", realm_max_life); | ||||||
|  | 	    return 0; | ||||||
|  | 	} | ||||||
|  |     } | ||||||
|  |     if (realm_max_rlife) { | ||||||
|  | 	if (str2deltat (realm_max_rlife, &max_rlife) != 0) { | ||||||
|  | 	    krb5_warnx (context, "unable to parse `%s'", realm_max_rlife); | ||||||
|  | 	    return 0; | ||||||
|  | 	} | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     db = _kadm5_s_get_db(kadm_handle); | ||||||
|  |  | ||||||
|     ret = db->open(context, db, O_RDWR | O_CREAT, 0600); |     ret = db->open(context, db, O_RDWR | O_CREAT, 0600); | ||||||
|     if(ret){ |     if(ret){ | ||||||
| @@ -98,18 +139,19 @@ init(int argc, char **argv) | |||||||
| 	return 0; | 	return 0; | ||||||
|     } |     } | ||||||
|     db->close(context, db); |     db->close(context, db); | ||||||
|     for(i = 1; i < argc; i++){ |     for(i = optind; i < argc; i++){ | ||||||
| 	krb5_principal princ; | 	krb5_principal princ; | ||||||
| 	unsigned max_life, max_rlife; |  | ||||||
|  |  | ||||||
| 	/* Create `krbtgt/REALM' */ | 	/* Create `krbtgt/REALM' */ | ||||||
| 	krb5_make_principal(context, &princ, argv[i], "krbtgt", argv[i], NULL); | 	krb5_make_principal(context, &princ, argv[i], "krbtgt", argv[i], NULL); | ||||||
| 	get_deltat("Realm max ticket life",  | 	if (realm_max_life == NULL) | ||||||
| 		   "unlimited", | 	    get_deltat("Realm max ticket life",  | ||||||
| 		   &max_life); | 		       "unlimited", | ||||||
| 	get_deltat("Realm max renewable ticket life",  | 		       &max_life); | ||||||
| 		   "unlimited", | 	if (realm_max_rlife == NULL) | ||||||
| 		   &max_rlife); | 	    get_deltat("Realm max renewable ticket life",  | ||||||
|  | 		       "unlimited", | ||||||
|  | 		       &max_rlife); | ||||||
| 	create_random_entry(princ, max_life, max_rlife, 0); | 	create_random_entry(princ, max_life, max_rlife, 0); | ||||||
| 	krb5_free_principal(context, princ); | 	krb5_free_principal(context, princ); | ||||||
| 	/* Create `kadmin/changepw' */ | 	/* Create `kadmin/changepw' */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Assar Westerlund
					Assar Westerlund