Blame src/cli-debug-args.def

Packit aea12f
AutoGen Definitions options;
Packit aea12f
prog-name     = gnutls-cli-debug;
Packit aea12f
prog-title    = "GnuTLS debug client";
Packit aea12f
prog-desc     = "Simple client program to check TLS server capabilities.";
Packit aea12f
short-usage   = "Usage: gnutls-cli-debug [options] hostname\n"
Packit aea12f
                "gnutls-cli --help for usage instructions.\n";
Packit aea12f
explain       = "";
Packit aea12f
detail        = "TLS debug client. It sets up multiple TLS connections to 
Packit aea12f
a server and queries its capabilities. It was created to assist in debugging 
Packit aea12f
GnuTLS, but it might be useful to extract a TLS server's capabilities.
Packit aea12f
It connects to a TLS server, performs tests and print the server's 
Packit aea12f
capabilities. If called with the `-V' parameter more checks will be performed.
Packit aea12f
Can be used to check for servers with special needs or bugs.";
Packit aea12f
reorder-args;
Packit aea12f
argument;
Packit aea12f
Packit aea12f
#define  VERBOSE_OPT 1
Packit aea12f
#include args-std.def
Packit aea12f
Packit aea12f
flag = {
Packit aea12f
    name      = port;
Packit aea12f
    value     = p;
Packit aea12f
    arg-type  = number;
Packit aea12f
    arg-range = "0 -> 65536";
Packit aea12f
    descrip   = "The port to connect to";
Packit aea12f
    doc      = "";
Packit aea12f
};
Packit aea12f
Packit aea12f
flag = {
Packit aea12f
    name      = app-proto;
Packit aea12f
    aliases   = starttls-proto;
Packit aea12f
};
Packit aea12f
Packit aea12f
flag = {
Packit aea12f
    name      = starttls-proto;
Packit aea12f
    arg-type  = string;
Packit aea12f
    descrip   = "The application protocol to be used to obtain the server's certificate (https, ftp, smtp, imap, ldap, xmpp, lmtp, pop3, nntp, sieve, postgres)";
Packit aea12f
    doc      = "Specify the application layer protocol for STARTTLS. If the protocol is supported, gnutls-cli will proceed to the TLS negotiation.";
Packit aea12f
};
Packit aea12f
Packit aea12f
Packit aea12f
doc-section = {
Packit aea12f
  ds-type   = 'SEE ALSO'; // or anything else
Packit aea12f
  ds-format = 'texi';      // or texi or mdoc format
Packit aea12f
  ds-text   = <<-_EOText_
Packit aea12f
gnutls-cli(1), gnutls-serv(1)
Packit aea12f
_EOText_;
Packit aea12f
};
Packit aea12f
Packit aea12f
doc-section = {
Packit aea12f
  ds-type = 'EXAMPLES';
Packit aea12f
  ds-format = 'texi';
Packit aea12f
  ds-text   = <<-_EOF_
Packit aea12f
@example
Packit aea12f
$ gnutls-cli-debug localhost
Packit aea12f
GnuTLS debug client 3.5.0
Packit aea12f
Checking localhost:443
Packit aea12f
                             for SSL 3.0 (RFC6101) support... yes
Packit aea12f
                        whether we need to disable TLS 1.2... no
Packit aea12f
                        whether we need to disable TLS 1.1... no
Packit aea12f
                        whether we need to disable TLS 1.0... no
Packit aea12f
                        whether %NO_EXTENSIONS is required... no
Packit aea12f
                               whether %COMPAT is required... no
Packit aea12f
                             for TLS 1.0 (RFC2246) support... yes
Packit aea12f
                             for TLS 1.1 (RFC4346) support... yes
Packit aea12f
                             for TLS 1.2 (RFC5246) support... yes
Packit aea12f
                                  fallback from TLS 1.6 to... TLS1.2
Packit aea12f
                        for RFC7507 inappropriate fallback... yes
Packit aea12f
                                     for HTTPS server name... Local
Packit aea12f
                               for certificate chain order... sorted
Packit aea12f
                  for safe renegotiation (RFC5746) support... yes
Packit aea12f
                     for Safe renegotiation support (SCSV)... no
Packit aea12f
                    for encrypt-then-MAC (RFC7366) support... no
Packit aea12f
                   for ext master secret (RFC7627) support... no
Packit aea12f
                           for heartbeat (RFC6520) support... no
Packit aea12f
                       for version rollback bug in RSA PMS... dunno
Packit aea12f
                  for version rollback bug in Client Hello... no
Packit aea12f
            whether the server ignores the RSA PMS version... yes
Packit aea12f
whether small records (512 bytes) are tolerated on handshake... yes
Packit aea12f
    whether cipher suites not in SSL 3.0 spec are accepted... yes
Packit aea12f
whether a bogus TLS record version in the client hello is accepted... yes
Packit aea12f
         whether the server understands TLS closure alerts... partially
Packit aea12f
            whether the server supports session resumption... yes
Packit aea12f
                      for anonymous authentication support... no
Packit aea12f
                      for ephemeral Diffie-Hellman support... no
Packit aea12f
                   for ephemeral EC Diffie-Hellman support... yes
Packit aea12f
                    ephemeral EC Diffie-Hellman group info... SECP256R1
Packit aea12f
                  for AES-128-GCM cipher (RFC5288) support... yes
Packit aea12f
                  for AES-128-CCM cipher (RFC6655) support... no
Packit aea12f
                for AES-128-CCM-8 cipher (RFC6655) support... no
Packit aea12f
                  for AES-128-CBC cipher (RFC3268) support... yes
Packit aea12f
             for CAMELLIA-128-GCM cipher (RFC6367) support... no
Packit aea12f
             for CAMELLIA-128-CBC cipher (RFC5932) support... no
Packit aea12f
                     for 3DES-CBC cipher (RFC2246) support... yes
Packit aea12f
                  for ARCFOUR 128 cipher (RFC2246) support... yes
Packit aea12f
                                       for MD5 MAC support... yes
Packit aea12f
                                      for SHA1 MAC support... yes
Packit aea12f
                                    for SHA256 MAC support... yes
Packit aea12f
                              for ZLIB compression support... no
Packit aea12f
                     for max record size (RFC6066) support... no
Packit aea12f
                for OCSP status response (RFC6066) support... no
Packit aea12f
              for OpenPGP authentication (RFC6091) support... no
Packit aea12f
@end example
Packit aea12f
Packit aea12f
You could also use the client to debug services with starttls capability.
Packit aea12f
@example
Packit aea12f
$ gnutls-cli-debug --starttls-proto smtp --port 25 localhost
Packit aea12f
@end example
Packit aea12f
Packit aea12f
_EOF_;
Packit aea12f
};
Packit aea12f