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).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -41,12 +41,39 @@ do_del_entry(krb5_principal principal, void *data)
|
|||||||
return kadm5_delete_principal(kadm_handle, principal);
|
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
|
int
|
||||||
del_entry(int argc, char **argv)
|
del_entry(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
int optind = 0;
|
||||||
|
int help_flag = 0;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
krb5_error_code ret;
|
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++)
|
for(i = 1; i < argc; i++)
|
||||||
ret = foreach_principal(argv[i], do_del_entry, NULL);
|
ret = foreach_principal(argv[i], do_del_entry, NULL);
|
||||||
return 0;
|
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).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -35,19 +35,29 @@
|
|||||||
|
|
||||||
RCSID("$Id$");
|
RCSID("$Id$");
|
||||||
|
|
||||||
static void
|
|
||||||
usage(void)
|
|
||||||
{
|
|
||||||
fprintf (stderr, "Usage: del_enctype principal enctypes...\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* del_enctype principal enctypes...
|
* 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
|
int
|
||||||
del_enctype(int argc, char **argv)
|
del_enctype(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
int optind = 0;
|
||||||
|
int help_flag = 0;
|
||||||
|
|
||||||
kadm5_principal_ent_rec princ;
|
kadm5_principal_ent_rec princ;
|
||||||
krb5_principal princ_ent = NULL;
|
krb5_principal princ_ent = NULL;
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
@@ -57,7 +67,13 @@ del_enctype(int argc, char **argv)
|
|||||||
int n_etypes;
|
int n_etypes;
|
||||||
krb5_enctype *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 ();
|
usage ();
|
||||||
return 0;
|
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).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -469,13 +469,38 @@ doit(const char *filename, int merge)
|
|||||||
return 0;
|
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
|
int
|
||||||
load(int argc, char **argv)
|
load(int argc, char **argv)
|
||||||
{
|
{
|
||||||
if(argc < 2){
|
int optind = 0;
|
||||||
krb5_warnx(context, "Usage: load filename");
|
int help_flag = 0;
|
||||||
|
|
||||||
|
args[0].value = &help_flag;
|
||||||
|
|
||||||
|
if(getarg(args, num_args, argc, argv, &optind)) {
|
||||||
|
usage ("load");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if(argc - optind < 2 || help_flag) {
|
||||||
|
usage ("load");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
doit(argv[1], 0);
|
doit(argv[1], 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -483,10 +508,20 @@ load(int argc, char **argv)
|
|||||||
int
|
int
|
||||||
merge(int argc, char **argv)
|
merge(int argc, char **argv)
|
||||||
{
|
{
|
||||||
if(argc < 2){
|
int optind = 0;
|
||||||
krb5_warnx(context, "Usage: merge filename");
|
int help_flag = 0;
|
||||||
|
|
||||||
|
args[0].value = &help_flag;
|
||||||
|
|
||||||
|
if(getarg(args, num_args, argc, argv, &optind)) {
|
||||||
|
usage ("merge");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if(argc - optind < 2 || help_flag) {
|
||||||
|
usage ("merge");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
doit(argv[1], 1);
|
doit(argv[1], 1);
|
||||||
return 0;
|
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).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -35,16 +35,38 @@
|
|||||||
|
|
||||||
RCSID("$Id$");
|
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
|
int
|
||||||
rename_entry(int argc, char **argv)
|
rename_entry(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
int optind = 0;
|
||||||
|
int help_flag = 0;
|
||||||
|
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
krb5_principal princ1, princ2;
|
krb5_principal princ1, princ2;
|
||||||
|
|
||||||
if(argc != 3){
|
args[0].value = &help_flag;
|
||||||
krb5_warnx(context, "rename source target");
|
|
||||||
|
if(getarg(args, num_args, argc, argv, &optind)) {
|
||||||
|
usage ();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if(argc - optind < 3 || help_flag) {
|
||||||
|
usage ();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
ret = krb5_parse_name(context, argv[1], &princ1);
|
ret = krb5_parse_name(context, argv[1], &princ1);
|
||||||
if(ret){
|
if(ret){
|
||||||
krb5_warn(context, ret, "krb5_parse_name(%s)", argv[1]);
|
krb5_warn(context, ret, "krb5_parse_name(%s)", argv[1]);
|
||||||
|
Reference in New Issue
Block a user