summaryrefslogtreecommitdiff
path: root/src/cli.gaa
blob: d1672177ad6e4312baecbda54675ae015ece4788 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#{

/* C declarations */

#include <config.h>
#include <common.h>

void cli_version(void);

#}

helpnode "GNU TLS test client\nUsage:  gnutls-cli [options] hostname\n\n"

#int debug;
option (d, debug) INT "integer" { $debug = $1 } "Enable debugging" 

#int resume;
option (r, resume) { $resume = 1 } "Connect, establish a session. Connect again and resume this session."

#int starttls;
option (s, starttls) { $starttls = 1 } "Connect, establish a plain session and start TLS when EOF or a SIGALRM is received."

#int crlf;
option (crlf) { $crlf = 1 } "Send CR LF instead of LF."

#int fmtder;
option (x509fmtder) { $fmtder = 1 } "Use DER format for certificates to read from."

#int fingerprint;
option (f, fingerprint) { $fingerprint = 1 } "Send the openpgp fingerprint, instead of the key."

#int disable_extensions;
option ( disable-extensions) { $disable_extensions = 1 } "Disable all the TLS extensions."

#int print_cert;
option (print-cert) { $print_cert = 1 } "Print the certificate in PEM format."

#int record_size;
option (recordsize) INT "integer" { $record_size = $1 } "The maximum record size to advertize."

#int verbose;
option (V, verbose) { $verbose = 1 } "More verbose output."

#int nciphers;
#char **ciphers;
option (ciphers) *STR "cipher1 cipher2..." { $ciphers = $1; $nciphers = @1 } "Ciphers to enable."

#int nproto;
#char **proto;
option (protocols) *STR "protocol1 protocol2..." { $proto = $1; $nproto = @1 } "Protocols to enable."

#int ncomp;
#char **comp;
option (comp) *STR "comp1 comp2..." { $comp = $1; $ncomp = @1 } "Compression methods to enable."

#int nmacs;
#char **macs;
option (macs) *STR "mac1 mac2..." { $macs = $1; $nmacs = @1 } "MACs to enable."

#int nkx;
#char **kx;
option (kx) *STR "kx1 kx2..." { $kx = $1; $nkx = @1 } "Key exchange methods to enable."

#int nctype;
#char **ctype;
option (ctypes) *STR "certType1 certType2..." { $ctype = $1; $nctype = @1 } "Certificate types to enable."

#char *priorities;
option (priority) STR "PRIORITY STRING" { $priorities = $1 } "Priorities string."

#char *x509_cafile;
option (x509cafile) STR "FILE" { $x509_cafile = $1 } "Certificate file to use."

#char *x509_crlfile;
option (x509crlfile) STR "FILE" { $x509_crlfile = $1 } "CRL file to use."

#char *pgp_keyfile;
option (pgpkeyfile) STR "FILE" { $pgp_keyfile = $1 } "PGP Key file to use."

#char *pgp_keyring;
option (pgpkeyring) STR "FILE" { $pgp_keyring = $1 } "PGP Key ring file to use."

#char *pgp_certfile;
option (pgpcertfile) STR "FILE" { $pgp_certfile = $1 } "PGP Public Key (certificate) file to use."

#char *pgp_subkey;
option (pgpsubkey) STR "HEX|auto" { $pgp_subkey = $1 } "PGP subkey to use."

#char *x509_keyfile;
option (x509keyfile) STR "FILE" { $x509_keyfile = $1 } "X.509 key file to use."

#char *x509_certfile;
option (x509certfile) STR "FILE" { $x509_certfile = $1 } "X.509 Certificate file to use."

#char *srp_username;
option (srpusername) STR "NAME" { $srp_username = $1 } "SRP username to use."

#char *srp_passwd;
option (srppasswd) STR "PASSWD" { $srp_passwd = $1 } "SRP password to use."

#char *psk_username;
option (pskusername) STR "NAME" { $psk_username = $1 } "PSK username to use."

#char *psk_key;
option (pskkey) STR "KEY" { $psk_key = $1 } "PSK key (in hex) to use."

#char *opaque_prf_input;
option (opaque-prf-input) STR "DATA" { $opaque_prf_input = $1 } "Use Opaque PRF Input DATA."

#char *port;
option (p, port) STR "PORT" { $port = $1 } "The port to connect to."

#int insecure;
option (insecure) { $insecure = 1 } "Don't abort program if server certificate can't be validated."

option (l, list) { print_list($verbose); exit(0); } "Print a list of the supported algorithms and modes."
option (h, help) { gaa_help(); exit(0); } "prints this help"

option (v, version) { cli_version(); exit(0); } "prints the program's version number"

#char *rest_args;
rest STR "hostname" { $rest_args = $1; }

init { $resume=0; $port="443"; $rest_args=NULL; $ciphers=NULL;
	$kx=NULL; $comp=NULL; $macs=NULL; $ctype=NULL; $nciphers=0;
	$nkx=0; $ncomp=0; $nmacs=0; $nctype = 0; $record_size=0; 
	$fingerprint=0; $pgp_keyring=NULL; $x509_crlfile = NULL;
	$x509_cafile = NULL; $pgp_keyfile=NULL; $pgp_certfile=NULL; $disable_extensions = 0;
	$x509_keyfile=NULL; $x509_certfile=NULL; $crlf = 0; 
	$srp_username=NULL; $srp_passwd=NULL; $fmtder = 0; $starttls =0; 
	$debug = 0; $print_cert = 0; $verbose = 0; $psk_key = NULL; 
	$psk_username = NULL; $priorities = NULL;
	$opaque_prf_input = NULL; $pgp_subkey = NULL; }