charon-cmd: Properly initialize options with no additional lines
[strongswan.git] / src / charon-cmd / cmd / cmd_options.c
1 /*
2 * Copyright (C) 2013 Martin Willi
3 * Copyright (C) 2013 revosec AG
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * for more details.
14 */
15
16 #include "cmd_options.h"
17
18 #include <getopt.h>
19
20 /**
21 * See header.
22 */
23 cmd_option_t cmd_options[CMD_OPT_COUNT] = {
24 { CMD_OPT_HELP, "help", no_argument, "",
25 "print this usage information and exit", {}},
26 { CMD_OPT_VERSION, "version", no_argument, "",
27 "show version information and exit", {}},
28 { CMD_OPT_HOST, "host", required_argument, "hostname",
29 "DNS name or address to connect to", {}},
30 { CMD_OPT_IDENTITY, "identity", required_argument, "identity",
31 "identity the client uses for the IKE exchange", {}},
32 { CMD_OPT_REMOTE_IDENTITY, "remote-identity", required_argument, "identity",
33 "server identity to expect, defaults to host", {}},
34 { CMD_OPT_CERT, "cert", required_argument, "path",
35 "trusted certificate, for authentication or trust chain validation", {}},
36 { CMD_OPT_RSA, "rsa", required_argument, "path",
37 "RSA private key to use for authentication", {}},
38 { CMD_OPT_AGENT, "agent", no_argument, "",
39 "use SSH agent for authentication", {}},
40 { CMD_OPT_LOCAL_TS, "local-ts", required_argument, "subnet",
41 "additional traffic selector to propose for our side", {}},
42 { CMD_OPT_REMOTE_TS, "remote-ts", required_argument, "subnet",
43 "remote traffic selector to propose for remote side", {}},
44 { CMD_OPT_PROFILE, "profile", required_argument, "name",
45 "authentication profile to use, where name is one of:", {
46 "ikev2-pub: IKEv2 with public key client authentication",
47 "ikev2-eap: IKEv2 with client EAP",
48 "ikev2-pub-eap: IKEv2 with public key client authentication + client EAP",
49 "ikev1-pub: IKEv1 public key authentication",
50 "ikev1-xauth: IKEv1 public key authentication + initiator XAuth",
51 "ikev1-xauth-psk: IKEv1 PSK authentication + initiator XAuth (INSECURE!)",
52 "ikev1-hybrid: IKEv1 public key responder only + initiator XAuth",
53 }},
54 };