1/*
2 * Copyright (c) 2010 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:
9 *
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.
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.
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.
32 */
33
34command = {
35	name = "klist"
36	name = "list"
37	help = "List kerberos tickets"
38	option = {
39		long = "cache"
40		short = "c"
41		type = "string"
42		help = "credential cache to list"
43	}
44	option = {
45		name = "flags"
46		short = "f"
47		type = "flag"
48		help = "list flags"
49	}
50	option = {
51		long = "test"
52		short = "t"
53		type = "flag"
54		help = "test for having tickets"
55	}
56	option = {
57		name = "s"
58		short = "s"
59		type = "flag"
60	}
61	option = {
62		long = "tokens"
63		short = "T"
64		type = "flag"
65		help = "display AFS tokens"
66	}
67	option = {
68		long = "v5"
69		short = "5"
70		type = "flag"
71		default = "1"
72		help = "display v5 credential tokens"
73	}
74	option = {
75		long = "all-content"
76		short = "A"
77		type = "flag"
78		help = "List all caches with their content"
79	}
80	option = {
81		long = "list-all"
82		short = "l"
83		type = "flag"
84		help = "List all caches"
85	}
86	option = {
87		long = "verbose"
88		short = "v"
89		type = "flag"
90		help = "Verbose output"
91	}
92	option = {
93		long = "json"
94		type = "flag"
95		help = "JSON formated output"
96	}
97	option = {
98		name = "a"
99		short = "a"
100		type = "flag"
101	}
102	option = {
103		name = "n"
104		short = "n"
105		type = "flag"
106	}
107	option = {
108		long = "hidden"
109		type = "flag"
110		help = "Verbose output"
111	}
112	option = {
113		long = "version"
114		type = "flag"
115	}
116}
117command = {
118	name = "kgetcred"
119	help = "Acquire a Kerberos ticket"
120	option = {
121	       long = "enctype"
122	       short = "e"
123	       type = "string"
124	       argument = "enctype"
125	       help = "Encryption type to use"
126	}
127	option = {
128	       long = "cache"
129	       short = "c"
130	       type = "string"
131	       argument = "cachename"
132	       help = "Credentials cache"
133	}
134	option = {
135		long = "version"
136		type = "flag"
137	}
138}
139command = {
140	name = "kswitch"
141	name = "switch"
142	help = "Switch default kerberos cache"
143	option = {
144		long = "type"
145		short = "t"
146		type = "string"
147		help = "type of credential cache"
148	}
149	option = {
150		long = "cache"
151		short = "c"
152		type = "string"
153		help = "name of credential cache"
154	}
155	option = {
156		long = "principal"
157		short = "p"
158		type = "string"
159		help = "name of principal"
160	}
161	option = {
162		long = "interactive"
163		short = "i"
164		type = "flag"
165		help = "interactive selection"
166	}
167	option = {
168		long = "version"
169		type = "flag"
170	}
171};
172command = {
173	name = "kvno"
174	help = "Acquire a Kerberos ticket"
175	option = {
176	       long = "enctype"
177	       short = "e"
178	       type = "string"
179	       argument = "enctype"
180	       help = "Encryption type to use"
181	}
182	option = {
183	       long = "cache"
184	       short = "c"
185	       type = "string"
186	       argument = "cachename"
187	       help = "Credentials cache"
188	}
189	option = {
190	       long = "keytab"
191	       short = "k"
192	       type = "string"
193	       argument = "keytabname"
194	       help = "Keytab to use"
195	}
196	option = {
197	       long = "server"
198	       short = "S"
199	       type = "string"
200	       argument = "principal"
201	       help = "Server to get ticket for"
202	}
203	option = {
204	       long = "quiet"
205	       short = "q"
206	       type = "flag"
207	       help = "Quiet"
208	}
209	option = {
210		long = "version"
211		type = "flag"
212	}
213}
214command = {
215	name = "kdc"
216	option = {
217	       long = "json"
218	       type = "flag"
219	       help = "format output in json"
220	}
221	option = {
222	       long = "type"
223	       type = "string"
224	       help = "type to fetch (kdc|kpasswd|kadmin|kkdcp)"
225	}
226	argument = "realm..."
227	min_args = "1"
228	help = "Print the KDC the client will try for a specific realms"
229}
230command = {
231	name = "copy_cred_cache"
232	option = {
233	       long = "krbtgt-only"
234	       type = "flag"
235	       help = "only copy local krbtgt"
236	}
237	option = {
238	       long = "service"
239	       type = "string"
240	       help = "limit to this service"
241	       argument = "service"
242	}
243	option = {
244	       long = "enctype"
245	       type = "string"
246	       help = "limit to this enctype"
247	       argument = "enctype"
248	}
249	option = {
250	       long = "flags"
251	       type = "string"
252	       help = "limit to these flags"
253	}
254	option = {
255	       long = "valid-for"
256	       type = "string"
257	       help = "limit to creds valid for at least this long"
258	       argument =  "time"
259	}
260	option = {
261	       long = "fcache-version"
262	       type = "integer"
263	       help = "file cache version to create"
264	}
265	option = {
266		long = "version"
267		type = "flag"
268	}
269	min_args = "1"
270	max_args = "2"
271	help = "Copies credential caches"
272}
273command = {
274	name = "help"
275	name = "?"
276	argument = "[command]"
277	min_args = "0"
278	max_args = "1"
279	help = "Help! I need somebody."
280}
281