add option parsing
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9044 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		
							
								
								
									
										29
									
								
								kadmin/del.c
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								kadmin/del.c
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | ||||
| /* | ||||
|  * Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan | ||||
|  * Copyright (c) 1997, 1998, 2000 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
| @@ -41,12 +41,39 @@ do_del_entry(krb5_principal principal, void *data) | ||||
|     return kadm5_delete_principal(kadm_handle, principal); | ||||
| } | ||||
|  | ||||
| static struct getargs args[] = { | ||||
|     { "help", 'h', arg_flag, NULL } | ||||
| }; | ||||
|  | ||||
| static int num_args = sizeof(args) / sizeof(args[0]); | ||||
|  | ||||
| static void | ||||
| usage(void) | ||||
| { | ||||
|     arg_printusage (args, num_args, "delete", "principal..."); | ||||
| } | ||||
|  | ||||
|  | ||||
| int | ||||
| del_entry(int argc, char **argv) | ||||
| { | ||||
|     int optind = 0; | ||||
|     int help_flag = 0; | ||||
|  | ||||
|     int i; | ||||
|     krb5_error_code ret; | ||||
|  | ||||
|     args[0].value = &help_flag; | ||||
|  | ||||
|     if(getarg(args, num_args, argc, argv, &optind)) { | ||||
| 	usage (); | ||||
| 	return 0; | ||||
|     } | ||||
|     if(optind == argc || help_flag) { | ||||
| 	usage (); | ||||
| 	return 0; | ||||
|     } | ||||
|  | ||||
|     for(i = 1; i < argc; i++) | ||||
| 	ret = foreach_principal(argv[i], do_del_entry, NULL); | ||||
|     return 0; | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| /* | ||||
|  * Copyright (c) 1999 - 2000 Kungliga Tekniska H<>gskolan | ||||
|  * Copyright (c) 1999-2000 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
| @@ -35,19 +35,29 @@ | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| static void | ||||
| usage(void) | ||||
| { | ||||
|     fprintf (stderr, "Usage: del_enctype principal enctypes...\n"); | ||||
| } | ||||
|  | ||||
| /* | ||||
|  * del_enctype principal enctypes... | ||||
|  */ | ||||
|  | ||||
| static struct getargs args[] = { | ||||
|     { "help", 'h', arg_flag, NULL } | ||||
| }; | ||||
|  | ||||
| static int num_args = sizeof(args) / sizeof(args[0]); | ||||
|  | ||||
| static void | ||||
| usage(void) | ||||
| { | ||||
|     arg_printusage (args, num_args, "del_enctype", "principal enctypes..."); | ||||
| } | ||||
|  | ||||
|  | ||||
| int | ||||
| del_enctype(int argc, char **argv) | ||||
| { | ||||
|     int optind = 0; | ||||
|     int help_flag = 0; | ||||
|  | ||||
|     kadm5_principal_ent_rec princ; | ||||
|     krb5_principal princ_ent = NULL; | ||||
|     krb5_error_code ret; | ||||
| @@ -57,7 +67,13 @@ del_enctype(int argc, char **argv) | ||||
|     int n_etypes; | ||||
|     krb5_enctype *etypes; | ||||
|  | ||||
|     if (argc < 3) { | ||||
|     args[0].value = &help_flag; | ||||
|  | ||||
|     if(getarg(args, num_args, argc, argv, &optind)) { | ||||
| 	usage (); | ||||
| 	return 0; | ||||
|     } | ||||
|     if(argc - optind < 3 || help_flag) { | ||||
| 	usage (); | ||||
| 	return 0; | ||||
|     } | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| /* | ||||
|  * Copyright (c) 1997 - 2000 Kungliga Tekniska H<>gskolan | ||||
|  * Copyright (c) 1997-2000 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
| @@ -469,13 +469,38 @@ doit(const char *filename, int merge) | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
|  | ||||
| static struct getargs args[] = { | ||||
|     { "help", 'h', arg_flag, NULL } | ||||
| }; | ||||
|  | ||||
| static int num_args = sizeof(args) / sizeof(args[0]); | ||||
|  | ||||
| static void | ||||
| usage(const char *name) | ||||
| { | ||||
|     arg_printusage (args, num_args, name, "file"); | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| int | ||||
| load(int argc, char **argv) | ||||
| { | ||||
|     if(argc < 2){ | ||||
| 	krb5_warnx(context, "Usage: load filename"); | ||||
|     int optind = 0; | ||||
|     int help_flag = 0; | ||||
|  | ||||
|     args[0].value = &help_flag; | ||||
|  | ||||
|     if(getarg(args, num_args, argc, argv, &optind)) { | ||||
| 	usage ("load"); | ||||
| 	return 0; | ||||
|     } | ||||
|     if(argc - optind < 2 || help_flag) { | ||||
| 	usage ("load"); | ||||
| 	return 0; | ||||
|     } | ||||
|  | ||||
|     doit(argv[1], 0); | ||||
|     return 0; | ||||
| } | ||||
| @@ -483,10 +508,20 @@ load(int argc, char **argv) | ||||
| int | ||||
| merge(int argc, char **argv) | ||||
| { | ||||
|     if(argc < 2){ | ||||
| 	krb5_warnx(context, "Usage: merge filename"); | ||||
|     int optind = 0; | ||||
|     int help_flag = 0; | ||||
|  | ||||
|     args[0].value = &help_flag; | ||||
|  | ||||
|     if(getarg(args, num_args, argc, argv, &optind)) { | ||||
| 	usage ("merge"); | ||||
| 	return 0; | ||||
|     } | ||||
|     if(argc - optind < 2 || help_flag) { | ||||
| 	usage ("merge"); | ||||
| 	return 0; | ||||
|     } | ||||
|  | ||||
|     doit(argv[1], 1); | ||||
|     return 0; | ||||
| } | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| /* | ||||
|  * Copyright (c) 1997 Kungliga Tekniska H<>gskolan | ||||
|  * Copyright (c) 1997-2000 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
| @@ -35,16 +35,38 @@ | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| static struct getargs args[] = { | ||||
|     { "help", 'h', arg_flag, NULL } | ||||
| }; | ||||
|  | ||||
| static int num_args = sizeof(args) / sizeof(args[0]); | ||||
|  | ||||
| static void | ||||
| usage(void) | ||||
| { | ||||
|     arg_printusage (args, num_args, "rename", "from to"); | ||||
| } | ||||
|  | ||||
| int | ||||
| rename_entry(int argc, char **argv) | ||||
| { | ||||
|     int optind = 0; | ||||
|     int help_flag = 0; | ||||
|  | ||||
|     krb5_error_code ret; | ||||
|     krb5_principal princ1, princ2; | ||||
|  | ||||
|     if(argc != 3){ | ||||
| 	krb5_warnx(context, "rename source target"); | ||||
|     args[0].value = &help_flag; | ||||
|  | ||||
|     if(getarg(args, num_args, argc, argv, &optind)) { | ||||
| 	usage (); | ||||
| 	return 0; | ||||
|     } | ||||
|     if(argc - optind < 3 || help_flag) { | ||||
| 	usage (); | ||||
| 	return 0; | ||||
|     } | ||||
|  | ||||
|     ret = krb5_parse_name(context, argv[1], &princ1); | ||||
|     if(ret){ | ||||
| 	krb5_warn(context, ret, "krb5_parse_name(%s)", argv[1]); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Johan Danielsson
					Johan Danielsson