1 |
|
/* |
2 |
< |
* Copyright (c) 1997-2004 Kungliga Tekniska Högskolan |
3 |
< |
* (Royal Institute of Technology, Stockholm, Sweden). |
4 |
< |
* All rights reserved. |
2 |
> |
* Copyright (c) 1997-2004 Kungliga Tekniska Högskolan |
3 |
> |
* (Royal Institute of Technology, Stockholm, Sweden). |
4 |
> |
* All rights reserved. |
5 |
|
* |
6 |
< |
* Redistribution and use in source and binary forms, with or without |
7 |
< |
* modification, are permitted provided that the following conditions |
8 |
< |
* are met: |
6 |
> |
* Redistribution and use in source and binary forms, with or without |
7 |
> |
* modification, are permitted provided that the following conditions |
8 |
> |
* are met: |
9 |
|
* |
10 |
< |
* 1. Redistributions of source code must retain the above copyright |
11 |
< |
* notice, this list of conditions and the following disclaimer. |
10 |
> |
* 1. Redistributions of source code must retain the above copyright |
11 |
> |
* notice, this list of conditions and the following disclaimer. |
12 |
|
* |
13 |
< |
* 2. Redistributions in binary form must reproduce the above copyright |
14 |
< |
* notice, this list of conditions and the following disclaimer in the |
15 |
< |
* documentation and/or other materials provided with the distribution. |
13 |
> |
* 2. Redistributions in binary form must reproduce the above copyright |
14 |
> |
* notice, this list of conditions and the following disclaimer in the |
15 |
> |
* documentation and/or other materials provided with the distribution. |
16 |
|
* |
17 |
< |
* 3. Neither the name of the Institute nor the names of its contributors |
18 |
< |
* may be used to endorse or promote products derived from this software |
19 |
< |
* without specific prior written permission. |
17 |
> |
* 3. Neither the name of the Institute nor the names of its contributors |
18 |
> |
* may be used to endorse or promote products derived from this software |
19 |
> |
* without specific prior written permission. |
20 |
|
* |
21 |
< |
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND |
22 |
< |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
23 |
< |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
24 |
< |
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE |
25 |
< |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
26 |
< |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
27 |
< |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
28 |
< |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
29 |
< |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
30 |
< |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
31 |
< |
* SUCH DAMAGE. |
21 |
> |
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND |
22 |
> |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
23 |
> |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
24 |
> |
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE |
25 |
> |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
26 |
> |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
27 |
> |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
28 |
> |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
29 |
> |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
30 |
> |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
31 |
> |
* SUCH DAMAGE. |
32 |
|
*/ |
33 |
|
|
34 |
|
#include "ktutil_locl.h" |
35 |
|
#include <err.h> |
36 |
|
|
37 |
< |
RCSID("$Id: ktutil.c,v 1.1.1.3 2012-07-21 15:09:09 laffer1 Exp $"); |
37 |
> |
RCSID("$Id$"); |
38 |
|
|
39 |
|
static int help_flag; |
40 |
|
static int version_flag; |
41 |
|
int verbose_flag; |
42 |
< |
char *keytab_string; |
42 |
> |
char *keytab_string; |
43 |
|
static char keytab_buf[256]; |
44 |
|
|
45 |
|
static struct getargs args[] = { |
46 |
< |
{ |
46 |
> |
{ |
47 |
|
"version", |
48 |
|
0, |
49 |
|
arg_flag, |
50 |
|
&version_flag, |
51 |
|
NULL, |
52 |
< |
NULL |
52 |
> |
NULL |
53 |
|
}, |
54 |
< |
{ |
55 |
< |
"help", |
56 |
< |
'h', |
57 |
< |
arg_flag, |
58 |
< |
&help_flag, |
59 |
< |
NULL, |
54 |
> |
{ |
55 |
> |
"help", |
56 |
> |
'h', |
57 |
> |
arg_flag, |
58 |
> |
&help_flag, |
59 |
> |
NULL, |
60 |
|
NULL |
61 |
|
}, |
62 |
< |
{ |
63 |
< |
"keytab", |
64 |
< |
'k', |
65 |
< |
arg_string, |
66 |
< |
&keytab_string, |
67 |
< |
"keytab", |
68 |
< |
"keytab to operate on" |
62 |
> |
{ |
63 |
> |
"keytab", |
64 |
> |
'k', |
65 |
> |
arg_string, |
66 |
> |
&keytab_string, |
67 |
> |
"keytab", |
68 |
> |
"keytab to operate on" |
69 |
|
}, |
70 |
|
{ |
71 |
|
"verbose", |
101 |
|
} |
102 |
|
if (verbose_flag) |
103 |
|
fprintf (stderr, "Using keytab %s\n", keytab_string); |
104 |
< |
|
104 |
> |
|
105 |
|
return keytab; |
106 |
|
} |
107 |
|
|
118 |
|
argv[0]); |
119 |
|
} else { |
120 |
|
if(c->func) { |
121 |
< |
char *fake[] = { NULL, "--help", NULL }; |
121 |
> |
char shelp[] = "--help"; |
122 |
> |
char *fake[3]; |
123 |
|
fake[0] = argv[0]; |
124 |
+ |
fake[1] = shelp; |
125 |
+ |
fake[2] = NULL; |
126 |
|
(*c->func)(2, fake); |
127 |
|
fprintf(stderr, "\n"); |
128 |
|
} |